hotfix
This commit is contained in:
10
.gitignore
vendored
10
.gitignore
vendored
@@ -1,11 +1,11 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
build/
|
build/
|
||||||
|
|
||||||
# OAuth secrets
|
# OAuth secrets (inside accountsAndCredentials/, example files are NOT ignored)
|
||||||
credentials.json
|
accountsAndCredentials/credentials.json
|
||||||
credentials.*
|
accountsAndCredentials/accounts.json
|
||||||
token*.json
|
accountsAndCredentials/token*.json
|
||||||
accounts.json
|
!accountsAndCredentials/*.example.json
|
||||||
|
|
||||||
# Runtime output
|
# Runtime output
|
||||||
mailSummaries/
|
mailSummaries/
|
||||||
|
|||||||
11
accountsAndCredentials/credentials.example.json
Normal file
11
accountsAndCredentials/credentials.example.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"installed": {
|
||||||
|
"client_id": "",
|
||||||
|
"project_id": "",
|
||||||
|
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
|
||||||
|
"token_uri": "https://oauth2.googleapis.com/token",
|
||||||
|
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
|
||||||
|
"client_secret": "",
|
||||||
|
"redirect_uris": ["http://localhost"]
|
||||||
|
}
|
||||||
|
}
|
||||||
7
accountsAndCredentials/token.example.json
Normal file
7
accountsAndCredentials/token.example.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"access_token": "",
|
||||||
|
"refresh_token": "",
|
||||||
|
"scope": "https://www.googleapis.com/auth/spreadsheets https://www.googleapis.com/auth/gmail.modify https://www.googleapis.com/auth/calendar.events",
|
||||||
|
"token_type": "Bearer",
|
||||||
|
"expiry_date": 0
|
||||||
|
}
|
||||||
@@ -5,8 +5,9 @@ import readline from "readline";
|
|||||||
|
|
||||||
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
||||||
const PROJECT_ROOT = path.resolve(__dirname, "..");
|
const PROJECT_ROOT = path.resolve(__dirname, "..");
|
||||||
const CREDENTIALS_PATH = path.join(PROJECT_ROOT, "credentials.json");
|
const SECRETS_DIR = path.join(PROJECT_ROOT, "accountsAndCredentials");
|
||||||
const ACCOUNTS_PATH = path.join(PROJECT_ROOT, "accounts.json");
|
const CREDENTIALS_PATH = path.join(SECRETS_DIR, "credentials.json");
|
||||||
|
const ACCOUNTS_PATH = path.join(SECRETS_DIR, "accounts.json");
|
||||||
|
|
||||||
const SCOPES = [
|
const SCOPES = [
|
||||||
"https://www.googleapis.com/auth/gmail.modify",
|
"https://www.googleapis.com/auth/gmail.modify",
|
||||||
@@ -26,7 +27,7 @@ function resolveTokenPath(accountKey: string): string {
|
|||||||
`Unknown account "${accountKey}". Available: ${available}`
|
`Unknown account "${accountKey}". Available: ${available}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return path.join(PROJECT_ROOT, acct.tokenFile);
|
return path.join(SECRETS_DIR, acct.tokenFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function authorize(): Promise<void> {
|
async function authorize(): Promise<void> {
|
||||||
@@ -44,7 +45,7 @@ async function authorize(): Promise<void> {
|
|||||||
"1. Go to https://console.cloud.google.com/\n" +
|
"1. Go to https://console.cloud.google.com/\n" +
|
||||||
"2. Create a project and enable the Gmail, Sheets, and Calendar APIs\n" +
|
"2. Create a project and enable the Gmail, Sheets, and Calendar APIs\n" +
|
||||||
"3. Create OAuth 2.0 credentials (Desktop app type)\n" +
|
"3. Create OAuth 2.0 credentials (Desktop app type)\n" +
|
||||||
"4. Download the JSON and save it as credentials.json in the project root\n"
|
"4. Download the JSON and save it as credentials.json in the accountsAndCredentials/ folder\n"
|
||||||
);
|
);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,9 @@ import path from "path";
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
||||||
export const PROJECT_ROOT = path.resolve(__dirname, "..", "..");
|
export const PROJECT_ROOT = path.resolve(__dirname, "..", "..");
|
||||||
const CREDENTIALS_PATH = path.join(PROJECT_ROOT, "credentials.json");
|
const SECRETS_DIR = path.join(PROJECT_ROOT, "accountsAndCredentials");
|
||||||
const ACCOUNTS_PATH = path.join(PROJECT_ROOT, "accounts.json");
|
const CREDENTIALS_PATH = path.join(SECRETS_DIR, "credentials.json");
|
||||||
|
const ACCOUNTS_PATH = path.join(SECRETS_DIR, "accounts.json");
|
||||||
const CLASSIFY_PROMPT_PATH = path.join(PROJECT_ROOT, "classify-emails.txt");
|
const CLASSIFY_PROMPT_PATH = path.join(PROJECT_ROOT, "classify-emails.txt");
|
||||||
const ACTION_PROMPT_PATH = path.join(
|
const ACTION_PROMPT_PATH = path.join(
|
||||||
PROJECT_ROOT, "src", "prompts", "take-action-on-emails.txt"
|
PROJECT_ROOT, "src", "prompts", "take-action-on-emails.txt"
|
||||||
@@ -46,7 +47,7 @@ export const getTokenPath = (account: string): string => {
|
|||||||
`Unknown account "${account}". Available accounts: ${available}`
|
`Unknown account "${account}". Available accounts: ${available}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return path.join(PROJECT_ROOT, acct.tokenFile);
|
return path.join(SECRETS_DIR, acct.tokenFile);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getSummaryPath = (account: string): string => {
|
export const getSummaryPath = (account: string): string => {
|
||||||
|
|||||||
Reference in New Issue
Block a user