hotfix
This commit is contained in:
10
.gitignore
vendored
10
.gitignore
vendored
@@ -1,11 +1,11 @@
|
||||
node_modules/
|
||||
build/
|
||||
|
||||
# OAuth secrets
|
||||
credentials.json
|
||||
credentials.*
|
||||
token*.json
|
||||
accounts.json
|
||||
# OAuth secrets (inside accountsAndCredentials/, example files are NOT ignored)
|
||||
accountsAndCredentials/credentials.json
|
||||
accountsAndCredentials/accounts.json
|
||||
accountsAndCredentials/token*.json
|
||||
!accountsAndCredentials/*.example.json
|
||||
|
||||
# Runtime output
|
||||
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 PROJECT_ROOT = path.resolve(__dirname, "..");
|
||||
const CREDENTIALS_PATH = path.join(PROJECT_ROOT, "credentials.json");
|
||||
const ACCOUNTS_PATH = path.join(PROJECT_ROOT, "accounts.json");
|
||||
const SECRETS_DIR = path.join(PROJECT_ROOT, "accountsAndCredentials");
|
||||
const CREDENTIALS_PATH = path.join(SECRETS_DIR, "credentials.json");
|
||||
const ACCOUNTS_PATH = path.join(SECRETS_DIR, "accounts.json");
|
||||
|
||||
const SCOPES = [
|
||||
"https://www.googleapis.com/auth/gmail.modify",
|
||||
@@ -26,7 +27,7 @@ function resolveTokenPath(accountKey: string): string {
|
||||
`Unknown account "${accountKey}". Available: ${available}`
|
||||
);
|
||||
}
|
||||
return path.join(PROJECT_ROOT, acct.tokenFile);
|
||||
return path.join(SECRETS_DIR, acct.tokenFile);
|
||||
}
|
||||
|
||||
async function authorize(): Promise<void> {
|
||||
@@ -44,7 +45,7 @@ async function authorize(): Promise<void> {
|
||||
"1. Go to https://console.cloud.google.com/\n" +
|
||||
"2. Create a project and enable the Gmail, Sheets, and Calendar APIs\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);
|
||||
}
|
||||
|
||||
@@ -9,8 +9,9 @@ import path from "path";
|
||||
// ---------------------------------------------------------------------------
|
||||
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
||||
export const PROJECT_ROOT = path.resolve(__dirname, "..", "..");
|
||||
const CREDENTIALS_PATH = path.join(PROJECT_ROOT, "credentials.json");
|
||||
const ACCOUNTS_PATH = path.join(PROJECT_ROOT, "accounts.json");
|
||||
const SECRETS_DIR = path.join(PROJECT_ROOT, "accountsAndCredentials");
|
||||
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 ACTION_PROMPT_PATH = path.join(
|
||||
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}`
|
||||
);
|
||||
}
|
||||
return path.join(PROJECT_ROOT, acct.tokenFile);
|
||||
return path.join(SECRETS_DIR, acct.tokenFile);
|
||||
};
|
||||
|
||||
export const getSummaryPath = (account: string): string => {
|
||||
|
||||
Reference in New Issue
Block a user