latchkey 1.0.1 → 2.0.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.
- package/README.md +27 -7
- package/dist/integrations/SKILL.md +9 -2
- package/dist/package.json +1 -1
- package/dist/src/apiCredentialStore.d.ts +1 -1
- package/dist/src/apiCredentialStore.d.ts.map +1 -1
- package/dist/src/apiCredentialStore.js +1 -1
- package/dist/src/apiCredentialStore.js.map +1 -1
- package/dist/src/apiCredentials.d.ts +11 -114
- package/dist/src/apiCredentials.d.ts.map +1 -1
- package/dist/src/apiCredentials.js +9 -101
- package/dist/src/apiCredentials.js.map +1 -1
- package/dist/src/apiCredentialsSerialization.d.ts +119 -0
- package/dist/src/apiCredentialsSerialization.d.ts.map +1 -0
- package/dist/src/apiCredentialsSerialization.js +90 -0
- package/dist/src/apiCredentialsSerialization.js.map +1 -0
- package/dist/src/browserConfig.d.ts +1 -5
- package/dist/src/browserConfig.d.ts.map +1 -1
- package/dist/src/browserConfig.js +2 -8
- package/dist/src/browserConfig.js.map +1 -1
- package/dist/src/cli.js +20 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/cliCommands.d.ts +0 -1
- package/dist/src/cliCommands.d.ts.map +1 -1
- package/dist/src/cliCommands.js +50 -40
- package/dist/src/cliCommands.js.map +1 -1
- package/dist/src/config.d.ts +4 -3
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +17 -23
- package/dist/src/config.js.map +1 -1
- package/dist/src/curl.d.ts +10 -0
- package/dist/src/curl.d.ts.map +1 -1
- package/dist/src/curl.js +88 -0
- package/dist/src/curl.js.map +1 -1
- package/dist/src/encryptedStorage.d.ts +9 -0
- package/dist/src/encryptedStorage.d.ts.map +1 -1
- package/dist/src/encryptedStorage.js +12 -0
- package/dist/src/encryptedStorage.js.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/migrations.d.ts +9 -0
- package/dist/src/migrations.d.ts.map +1 -0
- package/dist/src/migrations.js +77 -0
- package/dist/src/migrations.js.map +1 -0
- package/dist/src/oauthUtils.d.ts +4 -1
- package/dist/src/oauthUtils.d.ts.map +1 -1
- package/dist/src/oauthUtils.js.map +1 -1
- package/dist/src/playwrightUtils.d.ts +2 -2
- package/dist/src/playwrightUtils.d.ts.map +1 -1
- package/dist/src/playwrightUtils.js +4 -4
- package/dist/src/playwrightUtils.js.map +1 -1
- package/dist/src/registry.d.ts.map +1 -1
- package/dist/src/registry.js +18 -2
- package/dist/src/registry.js.map +1 -1
- package/dist/src/services/aws.d.ts +44 -0
- package/dist/src/services/aws.d.ts.map +1 -0
- package/dist/src/services/aws.js +237 -0
- package/dist/src/services/aws.js.map +1 -0
- package/dist/src/services/base.d.ts +14 -0
- package/dist/src/services/base.d.ts.map +1 -1
- package/dist/src/services/base.js +23 -11
- package/dist/src/services/base.js.map +1 -1
- package/dist/src/services/calendly.d.ts +12 -0
- package/dist/src/services/calendly.d.ts.map +1 -0
- package/dist/src/services/calendly.js +18 -0
- package/dist/src/services/calendly.js.map +1 -0
- package/dist/src/services/discord.d.ts +1 -0
- package/dist/src/services/discord.d.ts.map +1 -1
- package/dist/src/services/discord.js +3 -0
- package/dist/src/services/discord.js.map +1 -1
- package/dist/src/services/dropbox.d.ts +2 -1
- package/dist/src/services/dropbox.d.ts.map +1 -1
- package/dist/src/services/dropbox.js +5 -0
- package/dist/src/services/dropbox.js.map +1 -1
- package/dist/src/services/figma.d.ts +12 -0
- package/dist/src/services/figma.d.ts.map +1 -0
- package/dist/src/services/figma.js +14 -0
- package/dist/src/services/figma.js.map +1 -0
- package/dist/src/services/github.d.ts +1 -0
- package/dist/src/services/github.d.ts.map +1 -1
- package/dist/src/services/github.js +3 -0
- package/dist/src/services/github.js.map +1 -1
- package/dist/src/services/gitlab.d.ts +12 -0
- package/dist/src/services/gitlab.d.ts.map +1 -0
- package/dist/src/services/gitlab.js +14 -0
- package/dist/src/services/gitlab.js.map +1 -0
- package/dist/src/services/google/analytics.d.ts +11 -0
- package/dist/src/services/google/analytics.d.ts.map +1 -0
- package/dist/src/services/google/analytics.js +22 -0
- package/dist/src/services/google/analytics.js.map +1 -0
- package/dist/src/services/google/base.d.ts +73 -0
- package/dist/src/services/google/base.d.ts.map +1 -0
- package/dist/src/services/google/base.js +323 -0
- package/dist/src/services/google/base.js.map +1 -0
- package/dist/src/services/google/calendar.d.ts +11 -0
- package/dist/src/services/google/calendar.d.ts.map +1 -0
- package/dist/src/services/google/calendar.js +22 -0
- package/dist/src/services/google/calendar.js.map +1 -0
- package/dist/src/services/google/directions.d.ts +14 -0
- package/dist/src/services/google/directions.d.ts.map +1 -0
- package/dist/src/services/google/directions.js +49 -0
- package/dist/src/services/google/directions.js.map +1 -0
- package/dist/src/services/google/docs.d.ts +11 -0
- package/dist/src/services/google/docs.d.ts.map +1 -0
- package/dist/src/services/google/docs.js +19 -0
- package/dist/src/services/google/docs.js.map +1 -0
- package/dist/src/services/google/drive.d.ts +11 -0
- package/dist/src/services/google/drive.d.ts.map +1 -0
- package/dist/src/services/google/drive.js +19 -0
- package/dist/src/services/google/drive.js.map +1 -0
- package/dist/src/services/google/gmail.d.ts +11 -0
- package/dist/src/services/google/gmail.d.ts.map +1 -0
- package/dist/src/services/google/gmail.js +24 -0
- package/dist/src/services/google/gmail.js.map +1 -0
- package/dist/src/services/google/maps.d.ts +39 -0
- package/dist/src/services/google/maps.d.ts.map +1 -0
- package/dist/src/services/google/maps.js +94 -0
- package/dist/src/services/google/maps.js.map +1 -0
- package/dist/src/services/google/people.d.ts +11 -0
- package/dist/src/services/google/people.d.ts.map +1 -0
- package/dist/src/services/google/people.js +22 -0
- package/dist/src/services/google/people.js.map +1 -0
- package/dist/src/services/google/sheets.d.ts +11 -0
- package/dist/src/services/google/sheets.d.ts.map +1 -0
- package/dist/src/services/google/sheets.js +19 -0
- package/dist/src/services/google/sheets.js.map +1 -0
- package/dist/src/services/googleAnalytics.d.ts +11 -0
- package/dist/src/services/googleAnalytics.d.ts.map +1 -0
- package/dist/src/services/googleAnalytics.js +18 -0
- package/dist/src/services/googleAnalytics.js.map +1 -0
- package/dist/src/services/googleMaps.d.ts +12 -0
- package/dist/src/services/googleMaps.d.ts.map +1 -0
- package/dist/src/services/googleMaps.js +17 -0
- package/dist/src/services/googleMaps.js.map +1 -0
- package/dist/src/services/index.d.ts +19 -2
- package/dist/src/services/index.d.ts.map +1 -1
- package/dist/src/services/index.js +19 -2
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/services/linear.d.ts +1 -0
- package/dist/src/services/linear.d.ts.map +1 -1
- package/dist/src/services/linear.js +3 -0
- package/dist/src/services/linear.js.map +1 -1
- package/dist/src/services/mailchimp.d.ts +2 -1
- package/dist/src/services/mailchimp.d.ts.map +1 -1
- package/dist/src/services/mailchimp.js +4 -3
- package/dist/src/services/mailchimp.js.map +1 -1
- package/dist/src/services/notion.d.ts +1 -0
- package/dist/src/services/notion.d.ts.map +1 -1
- package/dist/src/services/notion.js +3 -0
- package/dist/src/services/notion.js.map +1 -1
- package/dist/src/services/sentry.d.ts +14 -0
- package/dist/src/services/sentry.d.ts.map +1 -0
- package/dist/src/services/sentry.js +43 -0
- package/dist/src/services/sentry.js.map +1 -0
- package/dist/src/services/slack.d.ts +30 -1
- package/dist/src/services/slack.d.ts.map +1 -1
- package/dist/src/services/slack.js +45 -2
- package/dist/src/services/slack.js.map +1 -1
- package/dist/src/services/stripe.d.ts +12 -0
- package/dist/src/services/stripe.d.ts.map +1 -0
- package/dist/src/services/stripe.js +14 -0
- package/dist/src/services/stripe.js.map +1 -0
- package/dist/src/services/telegram.d.ts +40 -0
- package/dist/src/services/telegram.d.ts.map +1 -0
- package/dist/src/services/telegram.js +73 -0
- package/dist/src/services/telegram.js.map +1 -0
- package/dist/src/services/yelp.d.ts +12 -0
- package/dist/src/services/yelp.d.ts.map +1 -0
- package/dist/src/services/yelp.js +16 -0
- package/dist/src/services/yelp.js.map +1 -0
- package/dist/src/services/zoom.d.ts +12 -0
- package/dist/src/services/zoom.d.ts.map +1 -0
- package/dist/src/services/zoom.js +18 -0
- package/dist/src/services/zoom.js.map +1 -0
- package/dist/tests/apiCredentialStore.test.js +2 -19
- package/dist/tests/apiCredentialStore.test.js.map +1 -1
- package/dist/tests/apiCredentials.test.js +139 -178
- package/dist/tests/apiCredentials.test.js.map +1 -1
- package/dist/tests/cli.test.js +160 -260
- package/dist/tests/cli.test.js.map +1 -1
- package/dist/tests/encryptedStorage.test.js +0 -4
- package/dist/tests/encryptedStorage.test.js.map +1 -1
- package/dist/tests/encryptedStorageKeyGeneration.test.d.ts +2 -0
- package/dist/tests/encryptedStorageKeyGeneration.test.d.ts.map +1 -0
- package/dist/tests/encryptedStorageKeyGeneration.test.js +22 -0
- package/dist/tests/encryptedStorageKeyGeneration.test.js.map +1 -0
- package/dist/tests/encryption.test.js +3 -35
- package/dist/tests/encryption.test.js.map +1 -1
- package/dist/tests/migrations.test.d.ts +2 -0
- package/dist/tests/migrations.test.d.ts.map +1 -0
- package/dist/tests/migrations.test.js +164 -0
- package/dist/tests/migrations.test.js.map +1 -0
- package/dist/tests/playwrightDownload.test.js +2 -65
- package/dist/tests/playwrightDownload.test.js.map +1 -1
- package/dist/tests/registry.test.js +49 -75
- package/dist/tests/registry.test.js.map +1 -1
- package/dist/tests/servicesAgainstRecordings.test.js +1 -1
- package/dist/tests/servicesAgainstRecordings.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GoogleService } from './base.js';
|
|
2
|
+
const CONFIG = {
|
|
3
|
+
api: 'docs.googleapis.com',
|
|
4
|
+
scopes: ['https://www.googleapis.com/auth/documents'],
|
|
5
|
+
};
|
|
6
|
+
export class GoogleDocs extends GoogleService {
|
|
7
|
+
name = 'google-docs';
|
|
8
|
+
displayName = 'Google Docs';
|
|
9
|
+
baseApiUrls = ['https://docs.googleapis.com/'];
|
|
10
|
+
info = 'https://developers.google.com/docs/api/reference/rest. ' +
|
|
11
|
+
'If needed, run "latchkey auth browser-prepare google-docs" to create an OAuth client first. ' +
|
|
12
|
+
'It may take a few minutes before the OAuth client is ready to use.';
|
|
13
|
+
credentialCheckCurlArguments = [
|
|
14
|
+
"https://www.googleapis.com/drive/v3/files?pageSize=1&fields=files(id)&q=mimeType%3D'application/vnd.google-apps.document'",
|
|
15
|
+
];
|
|
16
|
+
config = CONFIG;
|
|
17
|
+
}
|
|
18
|
+
export const GOOGLE_DOCS = new GoogleDocs();
|
|
19
|
+
//# sourceMappingURL=docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../../src/services/google/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,WAAW,CAAC;AAEpE,MAAM,MAAM,GAAwB;IAClC,GAAG,EAAE,qBAAqB;IAC1B,MAAM,EAAE,CAAC,2CAA2C,CAAC;CACtD,CAAC;AAEF,MAAM,OAAO,UAAW,SAAQ,aAAa;IAClC,IAAI,GAAG,aAAa,CAAC;IACrB,WAAW,GAAG,aAAa,CAAC;IAC5B,WAAW,GAAG,CAAC,8BAA8B,CAAU,CAAC;IACxD,IAAI,GACX,yDAAyD;QACzD,8FAA8F;QAC9F,oEAAoE,CAAC;IAE9D,4BAA4B,GAAG;QACtC,2HAA2H;KACnH,CAAC;IAEQ,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GoogleService, type GoogleServiceConfig } from './base.js';
|
|
2
|
+
export declare class GoogleDrive extends GoogleService {
|
|
3
|
+
readonly name = "google-drive";
|
|
4
|
+
readonly displayName = "Google Drive";
|
|
5
|
+
readonly baseApiUrls: readonly ["https://www.googleapis.com/drive/"];
|
|
6
|
+
readonly info: string;
|
|
7
|
+
readonly credentialCheckCurlArguments: readonly ["https://www.googleapis.com/drive/v3/about?fields=user"];
|
|
8
|
+
protected readonly config: GoogleServiceConfig;
|
|
9
|
+
}
|
|
10
|
+
export declare const GOOGLE_DRIVE: GoogleDrive;
|
|
11
|
+
//# sourceMappingURL=drive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../../../src/services/google/drive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAOpE,qBAAa,WAAY,SAAQ,aAAa;IAC5C,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,kBAAkB;IACtC,QAAQ,CAAC,WAAW,iDAAkD;IACtE,QAAQ,CAAC,IAAI,SAG0D;IAEvE,QAAQ,CAAC,4BAA4B,qEAE1B;IAEX,SAAS,CAAC,QAAQ,CAAC,MAAM,sBAAU;CACpC;AAED,eAAO,MAAM,YAAY,aAAoB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GoogleService } from './base.js';
|
|
2
|
+
const CONFIG = {
|
|
3
|
+
api: 'drive.googleapis.com',
|
|
4
|
+
scopes: ['https://www.googleapis.com/auth/drive', 'https://www.googleapis.com/auth/drive.file'],
|
|
5
|
+
};
|
|
6
|
+
export class GoogleDrive extends GoogleService {
|
|
7
|
+
name = 'google-drive';
|
|
8
|
+
displayName = 'Google Drive';
|
|
9
|
+
baseApiUrls = ['https://www.googleapis.com/drive/'];
|
|
10
|
+
info = 'https://developers.google.com/drive/api/reference/rest/v3. ' +
|
|
11
|
+
'If needed, run "latchkey auth browser-prepare google-drive" to create an OAuth client first. ' +
|
|
12
|
+
'It may take a few minutes before the OAuth client is ready to use.';
|
|
13
|
+
credentialCheckCurlArguments = [
|
|
14
|
+
'https://www.googleapis.com/drive/v3/about?fields=user',
|
|
15
|
+
];
|
|
16
|
+
config = CONFIG;
|
|
17
|
+
}
|
|
18
|
+
export const GOOGLE_DRIVE = new GoogleDrive();
|
|
19
|
+
//# sourceMappingURL=drive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drive.js","sourceRoot":"","sources":["../../../../src/services/google/drive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,WAAW,CAAC;AAEpE,MAAM,MAAM,GAAwB;IAClC,GAAG,EAAE,sBAAsB;IAC3B,MAAM,EAAE,CAAC,uCAAuC,EAAE,4CAA4C,CAAC;CAChG,CAAC;AAEF,MAAM,OAAO,WAAY,SAAQ,aAAa;IACnC,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAAG,cAAc,CAAC;IAC7B,WAAW,GAAG,CAAC,mCAAmC,CAAU,CAAC;IAC7D,IAAI,GACX,6DAA6D;QAC7D,+FAA+F;QAC/F,oEAAoE,CAAC;IAE9D,4BAA4B,GAAG;QACtC,uDAAuD;KAC/C,CAAC;IAEQ,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GoogleService, type GoogleServiceConfig } from './base.js';
|
|
2
|
+
export declare class GoogleGmail extends GoogleService {
|
|
3
|
+
readonly name = "google-gmail";
|
|
4
|
+
readonly displayName = "Google Gmail";
|
|
5
|
+
readonly baseApiUrls: readonly ["https://gmail.googleapis.com/"];
|
|
6
|
+
readonly info: string;
|
|
7
|
+
readonly credentialCheckCurlArguments: readonly ["https://gmail.googleapis.com/gmail/v1/users/me/profile"];
|
|
8
|
+
protected readonly config: GoogleServiceConfig;
|
|
9
|
+
}
|
|
10
|
+
export declare const GOOGLE_GMAIL: GoogleGmail;
|
|
11
|
+
//# sourceMappingURL=gmail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmail.d.ts","sourceRoot":"","sources":["../../../../src/services/google/gmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAYpE,qBAAa,WAAY,SAAQ,aAAa;IAC5C,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,kBAAkB;IACtC,QAAQ,CAAC,WAAW,6CAA8C;IAClE,QAAQ,CAAC,IAAI,SAG0D;IAEvE,QAAQ,CAAC,4BAA4B,sEAE1B;IAEX,SAAS,CAAC,QAAQ,CAAC,MAAM,sBAAU;CACpC;AAED,eAAO,MAAM,YAAY,aAAoB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { GoogleService } from './base.js';
|
|
2
|
+
const CONFIG = {
|
|
3
|
+
api: 'gmail.googleapis.com',
|
|
4
|
+
scopes: [
|
|
5
|
+
'https://www.googleapis.com/auth/gmail.readonly',
|
|
6
|
+
'https://www.googleapis.com/auth/gmail.modify',
|
|
7
|
+
'https://www.googleapis.com/auth/gmail.compose',
|
|
8
|
+
'https://www.googleapis.com/auth/gmail.send',
|
|
9
|
+
],
|
|
10
|
+
};
|
|
11
|
+
export class GoogleGmail extends GoogleService {
|
|
12
|
+
name = 'google-gmail';
|
|
13
|
+
displayName = 'Google Gmail';
|
|
14
|
+
baseApiUrls = ['https://gmail.googleapis.com/'];
|
|
15
|
+
info = 'https://developers.google.com/gmail/api/reference/rest. ' +
|
|
16
|
+
'If needed, run "latchkey auth browser-prepare google-gmail" to create an OAuth client first. ' +
|
|
17
|
+
'It may take a few minutes before the OAuth client is ready to use.';
|
|
18
|
+
credentialCheckCurlArguments = [
|
|
19
|
+
'https://gmail.googleapis.com/gmail/v1/users/me/profile',
|
|
20
|
+
];
|
|
21
|
+
config = CONFIG;
|
|
22
|
+
}
|
|
23
|
+
export const GOOGLE_GMAIL = new GoogleGmail();
|
|
24
|
+
//# sourceMappingURL=gmail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gmail.js","sourceRoot":"","sources":["../../../../src/services/google/gmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,WAAW,CAAC;AAEpE,MAAM,MAAM,GAAwB;IAClC,GAAG,EAAE,sBAAsB;IAC3B,MAAM,EAAE;QACN,gDAAgD;QAChD,8CAA8C;QAC9C,+CAA+C;QAC/C,4CAA4C;KAC7C;CACF,CAAC;AAEF,MAAM,OAAO,WAAY,SAAQ,aAAa;IACnC,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAAG,cAAc,CAAC;IAC7B,WAAW,GAAG,CAAC,+BAA+B,CAAU,CAAC;IACzD,IAAI,GACX,0DAA0D;QAC1D,+FAA+F;QAC/F,oEAAoE,CAAC;IAE9D,4BAA4B,GAAG;QACtC,wDAAwD;KAChD,CAAC;IAEQ,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiCredentialStatus, type ApiCredentials } from '../../apiCredentials.js';
|
|
3
|
+
import { Service } from '../base.js';
|
|
4
|
+
/**
|
|
5
|
+
* Google Maps API key credentials.
|
|
6
|
+
* The API key is injected as a `key=` query parameter in the URL.
|
|
7
|
+
*/
|
|
8
|
+
export declare const GoogleMapsApiKeyCredentialsSchema: z.ZodObject<{
|
|
9
|
+
objectType: z.ZodLiteral<"googleMapsApiKey">;
|
|
10
|
+
apiKey: z.ZodString;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
objectType: "googleMapsApiKey";
|
|
13
|
+
apiKey: string;
|
|
14
|
+
}, {
|
|
15
|
+
objectType: "googleMapsApiKey";
|
|
16
|
+
apiKey: string;
|
|
17
|
+
}>;
|
|
18
|
+
export type GoogleMapsApiKeyCredentialsData = z.infer<typeof GoogleMapsApiKeyCredentialsSchema>;
|
|
19
|
+
export declare class GoogleMapsApiKeyCredentials implements ApiCredentials {
|
|
20
|
+
readonly objectType: "googleMapsApiKey";
|
|
21
|
+
readonly apiKey: string;
|
|
22
|
+
constructor(apiKey: string);
|
|
23
|
+
injectIntoCurlCall(curlArguments: readonly string[]): readonly string[];
|
|
24
|
+
isExpired(): boolean | undefined;
|
|
25
|
+
toJSON(): GoogleMapsApiKeyCredentialsData;
|
|
26
|
+
static fromJSON(data: GoogleMapsApiKeyCredentialsData): GoogleMapsApiKeyCredentials;
|
|
27
|
+
}
|
|
28
|
+
export declare class GoogleMaps extends Service {
|
|
29
|
+
readonly name = "google-maps";
|
|
30
|
+
readonly displayName = "Google Maps";
|
|
31
|
+
readonly baseApiUrls: readonly ["https://maps.googleapis.com/"];
|
|
32
|
+
readonly loginUrl = "https://console.cloud.google.com/google/maps-apis/";
|
|
33
|
+
readonly info: string;
|
|
34
|
+
readonly credentialCheckCurlArguments: readonly ["https://maps.googleapis.com/maps/api/geocode/json?address=test"];
|
|
35
|
+
getCredentialsNoCurl(arguments_: readonly string[]): ApiCredentials;
|
|
36
|
+
checkApiCredentials(apiCredentials: ApiCredentials): ApiCredentialStatus;
|
|
37
|
+
}
|
|
38
|
+
export declare const GOOGLE_MAPS: GoogleMaps;
|
|
39
|
+
//# sourceMappingURL=maps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maps.d.ts","sourceRoot":"","sources":["../../../../src/services/google/maps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEnF,OAAO,EAAsC,OAAO,EAAE,MAAM,YAAY,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;EAG5C,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAEhG,qBAAa,2BAA4B,YAAW,cAAc;IAChE,QAAQ,CAAC,UAAU,EAAG,kBAAkB,CAAU;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM;IAI1B,kBAAkB,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE;IAcvE,SAAS,IAAI,OAAO,GAAG,SAAS;IAIhC,MAAM,IAAI,+BAA+B;IAOzC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,+BAA+B,GAAG,2BAA2B;CAGpF;AAED,qBAAa,UAAW,SAAQ,OAAO;IACrC,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,iBAAiB;IACrC,QAAQ,CAAC,WAAW,4CAA6C;IACjE,QAAQ,CAAC,QAAQ,wDAAwD;IACzE,QAAQ,CAAC,IAAI,SAKkC;IAE/C,QAAQ,CAAC,4BAA4B,8EAE1B;IAEF,oBAAoB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,cAAc;IAiBnE,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,mBAAmB;CAiBlF;AAUD,eAAO,MAAM,WAAW,YAAmB,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiCredentialStatus } from '../../apiCredentials.js';
|
|
3
|
+
import { extractUrlFromCurlArguments, runCaptured } from '../../curl.js';
|
|
4
|
+
import { NoCurlCredentialsNotSupportedError, Service } from '../base.js';
|
|
5
|
+
/**
|
|
6
|
+
* Google Maps API key credentials.
|
|
7
|
+
* The API key is injected as a `key=` query parameter in the URL.
|
|
8
|
+
*/
|
|
9
|
+
export const GoogleMapsApiKeyCredentialsSchema = z.object({
|
|
10
|
+
objectType: z.literal('googleMapsApiKey'),
|
|
11
|
+
apiKey: z.string(),
|
|
12
|
+
});
|
|
13
|
+
export class GoogleMapsApiKeyCredentials {
|
|
14
|
+
objectType = 'googleMapsApiKey';
|
|
15
|
+
apiKey;
|
|
16
|
+
constructor(apiKey) {
|
|
17
|
+
this.apiKey = apiKey;
|
|
18
|
+
}
|
|
19
|
+
injectIntoCurlCall(curlArguments) {
|
|
20
|
+
const url = extractUrlFromCurlArguments(curlArguments);
|
|
21
|
+
if (!url?.startsWith('https://maps.googleapis.com/')) {
|
|
22
|
+
return curlArguments;
|
|
23
|
+
}
|
|
24
|
+
const parsed = new URL(url);
|
|
25
|
+
if (parsed.searchParams.has('key')) {
|
|
26
|
+
return curlArguments;
|
|
27
|
+
}
|
|
28
|
+
parsed.searchParams.set('key', this.apiKey);
|
|
29
|
+
const rewrittenUrl = parsed.toString();
|
|
30
|
+
return curlArguments.map((argument) => (argument === url ? rewrittenUrl : argument));
|
|
31
|
+
}
|
|
32
|
+
isExpired() {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
toJSON() {
|
|
36
|
+
return {
|
|
37
|
+
objectType: this.objectType,
|
|
38
|
+
apiKey: this.apiKey,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
static fromJSON(data) {
|
|
42
|
+
return new GoogleMapsApiKeyCredentials(data.apiKey);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export class GoogleMaps extends Service {
|
|
46
|
+
name = 'google-maps';
|
|
47
|
+
displayName = 'Google Maps';
|
|
48
|
+
baseApiUrls = ['https://maps.googleapis.com/'];
|
|
49
|
+
loginUrl = 'https://console.cloud.google.com/google/maps-apis/';
|
|
50
|
+
info = 'https://developers.google.com/maps/documentation. ' +
|
|
51
|
+
'Browser-based authentication is not yet supported. ' +
|
|
52
|
+
'Use `latchkey auth set-nocurl google-maps <api-key>` to add credentials. ' +
|
|
53
|
+
'Example invocation: `latchkey curl google-maps https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway` ' +
|
|
54
|
+
'(the API key will be added automatically).';
|
|
55
|
+
credentialCheckCurlArguments = [
|
|
56
|
+
'https://maps.googleapis.com/maps/api/geocode/json?address=test',
|
|
57
|
+
];
|
|
58
|
+
getCredentialsNoCurl(arguments_) {
|
|
59
|
+
if (arguments_.length !== 1 || arguments_[0] === undefined) {
|
|
60
|
+
throw new GoogleMapsCredentialError('Expected exactly one argument: the API key.\n' +
|
|
61
|
+
'Example: latchkey auth set-nocurl google-maps AIzaSyA1B2C3D4E5F6G7H8I9J0');
|
|
62
|
+
}
|
|
63
|
+
const apiKey = arguments_[0];
|
|
64
|
+
if (apiKey.length < 10) {
|
|
65
|
+
throw new GoogleMapsCredentialError("The provided key doesn't look like a Google Maps API key (too short).\n" +
|
|
66
|
+
'Example: AIzaSyA1B2C3D4E5F6G7H8I9J0');
|
|
67
|
+
}
|
|
68
|
+
return new GoogleMapsApiKeyCredentials(apiKey);
|
|
69
|
+
}
|
|
70
|
+
checkApiCredentials(apiCredentials) {
|
|
71
|
+
const allCurlArgs = apiCredentials.injectIntoCurlCall([
|
|
72
|
+
'-s',
|
|
73
|
+
'-o',
|
|
74
|
+
'/dev/null',
|
|
75
|
+
'-w',
|
|
76
|
+
'%{http_code}',
|
|
77
|
+
...this.credentialCheckCurlArguments,
|
|
78
|
+
]);
|
|
79
|
+
const result = runCaptured(allCurlArgs, 10);
|
|
80
|
+
if (result.stdout === '200') {
|
|
81
|
+
return ApiCredentialStatus.Valid;
|
|
82
|
+
}
|
|
83
|
+
return ApiCredentialStatus.Invalid;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
class GoogleMapsCredentialError extends NoCurlCredentialsNotSupportedError {
|
|
87
|
+
constructor(message) {
|
|
88
|
+
super('google-maps');
|
|
89
|
+
this.message = message;
|
|
90
|
+
this.name = 'GoogleMapsCredentialError';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export const GOOGLE_MAPS = new GoogleMaps();
|
|
94
|
+
//# sourceMappingURL=maps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maps.js","sourceRoot":"","sources":["../../../../src/services/google/maps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GoogleService, type GoogleServiceConfig } from './base.js';
|
|
2
|
+
export declare class GooglePeople extends GoogleService {
|
|
3
|
+
readonly name = "google-people";
|
|
4
|
+
readonly displayName = "Google People";
|
|
5
|
+
readonly baseApiUrls: readonly ["https://people.googleapis.com/"];
|
|
6
|
+
readonly info: string;
|
|
7
|
+
readonly credentialCheckCurlArguments: readonly ["https://people.googleapis.com/v1/people/me?personFields=names"];
|
|
8
|
+
protected readonly config: GoogleServiceConfig;
|
|
9
|
+
}
|
|
10
|
+
export declare const GOOGLE_PEOPLE: GooglePeople;
|
|
11
|
+
//# sourceMappingURL=people.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../../../src/services/google/people.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAUpE,qBAAa,YAAa,SAAQ,aAAa;IAC7C,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,WAAW,8CAA+C;IACnE,QAAQ,CAAC,IAAI,SAG0D;IAEvE,QAAQ,CAAC,4BAA4B,6EAE1B;IAEX,SAAS,CAAC,QAAQ,CAAC,MAAM,sBAAU;CACpC;AAED,eAAO,MAAM,aAAa,cAAqB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GoogleService } from './base.js';
|
|
2
|
+
const CONFIG = {
|
|
3
|
+
api: 'people.googleapis.com',
|
|
4
|
+
scopes: [
|
|
5
|
+
'https://www.googleapis.com/auth/contacts',
|
|
6
|
+
'https://www.googleapis.com/auth/contacts.readonly',
|
|
7
|
+
],
|
|
8
|
+
};
|
|
9
|
+
export class GooglePeople extends GoogleService {
|
|
10
|
+
name = 'google-people';
|
|
11
|
+
displayName = 'Google People';
|
|
12
|
+
baseApiUrls = ['https://people.googleapis.com/'];
|
|
13
|
+
info = 'https://developers.google.com/people/api/rest. ' +
|
|
14
|
+
'If needed, run "latchkey auth browser-prepare google-people" to create an OAuth client first. ' +
|
|
15
|
+
'It may take a few minutes before the OAuth client is ready to use.';
|
|
16
|
+
credentialCheckCurlArguments = [
|
|
17
|
+
'https://people.googleapis.com/v1/people/me?personFields=names',
|
|
18
|
+
];
|
|
19
|
+
config = CONFIG;
|
|
20
|
+
}
|
|
21
|
+
export const GOOGLE_PEOPLE = new GooglePeople();
|
|
22
|
+
//# sourceMappingURL=people.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"people.js","sourceRoot":"","sources":["../../../../src/services/google/people.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,WAAW,CAAC;AAEpE,MAAM,MAAM,GAAwB;IAClC,GAAG,EAAE,uBAAuB;IAC5B,MAAM,EAAE;QACN,0CAA0C;QAC1C,mDAAmD;KACpD;CACF,CAAC;AAEF,MAAM,OAAO,YAAa,SAAQ,aAAa;IACpC,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,eAAe,CAAC;IAC9B,WAAW,GAAG,CAAC,gCAAgC,CAAU,CAAC;IAC1D,IAAI,GACX,iDAAiD;QACjD,gGAAgG;QAChG,oEAAoE,CAAC;IAE9D,4BAA4B,GAAG;QACtC,+DAA+D;KACvD,CAAC;IAEQ,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GoogleService, type GoogleServiceConfig } from './base.js';
|
|
2
|
+
export declare class GoogleSheets extends GoogleService {
|
|
3
|
+
readonly name = "google-sheets";
|
|
4
|
+
readonly displayName = "Google Sheets";
|
|
5
|
+
readonly baseApiUrls: readonly ["https://sheets.googleapis.com/"];
|
|
6
|
+
readonly info: string;
|
|
7
|
+
readonly credentialCheckCurlArguments: readonly ["https://sheets.googleapis.com/v4/spreadsheets?fields=spreadsheetId&pageSize=1"];
|
|
8
|
+
protected readonly config: GoogleServiceConfig;
|
|
9
|
+
}
|
|
10
|
+
export declare const GOOGLE_SHEETS: GoogleSheets;
|
|
11
|
+
//# sourceMappingURL=sheets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheets.d.ts","sourceRoot":"","sources":["../../../../src/services/google/sheets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAOpE,qBAAa,YAAa,SAAQ,aAAa;IAC7C,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,WAAW,8CAA+C;IACnE,QAAQ,CAAC,IAAI,SAG0D;IAEvE,QAAQ,CAAC,4BAA4B,6FAE1B;IAEX,SAAS,CAAC,QAAQ,CAAC,MAAM,sBAAU;CACpC;AAED,eAAO,MAAM,aAAa,cAAqB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GoogleService } from './base.js';
|
|
2
|
+
const CONFIG = {
|
|
3
|
+
api: 'sheets.googleapis.com',
|
|
4
|
+
scopes: ['https://www.googleapis.com/auth/spreadsheets'],
|
|
5
|
+
};
|
|
6
|
+
export class GoogleSheets extends GoogleService {
|
|
7
|
+
name = 'google-sheets';
|
|
8
|
+
displayName = 'Google Sheets';
|
|
9
|
+
baseApiUrls = ['https://sheets.googleapis.com/'];
|
|
10
|
+
info = 'https://developers.google.com/sheets/api/reference/rest. ' +
|
|
11
|
+
'If needed, run "latchkey auth browser-prepare google-sheets" to create an OAuth client first. ' +
|
|
12
|
+
'It may take a few minutes before the OAuth client is ready to use.';
|
|
13
|
+
credentialCheckCurlArguments = [
|
|
14
|
+
'https://sheets.googleapis.com/v4/spreadsheets?fields=spreadsheetId&pageSize=1',
|
|
15
|
+
];
|
|
16
|
+
config = CONFIG;
|
|
17
|
+
}
|
|
18
|
+
export const GOOGLE_SHEETS = new GoogleSheets();
|
|
19
|
+
//# sourceMappingURL=sheets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheets.js","sourceRoot":"","sources":["../../../../src/services/google/sheets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,WAAW,CAAC;AAEpE,MAAM,MAAM,GAAwB;IAClC,GAAG,EAAE,uBAAuB;IAC5B,MAAM,EAAE,CAAC,8CAA8C,CAAC;CACzD,CAAC;AAEF,MAAM,OAAO,YAAa,SAAQ,aAAa;IACpC,IAAI,GAAG,eAAe,CAAC;IACvB,WAAW,GAAG,eAAe,CAAC;IAC9B,WAAW,GAAG,CAAC,gCAAgC,CAAU,CAAC;IAC1D,IAAI,GACX,2DAA2D;QAC3D,gGAAgG;QAChG,oEAAoE,CAAC;IAE9D,4BAA4B,GAAG;QACtC,+EAA+E;KACvE,CAAC;IAEQ,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Service } from './base.js';
|
|
2
|
+
export declare class GoogleAnalytics extends Service {
|
|
3
|
+
readonly name = "google-analytics";
|
|
4
|
+
readonly displayName = "Google Analytics";
|
|
5
|
+
readonly baseApiUrls: readonly ["https://analyticsdata.googleapis.com/", "https://analyticsadmin.googleapis.com/"];
|
|
6
|
+
readonly loginUrl = "https://analytics.google.com/";
|
|
7
|
+
readonly info: string;
|
|
8
|
+
readonly credentialCheckCurlArguments: readonly ["https://analyticsadmin.googleapis.com/v1beta/accountSummaries"];
|
|
9
|
+
}
|
|
10
|
+
export declare const GOOGLE_ANALYTICS: GoogleAnalytics;
|
|
11
|
+
//# sourceMappingURL=googleAnalytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleAnalytics.d.ts","sourceRoot":"","sources":["../../../src/services/googleAnalytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,eAAgB,SAAQ,OAAO;IAC1C,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,WAAW,sBAAsB;IAC1C,QAAQ,CAAC,WAAW,+FAGT;IACX,QAAQ,CAAC,QAAQ,mCAAmC;IACpD,QAAQ,CAAC,IAAI,SAGgG;IAE7G,QAAQ,CAAC,4BAA4B,6EAE1B;CACZ;AAED,eAAO,MAAM,gBAAgB,iBAAwB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Service } from './base.js';
|
|
2
|
+
export class GoogleAnalytics extends Service {
|
|
3
|
+
name = 'google-analytics';
|
|
4
|
+
displayName = 'Google Analytics';
|
|
5
|
+
baseApiUrls = [
|
|
6
|
+
'https://analyticsdata.googleapis.com/',
|
|
7
|
+
'https://analyticsadmin.googleapis.com/',
|
|
8
|
+
];
|
|
9
|
+
loginUrl = 'https://analytics.google.com/';
|
|
10
|
+
info = 'https://developers.google.com/analytics/devguides/reporting/data/v1. ' +
|
|
11
|
+
'Browser-based authentication is not yet supported. ' +
|
|
12
|
+
'Use `latchkey auth set google-analytics -H "Authorization: Bearer <token>"` to add credentials manually.';
|
|
13
|
+
credentialCheckCurlArguments = [
|
|
14
|
+
'https://analyticsadmin.googleapis.com/v1beta/accountSummaries',
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
export const GOOGLE_ANALYTICS = new GoogleAnalytics();
|
|
18
|
+
//# sourceMappingURL=googleAnalytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleAnalytics.js","sourceRoot":"","sources":["../../../src/services/googleAnalytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,eAAgB,SAAQ,OAAO;IACjC,IAAI,GAAG,kBAAkB,CAAC;IAC1B,WAAW,GAAG,kBAAkB,CAAC;IACjC,WAAW,GAAG;QACrB,uCAAuC;QACvC,wCAAwC;KAChC,CAAC;IACF,QAAQ,GAAG,+BAA+B,CAAC;IAC3C,IAAI,GACX,uEAAuE;QACvE,qDAAqD;QACrD,0GAA0G,CAAC;IAEpG,4BAA4B,GAAG;QACtC,+DAA+D;KACvD,CAAC;CACZ;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Service } from './base.js';
|
|
2
|
+
/** Work in progress — not yet registered in the service registry. */
|
|
3
|
+
export declare class GoogleMaps extends Service {
|
|
4
|
+
readonly name = "google-maps";
|
|
5
|
+
readonly displayName = "Google Maps";
|
|
6
|
+
readonly baseApiUrls: readonly ["https://maps.googleapis.com/"];
|
|
7
|
+
readonly loginUrl = "https://console.cloud.google.com/google/maps-apis/";
|
|
8
|
+
readonly info: string;
|
|
9
|
+
readonly credentialCheckCurlArguments: readonly ["https://maps.googleapis.com/maps/api/geocode/json?address=test"];
|
|
10
|
+
}
|
|
11
|
+
export declare const GOOGLE_MAPS: GoogleMaps;
|
|
12
|
+
//# sourceMappingURL=googleMaps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleMaps.d.ts","sourceRoot":"","sources":["../../../src/services/googleMaps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qEAAqE;AACrE,qBAAa,UAAW,SAAQ,OAAO;IACrC,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,iBAAiB;IACrC,QAAQ,CAAC,WAAW,4CAA6C;IACjE,QAAQ,CAAC,QAAQ,wDAAwD;IACzE,QAAQ,CAAC,IAAI,SAIgD;IAE7D,QAAQ,CAAC,4BAA4B,8EAE1B;CACZ;AAED,eAAO,MAAM,WAAW,YAAmB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Service } from './base.js';
|
|
2
|
+
/** Work in progress — not yet registered in the service registry. */
|
|
3
|
+
export class GoogleMaps extends Service {
|
|
4
|
+
name = 'google-maps';
|
|
5
|
+
displayName = 'Google Maps';
|
|
6
|
+
baseApiUrls = ['https://maps.googleapis.com/'];
|
|
7
|
+
loginUrl = 'https://console.cloud.google.com/google/maps-apis/';
|
|
8
|
+
info = 'https://developers.google.com/maps/documentation. ' +
|
|
9
|
+
'Browser-based authentication is not yet supported. ' +
|
|
10
|
+
'Use `latchkey auth set google-maps -H "X-Goog-Api-Key: <key>"` to add credentials manually. ' +
|
|
11
|
+
'Only a subset of the APIs accept API keys in the header.';
|
|
12
|
+
credentialCheckCurlArguments = [
|
|
13
|
+
'https://maps.googleapis.com/maps/api/geocode/json?address=test',
|
|
14
|
+
];
|
|
15
|
+
}
|
|
16
|
+
export const GOOGLE_MAPS = new GoogleMaps();
|
|
17
|
+
//# sourceMappingURL=googleMaps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleMaps.js","sourceRoot":"","sources":["../../../src/services/googleMaps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qEAAqE;AACrE,MAAM,OAAO,UAAW,SAAQ,OAAO;IAC5B,IAAI,GAAG,aAAa,CAAC;IACrB,WAAW,GAAG,aAAa,CAAC;IAC5B,WAAW,GAAG,CAAC,8BAA8B,CAAU,CAAC;IACxD,QAAQ,GAAG,oDAAoD,CAAC;IAChE,IAAI,GACX,oDAAoD;QACpD,qDAAqD;QACrD,8FAA8F;QAC9F,0DAA0D,CAAC;IAEpD,4BAA4B,GAAG;QACtC,gEAAgE;KACxD,CAAC;CACZ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,UAAU,EAAE,CAAC"}
|
|
@@ -2,13 +2,30 @@
|
|
|
2
2
|
* Re-export all services.
|
|
3
3
|
*/
|
|
4
4
|
export { Service, ServiceSession, SimpleServiceSession, BrowserFollowupServiceSession, } from './base.js';
|
|
5
|
-
export { LoginCancelledError, LoginFailedError } from './base.js';
|
|
5
|
+
export { LoginCancelledError, LoginFailedError, NoCurlCredentialsNotSupportedError, } from './base.js';
|
|
6
6
|
export { Slack, SLACK } from './slack.js';
|
|
7
7
|
export { Discord, DISCORD } from './discord.js';
|
|
8
8
|
export { Github, GITHUB } from './github.js';
|
|
9
9
|
export { Dropbox, DROPBOX } from './dropbox.js';
|
|
10
10
|
export { Linear, LINEAR } from './linear.js';
|
|
11
|
-
export {
|
|
11
|
+
export { GoogleService } from './google/base.js';
|
|
12
|
+
export { GoogleGmail, GOOGLE_GMAIL } from './google/gmail.js';
|
|
13
|
+
export { GoogleCalendar, GOOGLE_CALENDAR } from './google/calendar.js';
|
|
14
|
+
export { GoogleDrive, GOOGLE_DRIVE } from './google/drive.js';
|
|
15
|
+
export { GoogleSheets, GOOGLE_SHEETS } from './google/sheets.js';
|
|
16
|
+
export { GoogleDocs, GOOGLE_DOCS } from './google/docs.js';
|
|
17
|
+
export { GooglePeople, GOOGLE_PEOPLE } from './google/people.js';
|
|
12
18
|
export { Notion, NOTION } from './notion.js';
|
|
13
19
|
export { Mailchimp, MAILCHIMP } from './mailchimp.js';
|
|
20
|
+
export { Gitlab, GITLAB } from './gitlab.js';
|
|
21
|
+
export { Zoom, ZOOM } from './zoom.js';
|
|
22
|
+
export { Telegram, TELEGRAM } from './telegram.js';
|
|
23
|
+
export { Sentry, SENTRY } from './sentry.js';
|
|
24
|
+
export { Aws, AWS } from './aws.js';
|
|
25
|
+
export { Stripe, STRIPE } from './stripe.js';
|
|
26
|
+
export { Figma, FIGMA } from './figma.js';
|
|
27
|
+
export { GoogleAnalytics, GOOGLE_ANALYTICS } from './google/analytics.js';
|
|
28
|
+
export { Calendly, CALENDLY } from './calendly.js';
|
|
29
|
+
export { GoogleDirections, GOOGLE_DIRECTIONS } from './google/directions.js';
|
|
30
|
+
export { Yelp, YELP } from './yelp.js';
|
|
14
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AACnB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kCAAkC,GACnC,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -2,13 +2,30 @@
|
|
|
2
2
|
* Re-export all services.
|
|
3
3
|
*/
|
|
4
4
|
export { Service, ServiceSession, SimpleServiceSession, BrowserFollowupServiceSession, } from './base.js';
|
|
5
|
-
export { LoginCancelledError, LoginFailedError } from './base.js';
|
|
5
|
+
export { LoginCancelledError, LoginFailedError, NoCurlCredentialsNotSupportedError, } from './base.js';
|
|
6
6
|
export { Slack, SLACK } from './slack.js';
|
|
7
7
|
export { Discord, DISCORD } from './discord.js';
|
|
8
8
|
export { Github, GITHUB } from './github.js';
|
|
9
9
|
export { Dropbox, DROPBOX } from './dropbox.js';
|
|
10
10
|
export { Linear, LINEAR } from './linear.js';
|
|
11
|
-
export {
|
|
11
|
+
export { GoogleService } from './google/base.js';
|
|
12
|
+
export { GoogleGmail, GOOGLE_GMAIL } from './google/gmail.js';
|
|
13
|
+
export { GoogleCalendar, GOOGLE_CALENDAR } from './google/calendar.js';
|
|
14
|
+
export { GoogleDrive, GOOGLE_DRIVE } from './google/drive.js';
|
|
15
|
+
export { GoogleSheets, GOOGLE_SHEETS } from './google/sheets.js';
|
|
16
|
+
export { GoogleDocs, GOOGLE_DOCS } from './google/docs.js';
|
|
17
|
+
export { GooglePeople, GOOGLE_PEOPLE } from './google/people.js';
|
|
12
18
|
export { Notion, NOTION } from './notion.js';
|
|
13
19
|
export { Mailchimp, MAILCHIMP } from './mailchimp.js';
|
|
20
|
+
export { Gitlab, GITLAB } from './gitlab.js';
|
|
21
|
+
export { Zoom, ZOOM } from './zoom.js';
|
|
22
|
+
export { Telegram, TELEGRAM } from './telegram.js';
|
|
23
|
+
export { Sentry, SENTRY } from './sentry.js';
|
|
24
|
+
export { Aws, AWS } from './aws.js';
|
|
25
|
+
export { Stripe, STRIPE } from './stripe.js';
|
|
26
|
+
export { Figma, FIGMA } from './figma.js';
|
|
27
|
+
export { GoogleAnalytics, GOOGLE_ANALYTICS } from './google/analytics.js';
|
|
28
|
+
export { Calendly, CALENDLY } from './calendly.js';
|
|
29
|
+
export { GoogleDirections, GOOGLE_DIRECTIONS } from './google/directions.js';
|
|
30
|
+
export { Yelp, YELP } from './yelp.js';
|
|
14
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AACnB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kCAAkC,GACnC,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -17,6 +17,7 @@ export declare class Linear extends Service {
|
|
|
17
17
|
readonly loginUrl = "https://linear.app/imbue/settings/account/security/api-keys/new";
|
|
18
18
|
readonly info = "https://linear.app/developers/graphql";
|
|
19
19
|
readonly credentialCheckCurlArguments: readonly ["-X", "POST", "-H", "Content-Type: application/json", "-d", "{\"query\": \"{ viewer { id } }\"}", "https://api.linear.app/graphql"];
|
|
20
|
+
setCredentialsExample(serviceName: string): string;
|
|
20
21
|
getSession(): LinearServiceSession;
|
|
21
22
|
}
|
|
22
23
|
export declare const LINEAR: Linear;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../src/services/linear.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAoB,MAAM,WAAW,CAAC;AAOrF,cAAM,oBAAqB,SAAQ,6BAA6B;IAC9D,OAAO,CAAC,UAAU,CAAS;IAE3B,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA+BpC,SAAS,CAAC,eAAe,IAAI,OAAO;cAIpB,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,cAAc,GAC/B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAgClC;AAED,qBAAa,MAAO,SAAQ,OAAO;IACjC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,WAAW,uCAAwC;IAC5D,QAAQ,CAAC,QAAQ,qEAA0B;IAC3C,QAAQ,CAAC,IAAI,2CAA2C;IAExD,QAAQ,CAAC,4BAA4B,gJAQ1B;
|
|
1
|
+
{"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../src/services/linear.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAoB,MAAM,WAAW,CAAC;AAOrF,cAAM,oBAAqB,SAAQ,6BAA6B;IAC9D,OAAO,CAAC,UAAU,CAAS;IAE3B,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA+BpC,SAAS,CAAC,eAAe,IAAI,OAAO;cAIpB,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,cAAc,GAC/B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAgClC;AAED,qBAAa,MAAO,SAAQ,OAAO;IACjC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,WAAW,uCAAwC;IAC5D,QAAQ,CAAC,QAAQ,qEAA0B;IAC3C,QAAQ,CAAC,IAAI,2CAA2C;IAExD,QAAQ,CAAC,4BAA4B,gJAQ1B;IAEX,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIzC,UAAU,IAAI,oBAAoB;CAG5C;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
|
|
@@ -83,6 +83,9 @@ export class Linear extends Service {
|
|
|
83
83
|
'{"query": "{ viewer { id } }"}',
|
|
84
84
|
'https://api.linear.app/graphql',
|
|
85
85
|
];
|
|
86
|
+
setCredentialsExample(serviceName) {
|
|
87
|
+
return `latchkey auth set ${serviceName} -H "Authorization: <token>"`;
|
|
88
|
+
}
|
|
86
89
|
getSession() {
|
|
87
90
|
return new LinearServiceSession(this);
|
|
88
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/services/linear.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/services/linear.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,9 @@ export declare class Mailchimp extends Service {
|
|
|
4
4
|
readonly displayName = "Mailchimp";
|
|
5
5
|
readonly baseApiUrls: readonly ["https://api.mailchimp.com/", RegExp];
|
|
6
6
|
readonly loginUrl = "https://login.mailchimp.com/";
|
|
7
|
-
readonly info
|
|
7
|
+
readonly info = "https://mailchimp.com/developer/marketing/api/.";
|
|
8
8
|
readonly credentialCheckCurlArguments: readonly ["https://login.mailchimp.com/oauth2/metadata"];
|
|
9
|
+
setCredentialsExample(serviceName: string): string;
|
|
9
10
|
}
|
|
10
11
|
export declare const MAILCHIMP: Mailchimp;
|
|
11
12
|
//# sourceMappingURL=mailchimp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailchimp.d.ts","sourceRoot":"","sources":["../../../src/services/mailchimp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,SAAU,SAAQ,OAAO;IACpC,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,eAAe;IACnC,QAAQ,CAAC,WAAW,kDAGT;IACX,QAAQ,CAAC,QAAQ,kCAAkC;IACnD,QAAQ,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"mailchimp.d.ts","sourceRoot":"","sources":["../../../src/services/mailchimp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,SAAU,SAAQ,OAAO;IACpC,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,eAAe;IACnC,QAAQ,CAAC,WAAW,kDAGT;IACX,QAAQ,CAAC,QAAQ,kCAAkC;IACnD,QAAQ,CAAC,IAAI,qDAAqD;IAElE,QAAQ,CAAC,4BAA4B,2DAA4D;IAEjG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAGnD;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC"}
|
|
@@ -7,10 +7,11 @@ export class Mailchimp extends Service {
|
|
|
7
7
|
/^https:\/\/[^/]+\.api\.mailchimp\.com\//,
|
|
8
8
|
];
|
|
9
9
|
loginUrl = 'https://login.mailchimp.com/';
|
|
10
|
-
info = 'https://mailchimp.com/developer/marketing/api/.
|
|
11
|
-
'Browser-based authentication is not supported. ' +
|
|
12
|
-
'Use `latchkey auth set mailchimp -H "Authorization: Bearer <token>"` to add credentials manually.';
|
|
10
|
+
info = 'https://mailchimp.com/developer/marketing/api/.';
|
|
13
11
|
credentialCheckCurlArguments = ['https://login.mailchimp.com/oauth2/metadata'];
|
|
12
|
+
setCredentialsExample(serviceName) {
|
|
13
|
+
return `latchkey auth set ${serviceName} -H "Authorization: Bearer <token>"`;
|
|
14
|
+
}
|
|
14
15
|
}
|
|
15
16
|
export const MAILCHIMP = new Mailchimp();
|
|
16
17
|
//# sourceMappingURL=mailchimp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailchimp.js","sourceRoot":"","sources":["../../../src/services/mailchimp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,SAAU,SAAQ,OAAO;IAC3B,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAAG,WAAW,CAAC;IAC1B,WAAW,GAAG;QACrB,4BAA4B;QAC5B,yCAAyC;KACjC,CAAC;IACF,QAAQ,GAAG,8BAA8B,CAAC;IAC1C,IAAI,
|
|
1
|
+
{"version":3,"file":"mailchimp.js","sourceRoot":"","sources":["../../../src/services/mailchimp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,SAAU,SAAQ,OAAO;IAC3B,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAAG,WAAW,CAAC;IAC1B,WAAW,GAAG;QACrB,4BAA4B;QAC5B,yCAAyC;KACjC,CAAC;IACF,QAAQ,GAAG,8BAA8B,CAAC;IAC1C,IAAI,GAAG,iDAAiD,CAAC;IAEzD,4BAA4B,GAAG,CAAC,6CAA6C,CAAU,CAAC;IAEjG,qBAAqB,CAAC,WAAmB;QACvC,OAAO,qBAAqB,WAAW,qCAAqC,CAAC;IAC/E,CAAC;CACF;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -22,6 +22,7 @@ export declare class Notion extends Service {
|
|
|
22
22
|
readonly loginUrl = "https://www.notion.so/profile/integrations/form/new-integration";
|
|
23
23
|
readonly info: string;
|
|
24
24
|
readonly credentialCheckCurlArguments: readonly ["-H", "Notion-Version: 2022-06-28", "https://api.notion.com/v1/users/me"];
|
|
25
|
+
setCredentialsExample(serviceName: string): string;
|
|
25
26
|
getSession(): NotionServiceSession;
|
|
26
27
|
}
|
|
27
28
|
export declare const NOTION: Notion;
|