@major-tech/resource-client 0.2.29 → 0.2.32
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/bin/generate-clients.mjs +4 -3
- package/dist/clients/google-analytics.cjs +101 -0
- package/dist/clients/google-analytics.cjs.map +7 -0
- package/dist/clients/google-analytics.d.ts +62 -0
- package/dist/clients/google-analytics.d.ts.map +1 -0
- package/dist/clients/google-analytics.js +74 -0
- package/dist/clients/google-analytics.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +2 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/payload-builders/from-extracted-params.cjs +27 -0
- package/dist/payload-builders/from-extracted-params.cjs.map +2 -2
- package/dist/payload-builders/from-extracted-params.d.ts.map +1 -1
- package/dist/payload-builders/from-extracted-params.js +28 -0
- package/dist/payload-builders/from-extracted-params.js.map +1 -1
- package/dist/payload-builders/google-analytics.cjs +106 -0
- package/dist/payload-builders/google-analytics.cjs.map +7 -0
- package/dist/payload-builders/google-analytics.d.ts +39 -0
- package/dist/payload-builders/google-analytics.d.ts.map +1 -0
- package/dist/payload-builders/google-analytics.js +90 -0
- package/dist/payload-builders/google-analytics.js.map +1 -0
- package/dist/payload-builders/index.cjs +8 -0
- package/dist/payload-builders/index.cjs.map +2 -2
- package/dist/payload-builders/index.d.ts +1 -0
- package/dist/payload-builders/index.d.ts.map +1 -1
- package/dist/payload-builders/index.js +2 -0
- package/dist/payload-builders/index.js.map +1 -1
- package/dist/schemas/google-analytics.cjs +17 -0
- package/dist/schemas/google-analytics.cjs.map +7 -0
- package/dist/schemas/google-analytics.d.ts +133 -0
- package/dist/schemas/google-analytics.d.ts.map +1 -0
- package/dist/schemas/google-analytics.js +2 -0
- package/dist/schemas/google-analytics.js.map +1 -0
- package/dist/schemas/index.cjs +1 -0
- package/dist/schemas/index.cjs.map +2 -2
- package/dist/schemas/index.d.ts +3 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +1 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/response.d.ts +6 -1
- package/dist/schemas/response.d.ts.map +1 -1
- package/package.json +1 -1
package/bin/generate-clients.mjs
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* npx @major-tech/resource-client remove <name>
|
|
9
9
|
* npx @major-tech/resource-client list
|
|
10
10
|
*
|
|
11
|
-
* Types: postgresql | mssql | dynamodb | cosmosdb | snowflake | bigquery | neo4j | hubspot | googlesheets | outreach | custom | lambda | salesforce | s3 | slack | majorauth
|
|
11
|
+
* Types: postgresql | mssql | dynamodb | cosmosdb | snowflake | bigquery | neo4j | hubspot | googlesheets | outreach | custom | lambda | salesforce | s3 | slack | majorauth | googleanalytics
|
|
12
12
|
*
|
|
13
13
|
* Examples:
|
|
14
14
|
* npx @major-tech/resource-client add "abc-123" "orders-db" "postgresql" "Orders database" "app-123"
|
|
@@ -156,6 +156,7 @@ function getClientClass(type) {
|
|
|
156
156
|
's3': 'S3ResourceClient',
|
|
157
157
|
'slack': 'SlackResourceClient',
|
|
158
158
|
'majorauth': 'MajorAuthResourceClient',
|
|
159
|
+
'googleanalytics': 'GoogleAnalyticsResourceClient',
|
|
159
160
|
};
|
|
160
161
|
return typeMap[type] || 'PostgresResourceClient';
|
|
161
162
|
}
|
|
@@ -189,7 +190,7 @@ function generateIndexFile(resources) {
|
|
|
189
190
|
}
|
|
190
191
|
|
|
191
192
|
function addResource(resourceId, name, type, description, applicationId, framework) {
|
|
192
|
-
const validTypes = ['postgresql', 'mssql', 'dynamodb', 'cosmosdb', 'snowflake', 'bigquery', 'neo4j', 'hubspot', 'googlesheets', 'outreach', 'custom', 'lambda', 'salesforce', 's3', 'slack', 'majorauth'];
|
|
193
|
+
const validTypes = ['postgresql', 'mssql', 'dynamodb', 'cosmosdb', 'snowflake', 'bigquery', 'neo4j', 'hubspot', 'googlesheets', 'outreach', 'custom', 'lambda', 'salesforce', 's3', 'slack', 'majorauth', 'googleanalytics'];
|
|
193
194
|
if (!validTypes.includes(type)) {
|
|
194
195
|
console.error(`❌ Invalid type: ${type}`);
|
|
195
196
|
console.error(` Valid types: ${validTypes.join(', ')}`);
|
|
@@ -326,7 +327,7 @@ function main() {
|
|
|
326
327
|
console.log(' npx @major-tech/resource-client add <resource_id> <name> <type> <description> <application_id> [--framework <nextjs|vite>]');
|
|
327
328
|
console.log(' npx @major-tech/resource-client remove <name> [--framework <nextjs|vite>]');
|
|
328
329
|
console.log(' npx @major-tech/resource-client list');
|
|
329
|
-
console.log('\nTypes: postgresql | mssql | dynamodb | cosmosdb | snowflake | bigquery | neo4j | hubspot | googlesheets | outreach | custom | lambda | salesforce | s3 | slack | majorauth');
|
|
330
|
+
console.log('\nTypes: postgresql | mssql | dynamodb | cosmosdb | snowflake | bigquery | neo4j | hubspot | googlesheets | outreach | custom | lambda | salesforce | s3 | slack | majorauth | googleanalytics');
|
|
330
331
|
return;
|
|
331
332
|
}
|
|
332
333
|
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var google_analytics_exports = {};
|
|
21
|
+
__export(google_analytics_exports, {
|
|
22
|
+
GoogleAnalyticsResourceClient: () => GoogleAnalyticsResourceClient
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(google_analytics_exports);
|
|
25
|
+
var import_base = require("../base");
|
|
26
|
+
var import_google_analytics = require("../payload-builders/google-analytics");
|
|
27
|
+
class GoogleAnalyticsResourceClient extends import_base.BaseResourceClient {
|
|
28
|
+
static {
|
|
29
|
+
__name(this, "GoogleAnalyticsResourceClient");
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Run a GA4 report with dimensions, metrics, and date ranges
|
|
33
|
+
* @param dimensions Dimensions to group by (e.g. [{name: 'country'}])
|
|
34
|
+
* @param metrics Metrics to retrieve (e.g. [{name: 'activeUsers'}])
|
|
35
|
+
* @param dateRanges Date ranges (e.g. [{startDate: '2024-01-01', endDate: '2024-01-31'}])
|
|
36
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
37
|
+
* @param options Optional report options (filters, ordering, limit, offset)
|
|
38
|
+
*/
|
|
39
|
+
async runReport(dimensions, metrics, dateRanges, invocationKey, options) {
|
|
40
|
+
const payload = (0, import_google_analytics.buildGoogleAnalyticsRunReportPayload)(dimensions, metrics, dateRanges, options);
|
|
41
|
+
return this.invokeRaw(payload, invocationKey);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get available dimensions and metrics for the GA4 property
|
|
45
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
46
|
+
*/
|
|
47
|
+
async getMetadata(invocationKey) {
|
|
48
|
+
const payload = (0, import_google_analytics.buildGoogleAnalyticsGetMetadataPayload)();
|
|
49
|
+
return this.invokeRaw(payload, invocationKey);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Run a realtime report showing current live user activity
|
|
53
|
+
* @param metrics Metrics to retrieve (e.g. [{name: 'activeUsers'}])
|
|
54
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
55
|
+
* @param dimensions Optional dimensions to group by
|
|
56
|
+
* @param limit Optional row limit
|
|
57
|
+
*/
|
|
58
|
+
async runRealtimeReport(metrics, invocationKey, dimensions, limit) {
|
|
59
|
+
const payload = (0, import_google_analytics.buildGoogleAnalyticsRunRealtimeReportPayload)(metrics, dimensions, limit);
|
|
60
|
+
return this.invokeRaw(payload, invocationKey);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* List all GA4 accounts accessible to the authenticated user
|
|
64
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
65
|
+
* @param options Optional pagination options
|
|
66
|
+
*/
|
|
67
|
+
async listAccounts(invocationKey, options) {
|
|
68
|
+
const payload = (0, import_google_analytics.buildGoogleAnalyticsListAccountsPayload)(options);
|
|
69
|
+
return this.invokeRaw(payload, invocationKey);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* List GA4 properties, optionally filtered by account
|
|
73
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
74
|
+
* @param accountId Optional account filter (e.g. 'accounts/12345')
|
|
75
|
+
* @param options Optional pagination options
|
|
76
|
+
*/
|
|
77
|
+
async listProperties(invocationKey, accountId, options) {
|
|
78
|
+
const payload = (0, import_google_analytics.buildGoogleAnalyticsListPropertiesPayload)(accountId, options);
|
|
79
|
+
return this.invokeRaw(payload, invocationKey);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* List data streams for a GA4 property
|
|
83
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
84
|
+
* @param propertyId Optional property ID (defaults to configured property)
|
|
85
|
+
* @param options Optional pagination options
|
|
86
|
+
*/
|
|
87
|
+
async listDataStreams(invocationKey, propertyId, options) {
|
|
88
|
+
const payload = (0, import_google_analytics.buildGoogleAnalyticsListDataStreamsPayload)(propertyId, options);
|
|
89
|
+
return this.invokeRaw(payload, invocationKey);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Execute a raw Google Analytics operation
|
|
93
|
+
* @param payload The raw operation payload
|
|
94
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
95
|
+
*/
|
|
96
|
+
async invoke(payload, invocationKey) {
|
|
97
|
+
const p = (0, import_google_analytics.buildGoogleAnalyticsInvokePayload)(payload);
|
|
98
|
+
return this.invokeRaw(p, invocationKey);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=google-analytics.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/clients/google-analytics.ts"],
|
|
4
|
+
"sourcesContent": ["import type {\n GADimension,\n GAMetric,\n GADateRange,\n GARunReportOptions,\n GoogleAnalyticsInvokeResponse,\n} from \"../schemas\";\nimport { BaseResourceClient } from \"../base\";\nimport {\n buildGoogleAnalyticsRunReportPayload,\n buildGoogleAnalyticsGetMetadataPayload,\n buildGoogleAnalyticsRunRealtimeReportPayload,\n buildGoogleAnalyticsListAccountsPayload,\n buildGoogleAnalyticsListPropertiesPayload,\n buildGoogleAnalyticsListDataStreamsPayload,\n buildGoogleAnalyticsInvokePayload,\n} from \"../payload-builders/google-analytics\";\n\nexport class GoogleAnalyticsResourceClient extends BaseResourceClient {\n /**\n * Run a GA4 report with dimensions, metrics, and date ranges\n * @param dimensions Dimensions to group by (e.g. [{name: 'country'}])\n * @param metrics Metrics to retrieve (e.g. [{name: 'activeUsers'}])\n * @param dateRanges Date ranges (e.g. [{startDate: '2024-01-01', endDate: '2024-01-31'}])\n * @param invocationKey Unique key for tracking this invocation\n * @param options Optional report options (filters, ordering, limit, offset)\n */\n async runReport(\n dimensions: GADimension[],\n metrics: GAMetric[],\n dateRanges: GADateRange[],\n invocationKey: string,\n options?: GARunReportOptions\n ): Promise<GoogleAnalyticsInvokeResponse> {\n const payload = buildGoogleAnalyticsRunReportPayload(dimensions, metrics, dateRanges, options);\n return this.invokeRaw(payload, invocationKey) as Promise<GoogleAnalyticsInvokeResponse>;\n }\n\n /**\n * Get available dimensions and metrics for the GA4 property\n * @param invocationKey Unique key for tracking this invocation\n */\n async getMetadata(\n invocationKey: string\n ): Promise<GoogleAnalyticsInvokeResponse> {\n const payload = buildGoogleAnalyticsGetMetadataPayload();\n return this.invokeRaw(payload, invocationKey) as Promise<GoogleAnalyticsInvokeResponse>;\n }\n\n /**\n * Run a realtime report showing current live user activity\n * @param metrics Metrics to retrieve (e.g. [{name: 'activeUsers'}])\n * @param invocationKey Unique key for tracking this invocation\n * @param dimensions Optional dimensions to group by\n * @param limit Optional row limit\n */\n async runRealtimeReport(\n metrics: GAMetric[],\n invocationKey: string,\n dimensions?: GADimension[],\n limit?: number\n ): Promise<GoogleAnalyticsInvokeResponse> {\n const payload = buildGoogleAnalyticsRunRealtimeReportPayload(metrics, dimensions, limit);\n return this.invokeRaw(payload, invocationKey) as Promise<GoogleAnalyticsInvokeResponse>;\n }\n\n /**\n * List all GA4 accounts accessible to the authenticated user\n * @param invocationKey Unique key for tracking this invocation\n * @param options Optional pagination options\n */\n async listAccounts(\n invocationKey: string,\n options?: { pageSize?: number; pageToken?: string }\n ): Promise<GoogleAnalyticsInvokeResponse> {\n const payload = buildGoogleAnalyticsListAccountsPayload(options);\n return this.invokeRaw(payload, invocationKey) as Promise<GoogleAnalyticsInvokeResponse>;\n }\n\n /**\n * List GA4 properties, optionally filtered by account\n * @param invocationKey Unique key for tracking this invocation\n * @param accountId Optional account filter (e.g. 'accounts/12345')\n * @param options Optional pagination options\n */\n async listProperties(\n invocationKey: string,\n accountId?: string,\n options?: { pageSize?: number; pageToken?: string }\n ): Promise<GoogleAnalyticsInvokeResponse> {\n const payload = buildGoogleAnalyticsListPropertiesPayload(accountId, options);\n return this.invokeRaw(payload, invocationKey) as Promise<GoogleAnalyticsInvokeResponse>;\n }\n\n /**\n * List data streams for a GA4 property\n * @param invocationKey Unique key for tracking this invocation\n * @param propertyId Optional property ID (defaults to configured property)\n * @param options Optional pagination options\n */\n async listDataStreams(\n invocationKey: string,\n propertyId?: string,\n options?: { pageSize?: number; pageToken?: string }\n ): Promise<GoogleAnalyticsInvokeResponse> {\n const payload = buildGoogleAnalyticsListDataStreamsPayload(propertyId, options);\n return this.invokeRaw(payload, invocationKey) as Promise<GoogleAnalyticsInvokeResponse>;\n }\n\n /**\n * Execute a raw Google Analytics operation\n * @param payload The raw operation payload\n * @param invocationKey Unique key for tracking this invocation\n */\n async invoke(\n payload: Record<string, unknown>,\n invocationKey: string\n ): Promise<GoogleAnalyticsInvokeResponse> {\n const p = buildGoogleAnalyticsInvokePayload(payload);\n return this.invokeRaw(p, invocationKey) as Promise<GoogleAnalyticsInvokeResponse>;\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAOA;;;;;AAAA,kBAAmC;AACnC,8BAQO;AAED,MAAO,sCAAsC,+BAAkB;EAXrE,OAWqE;;;;;;;;;;;EASnE,MAAM,UACJ,YACA,SACA,YACA,eACA,SAA4B;AAE5B,UAAM,cAAU,8DAAqC,YAAY,SAAS,YAAY,OAAO;AAC7F,WAAO,KAAK,UAAU,SAAS,aAAa;EAC9C;;;;;EAMA,MAAM,YACJ,eAAqB;AAErB,UAAM,cAAU,gEAAsC;AACtD,WAAO,KAAK,UAAU,SAAS,aAAa;EAC9C;;;;;;;;EASA,MAAM,kBACJ,SACA,eACA,YACA,OAAc;AAEd,UAAM,cAAU,sEAA6C,SAAS,YAAY,KAAK;AACvF,WAAO,KAAK,UAAU,SAAS,aAAa;EAC9C;;;;;;EAOA,MAAM,aACJ,eACA,SAAmD;AAEnD,UAAM,cAAU,iEAAwC,OAAO;AAC/D,WAAO,KAAK,UAAU,SAAS,aAAa;EAC9C;;;;;;;EAQA,MAAM,eACJ,eACA,WACA,SAAmD;AAEnD,UAAM,cAAU,mEAA0C,WAAW,OAAO;AAC5E,WAAO,KAAK,UAAU,SAAS,aAAa;EAC9C;;;;;;;EAQA,MAAM,gBACJ,eACA,YACA,SAAmD;AAEnD,UAAM,cAAU,oEAA2C,YAAY,OAAO;AAC9E,WAAO,KAAK,UAAU,SAAS,aAAa;EAC9C;;;;;;EAOA,MAAM,OACJ,SACA,eAAqB;AAErB,UAAM,QAAI,2DAAkC,OAAO;AACnD,WAAO,KAAK,UAAU,GAAG,aAAa;EACxC;;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { GADimension, GAMetric, GADateRange, GARunReportOptions, GoogleAnalyticsInvokeResponse } from "../schemas";
|
|
2
|
+
import { BaseResourceClient } from "../base";
|
|
3
|
+
export declare class GoogleAnalyticsResourceClient extends BaseResourceClient {
|
|
4
|
+
/**
|
|
5
|
+
* Run a GA4 report with dimensions, metrics, and date ranges
|
|
6
|
+
* @param dimensions Dimensions to group by (e.g. [{name: 'country'}])
|
|
7
|
+
* @param metrics Metrics to retrieve (e.g. [{name: 'activeUsers'}])
|
|
8
|
+
* @param dateRanges Date ranges (e.g. [{startDate: '2024-01-01', endDate: '2024-01-31'}])
|
|
9
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
10
|
+
* @param options Optional report options (filters, ordering, limit, offset)
|
|
11
|
+
*/
|
|
12
|
+
runReport(dimensions: GADimension[], metrics: GAMetric[], dateRanges: GADateRange[], invocationKey: string, options?: GARunReportOptions): Promise<GoogleAnalyticsInvokeResponse>;
|
|
13
|
+
/**
|
|
14
|
+
* Get available dimensions and metrics for the GA4 property
|
|
15
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
16
|
+
*/
|
|
17
|
+
getMetadata(invocationKey: string): Promise<GoogleAnalyticsInvokeResponse>;
|
|
18
|
+
/**
|
|
19
|
+
* Run a realtime report showing current live user activity
|
|
20
|
+
* @param metrics Metrics to retrieve (e.g. [{name: 'activeUsers'}])
|
|
21
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
22
|
+
* @param dimensions Optional dimensions to group by
|
|
23
|
+
* @param limit Optional row limit
|
|
24
|
+
*/
|
|
25
|
+
runRealtimeReport(metrics: GAMetric[], invocationKey: string, dimensions?: GADimension[], limit?: number): Promise<GoogleAnalyticsInvokeResponse>;
|
|
26
|
+
/**
|
|
27
|
+
* List all GA4 accounts accessible to the authenticated user
|
|
28
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
29
|
+
* @param options Optional pagination options
|
|
30
|
+
*/
|
|
31
|
+
listAccounts(invocationKey: string, options?: {
|
|
32
|
+
pageSize?: number;
|
|
33
|
+
pageToken?: string;
|
|
34
|
+
}): Promise<GoogleAnalyticsInvokeResponse>;
|
|
35
|
+
/**
|
|
36
|
+
* List GA4 properties, optionally filtered by account
|
|
37
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
38
|
+
* @param accountId Optional account filter (e.g. 'accounts/12345')
|
|
39
|
+
* @param options Optional pagination options
|
|
40
|
+
*/
|
|
41
|
+
listProperties(invocationKey: string, accountId?: string, options?: {
|
|
42
|
+
pageSize?: number;
|
|
43
|
+
pageToken?: string;
|
|
44
|
+
}): Promise<GoogleAnalyticsInvokeResponse>;
|
|
45
|
+
/**
|
|
46
|
+
* List data streams for a GA4 property
|
|
47
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
48
|
+
* @param propertyId Optional property ID (defaults to configured property)
|
|
49
|
+
* @param options Optional pagination options
|
|
50
|
+
*/
|
|
51
|
+
listDataStreams(invocationKey: string, propertyId?: string, options?: {
|
|
52
|
+
pageSize?: number;
|
|
53
|
+
pageToken?: string;
|
|
54
|
+
}): Promise<GoogleAnalyticsInvokeResponse>;
|
|
55
|
+
/**
|
|
56
|
+
* Execute a raw Google Analytics operation
|
|
57
|
+
* @param payload The raw operation payload
|
|
58
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
59
|
+
*/
|
|
60
|
+
invoke(payload: Record<string, unknown>, invocationKey: string): Promise<GoogleAnalyticsInvokeResponse>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=google-analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-analytics.d.ts","sourceRoot":"","sources":["../../src/clients/google-analytics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAW7C,qBAAa,6BAA8B,SAAQ,kBAAkB;IACnE;;;;;;;OAOG;IACG,SAAS,CACb,UAAU,EAAE,WAAW,EAAE,EACzB,OAAO,EAAE,QAAQ,EAAE,EACnB,UAAU,EAAE,WAAW,EAAE,EACzB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,6BAA6B,CAAC;IAKzC;;;OAGG;IACG,WAAW,CACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,6BAA6B,CAAC;IAKzC;;;;;;OAMG;IACG,iBAAiB,CACrB,OAAO,EAAE,QAAQ,EAAE,EACnB,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,WAAW,EAAE,EAC1B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,6BAA6B,CAAC;IAKzC;;;;OAIG;IACG,YAAY,CAChB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,6BAA6B,CAAC;IAKzC;;;;;OAKG;IACG,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,6BAA6B,CAAC;IAKzC;;;;;OAKG;IACG,eAAe,CACnB,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,6BAA6B,CAAC;IAKzC;;;;OAIG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,6BAA6B,CAAC;CAI1C"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { BaseResourceClient } from "../base";
|
|
2
|
+
import { buildGoogleAnalyticsRunReportPayload, buildGoogleAnalyticsGetMetadataPayload, buildGoogleAnalyticsRunRealtimeReportPayload, buildGoogleAnalyticsListAccountsPayload, buildGoogleAnalyticsListPropertiesPayload, buildGoogleAnalyticsListDataStreamsPayload, buildGoogleAnalyticsInvokePayload, } from "../payload-builders/google-analytics";
|
|
3
|
+
export class GoogleAnalyticsResourceClient extends BaseResourceClient {
|
|
4
|
+
/**
|
|
5
|
+
* Run a GA4 report with dimensions, metrics, and date ranges
|
|
6
|
+
* @param dimensions Dimensions to group by (e.g. [{name: 'country'}])
|
|
7
|
+
* @param metrics Metrics to retrieve (e.g. [{name: 'activeUsers'}])
|
|
8
|
+
* @param dateRanges Date ranges (e.g. [{startDate: '2024-01-01', endDate: '2024-01-31'}])
|
|
9
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
10
|
+
* @param options Optional report options (filters, ordering, limit, offset)
|
|
11
|
+
*/
|
|
12
|
+
async runReport(dimensions, metrics, dateRanges, invocationKey, options) {
|
|
13
|
+
const payload = buildGoogleAnalyticsRunReportPayload(dimensions, metrics, dateRanges, options);
|
|
14
|
+
return this.invokeRaw(payload, invocationKey);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get available dimensions and metrics for the GA4 property
|
|
18
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
19
|
+
*/
|
|
20
|
+
async getMetadata(invocationKey) {
|
|
21
|
+
const payload = buildGoogleAnalyticsGetMetadataPayload();
|
|
22
|
+
return this.invokeRaw(payload, invocationKey);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Run a realtime report showing current live user activity
|
|
26
|
+
* @param metrics Metrics to retrieve (e.g. [{name: 'activeUsers'}])
|
|
27
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
28
|
+
* @param dimensions Optional dimensions to group by
|
|
29
|
+
* @param limit Optional row limit
|
|
30
|
+
*/
|
|
31
|
+
async runRealtimeReport(metrics, invocationKey, dimensions, limit) {
|
|
32
|
+
const payload = buildGoogleAnalyticsRunRealtimeReportPayload(metrics, dimensions, limit);
|
|
33
|
+
return this.invokeRaw(payload, invocationKey);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* List all GA4 accounts accessible to the authenticated user
|
|
37
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
38
|
+
* @param options Optional pagination options
|
|
39
|
+
*/
|
|
40
|
+
async listAccounts(invocationKey, options) {
|
|
41
|
+
const payload = buildGoogleAnalyticsListAccountsPayload(options);
|
|
42
|
+
return this.invokeRaw(payload, invocationKey);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* List GA4 properties, optionally filtered by account
|
|
46
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
47
|
+
* @param accountId Optional account filter (e.g. 'accounts/12345')
|
|
48
|
+
* @param options Optional pagination options
|
|
49
|
+
*/
|
|
50
|
+
async listProperties(invocationKey, accountId, options) {
|
|
51
|
+
const payload = buildGoogleAnalyticsListPropertiesPayload(accountId, options);
|
|
52
|
+
return this.invokeRaw(payload, invocationKey);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* List data streams for a GA4 property
|
|
56
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
57
|
+
* @param propertyId Optional property ID (defaults to configured property)
|
|
58
|
+
* @param options Optional pagination options
|
|
59
|
+
*/
|
|
60
|
+
async listDataStreams(invocationKey, propertyId, options) {
|
|
61
|
+
const payload = buildGoogleAnalyticsListDataStreamsPayload(propertyId, options);
|
|
62
|
+
return this.invokeRaw(payload, invocationKey);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Execute a raw Google Analytics operation
|
|
66
|
+
* @param payload The raw operation payload
|
|
67
|
+
* @param invocationKey Unique key for tracking this invocation
|
|
68
|
+
*/
|
|
69
|
+
async invoke(payload, invocationKey) {
|
|
70
|
+
const p = buildGoogleAnalyticsInvokePayload(payload);
|
|
71
|
+
return this.invokeRaw(p, invocationKey);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=google-analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-analytics.js","sourceRoot":"","sources":["../../src/clients/google-analytics.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EACL,oCAAoC,EACpC,sCAAsC,EACtC,4CAA4C,EAC5C,uCAAuC,EACvC,yCAAyC,EACzC,0CAA0C,EAC1C,iCAAiC,GAClC,MAAM,sCAAsC,CAAC;AAE9C,MAAM,OAAO,6BAA8B,SAAQ,kBAAkB;IACnE;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CACb,UAAyB,EACzB,OAAmB,EACnB,UAAyB,EACzB,aAAqB,EACrB,OAA4B;QAE5B,MAAM,OAAO,GAAG,oCAAoC,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAA2C,CAAC;IAC1F,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,aAAqB;QAErB,MAAM,OAAO,GAAG,sCAAsC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAA2C,CAAC;IAC1F,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAmB,EACnB,aAAqB,EACrB,UAA0B,EAC1B,KAAc;QAEd,MAAM,OAAO,GAAG,4CAA4C,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAA2C,CAAC;IAC1F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,OAAmD;QAEnD,MAAM,OAAO,GAAG,uCAAuC,CAAC,OAAO,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAA2C,CAAC;IAC1F,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,aAAqB,EACrB,SAAkB,EAClB,OAAmD;QAEnD,MAAM,OAAO,GAAG,yCAAyC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAA2C,CAAC;IAC1F,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,aAAqB,EACrB,UAAmB,EACnB,OAAmD;QAEnD,MAAM,OAAO,GAAG,0CAA0C,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAA2C,CAAC;IAC1F,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACV,OAAgC,EAChC,aAAqB;QAErB,MAAM,CAAC,GAAG,iCAAiC,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAA2C,CAAC;IACpF,CAAC;CACF"}
|
package/dist/index.cjs
CHANGED
|
@@ -24,6 +24,7 @@ __export(index_exports, {
|
|
|
24
24
|
CosmosDBResourceClient: () => import_cosmosdb.CosmosDBResourceClient,
|
|
25
25
|
CustomApiResourceClient: () => import_api_custom.CustomApiResourceClient,
|
|
26
26
|
DynamoDBResourceClient: () => import_dynamodb.DynamoDBResourceClient,
|
|
27
|
+
GoogleAnalyticsResourceClient: () => import_google_analytics.GoogleAnalyticsResourceClient,
|
|
27
28
|
GoogleSheetsResourceClient: () => import_googlesheets.GoogleSheetsResourceClient,
|
|
28
29
|
HubSpotResourceClient: () => import_hubspot.HubSpotResourceClient,
|
|
29
30
|
LambdaResourceClient: () => import_lambda.LambdaResourceClient,
|
|
@@ -58,5 +59,6 @@ var import_outreach = require("./clients/outreach");
|
|
|
58
59
|
var import_neo4j = require("./clients/neo4j");
|
|
59
60
|
var import_slack = require("./clients/slack");
|
|
60
61
|
var import_auth = require("./clients/auth");
|
|
62
|
+
var import_google_analytics = require("./clients/google-analytics");
|
|
61
63
|
__reExport(index_exports, require("./payload-builders"), module.exports);
|
|
62
64
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["// Export all schemas and types\nexport * from \"./schemas\";\n\n// Export base client and config\nexport { BaseResourceClient, type BaseClientConfig } from \"./base\";\n\n// Export errors\nexport { ResourceInvokeError } from \"./errors\";\n\n// Export individual clients\nexport { PostgresResourceClient } from \"./clients/postgres\";\nexport { MssqlResourceClient } from \"./clients/mssql\";\nexport { DynamoDBResourceClient } from \"./clients/dynamodb\";\nexport { CosmosDBResourceClient } from \"./clients/cosmosdb\";\nexport { SnowflakeResourceClient } from \"./clients/snowflake\";\nexport { CustomApiResourceClient } from \"./clients/api-custom\";\nexport { HubSpotResourceClient } from \"./clients/hubspot\";\nexport { SalesforceResourceClient } from \"./clients/salesforce\";\nexport { GoogleSheetsResourceClient } from \"./clients/googlesheets\";\nexport { S3ResourceClient } from \"./clients/s3\";\nexport { LambdaResourceClient } from \"./clients/lambda\";\nexport { BigQueryResourceClient } from \"./clients/bigquery\";\nexport { OutreachResourceClient } from \"./clients/outreach\";\nexport { Neo4jResourceClient } from \"./clients/neo4j\";\nexport { SlackResourceClient } from \"./clients/slack\";\nexport { MajorAuthResourceClient } from \"./clients/auth\";\n\n// Export payload builders (for use in testing UIs, etc.)\nexport * from \"./payload-builders\";\n\n// Re-export common response types for convenience\nexport type {\n DatabaseInvokeResponse,\n DynamoDBInvokeResponse,\n CosmosDBInvokeResponse,\n SnowflakeInvokeResponse,\n ApiInvokeResponse,\n StorageInvokeResponse,\n LambdaInvokeResponse,\n BigQueryInvokeResponse,\n OutreachInvokeResponse,\n Neo4jInvokeResponse,\n SlackInvokeResponse,\n AuthInvokeResponse,\n BaseInvokeSuccess,\n} from \"./schemas/response\";\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA
|
|
4
|
+
"sourcesContent": ["// Export all schemas and types\nexport * from \"./schemas\";\n\n// Export base client and config\nexport { BaseResourceClient, type BaseClientConfig } from \"./base\";\n\n// Export errors\nexport { ResourceInvokeError } from \"./errors\";\n\n// Export individual clients\nexport { PostgresResourceClient } from \"./clients/postgres\";\nexport { MssqlResourceClient } from \"./clients/mssql\";\nexport { DynamoDBResourceClient } from \"./clients/dynamodb\";\nexport { CosmosDBResourceClient } from \"./clients/cosmosdb\";\nexport { SnowflakeResourceClient } from \"./clients/snowflake\";\nexport { CustomApiResourceClient } from \"./clients/api-custom\";\nexport { HubSpotResourceClient } from \"./clients/hubspot\";\nexport { SalesforceResourceClient } from \"./clients/salesforce\";\nexport { GoogleSheetsResourceClient } from \"./clients/googlesheets\";\nexport { S3ResourceClient } from \"./clients/s3\";\nexport { LambdaResourceClient } from \"./clients/lambda\";\nexport { BigQueryResourceClient } from \"./clients/bigquery\";\nexport { OutreachResourceClient } from \"./clients/outreach\";\nexport { Neo4jResourceClient } from \"./clients/neo4j\";\nexport { SlackResourceClient } from \"./clients/slack\";\nexport { MajorAuthResourceClient } from \"./clients/auth\";\nexport { GoogleAnalyticsResourceClient } from \"./clients/google-analytics\";\n\n// Export payload builders (for use in testing UIs, etc.)\nexport * from \"./payload-builders\";\n\n// Re-export common response types for convenience\nexport type {\n DatabaseInvokeResponse,\n DynamoDBInvokeResponse,\n CosmosDBInvokeResponse,\n SnowflakeInvokeResponse,\n ApiInvokeResponse,\n StorageInvokeResponse,\n LambdaInvokeResponse,\n BigQueryInvokeResponse,\n OutreachInvokeResponse,\n Neo4jInvokeResponse,\n SlackInvokeResponse,\n AuthInvokeResponse,\n GoogleAnalyticsInvokeResponse,\n BaseInvokeSuccess,\n} from \"./schemas/response\";\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;AACA,0BAAc,sBADd;AAIA,kBAA0D;AAG1D,oBAAoC;AAGpC,sBAAuC;AACvC,mBAAoC;AACpC,sBAAuC;AACvC,sBAAuC;AACvC,uBAAwC;AACxC,wBAAwC;AACxC,qBAAsC;AACtC,wBAAyC;AACzC,0BAA2C;AAC3C,gBAAiC;AACjC,oBAAqC;AACrC,sBAAuC;AACvC,sBAAuC;AACvC,mBAAoC;AACpC,mBAAoC;AACpC,kBAAwC;AACxC,8BAA8C;AAG9C,0BAAc,+BA7Bd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export { OutreachResourceClient } from "./clients/outreach";
|
|
|
17
17
|
export { Neo4jResourceClient } from "./clients/neo4j";
|
|
18
18
|
export { SlackResourceClient } from "./clients/slack";
|
|
19
19
|
export { MajorAuthResourceClient } from "./clients/auth";
|
|
20
|
+
export { GoogleAnalyticsResourceClient } from "./clients/google-analytics";
|
|
20
21
|
export * from "./payload-builders";
|
|
21
|
-
export type { DatabaseInvokeResponse, DynamoDBInvokeResponse, CosmosDBInvokeResponse, SnowflakeInvokeResponse, ApiInvokeResponse, StorageInvokeResponse, LambdaInvokeResponse, BigQueryInvokeResponse, OutreachInvokeResponse, Neo4jInvokeResponse, SlackInvokeResponse, AuthInvokeResponse, BaseInvokeSuccess, } from "./schemas/response";
|
|
22
|
+
export type { DatabaseInvokeResponse, DynamoDBInvokeResponse, CosmosDBInvokeResponse, SnowflakeInvokeResponse, ApiInvokeResponse, StorageInvokeResponse, LambdaInvokeResponse, BigQueryInvokeResponse, OutreachInvokeResponse, Neo4jInvokeResponse, SlackInvokeResponse, AuthInvokeResponse, GoogleAnalyticsInvokeResponse, BaseInvokeSuccess, } from "./schemas/response";
|
|
22
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAG3E,cAAc,oBAAoB,CAAC;AAGnC,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ export { OutreachResourceClient } from "./clients/outreach";
|
|
|
21
21
|
export { Neo4jResourceClient } from "./clients/neo4j";
|
|
22
22
|
export { SlackResourceClient } from "./clients/slack";
|
|
23
23
|
export { MajorAuthResourceClient } from "./clients/auth";
|
|
24
|
+
export { GoogleAnalyticsResourceClient } from "./clients/google-analytics";
|
|
24
25
|
// Export payload builders (for use in testing UIs, etc.)
|
|
25
26
|
export * from "./payload-builders";
|
|
26
27
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,cAAc,WAAW,CAAC;AAE1B,gCAAgC;AAChC,OAAO,EAAE,kBAAkB,EAAyB,MAAM,QAAQ,CAAC;AAEnE,gBAAgB;AAChB,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,4BAA4B;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,cAAc,WAAW,CAAC;AAE1B,gCAAgC;AAChC,OAAO,EAAE,kBAAkB,EAAyB,MAAM,QAAQ,CAAC;AAEnE,gBAAgB;AAChB,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,4BAA4B;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAE3E,yDAAyD;AACzD,cAAc,oBAAoB,CAAC"}
|
|
@@ -38,6 +38,7 @@ var import_outreach = require("./outreach");
|
|
|
38
38
|
var import_neo4j = require("./neo4j");
|
|
39
39
|
var import_slack = require("./slack");
|
|
40
40
|
var import_auth = require("./auth");
|
|
41
|
+
var import_google_analytics = require("./google-analytics");
|
|
41
42
|
function isUndefinedParam(param) {
|
|
42
43
|
return param.known === false && param.expression === "undefined";
|
|
43
44
|
}
|
|
@@ -372,6 +373,32 @@ function buildPayloadFromExtractedParams(subtype, methodName, extractedParams) {
|
|
|
372
373
|
}
|
|
373
374
|
return (0, import_auth.buildAuthShareAccessPayload)(email);
|
|
374
375
|
}
|
|
376
|
+
// =========================================================================
|
|
377
|
+
// Google Analytics
|
|
378
|
+
// =========================================================================
|
|
379
|
+
case "googleanalytics": {
|
|
380
|
+
if (methodName === "runReport") {
|
|
381
|
+
const dimensions = findParam(extractedParams, "Dimensions");
|
|
382
|
+
const metrics = findParam(extractedParams, "Metrics");
|
|
383
|
+
const dateRanges = findParam(extractedParams, "DateRanges");
|
|
384
|
+
const options = findParam(extractedParams, "Options");
|
|
385
|
+
return (0, import_google_analytics.buildGoogleAnalyticsRunReportPayload)(dimensions ?? [], metrics ?? [], dateRanges ?? [], options);
|
|
386
|
+
}
|
|
387
|
+
if (methodName === "getMetadata") {
|
|
388
|
+
return (0, import_google_analytics.buildGoogleAnalyticsGetMetadataPayload)();
|
|
389
|
+
}
|
|
390
|
+
if (methodName === "listAccounts") {
|
|
391
|
+
const options = findParam(extractedParams, "Options");
|
|
392
|
+
return (0, import_google_analytics.buildGoogleAnalyticsListAccountsPayload)(options);
|
|
393
|
+
}
|
|
394
|
+
if (methodName === "listProperties") {
|
|
395
|
+
const accountId = findParam(extractedParams, "AccountId");
|
|
396
|
+
const options = findParam(extractedParams, "Options");
|
|
397
|
+
return (0, import_google_analytics.buildGoogleAnalyticsListPropertiesPayload)(accountId, options);
|
|
398
|
+
}
|
|
399
|
+
const payload = findParam(extractedParams, "Payload");
|
|
400
|
+
return (0, import_google_analytics.buildGoogleAnalyticsInvokePayload)(payload);
|
|
401
|
+
}
|
|
375
402
|
default:
|
|
376
403
|
throw new Error(`Unsupported resource subtype: ${subtype}`);
|
|
377
404
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/payload-builders/from-extracted-params.ts"],
|
|
4
|
-
"sourcesContent": ["import type { ResourceInvokePayload, CosmosValue } from \"../schemas\";\nimport { buildPostgresInvokePayload } from \"./postgres\";\nimport { buildDynamoDBInvokePayload } from \"./dynamodb\";\nimport {\n buildCosmosDBInvokePayload,\n buildCosmosDBQueryPayload,\n buildCosmosDBReadPayload,\n buildCosmosDBCreatePayload,\n buildCosmosDBReplacePayload,\n buildCosmosDBUpsertPayload,\n buildCosmosDBDeletePayload,\n buildCosmosDBPatchPayload,\n} from \"./cosmosdb\";\nimport { buildMssqlInvokePayload } from \"./mssql\";\nimport {\n buildSnowflakeInvokePayload,\n buildSnowflakeExecutePayload,\n buildSnowflakeStatusPayload,\n buildSnowflakeCancelPayload,\n} from \"./snowflake\";\nimport { buildS3InvokePayload } from \"./s3\";\nimport { buildLambdaInvokePayload } from \"./lambda\";\nimport {\n buildGoogleSheetsInvokePayload,\n buildGoogleSheetsGetValuesPayload,\n buildGoogleSheetsUpdateValuesPayload,\n buildGoogleSheetsAppendValuesPayload,\n buildGoogleSheetsClearValuesPayload,\n buildGoogleSheetsBatchGetValuesPayload,\n buildGoogleSheetsBatchUpdateValuesPayload,\n buildGoogleSheetsGetSpreadsheetPayload,\n buildGoogleSheetsBatchUpdatePayload,\n} from \"./googlesheets\";\nimport { buildHubSpotInvokePayload } from \"./hubspot\";\nimport {\n buildSalesforceInvokePayload,\n buildSalesforceQueryPayload,\n buildSalesforceGetRecordPayload,\n buildSalesforceCreateRecordPayload,\n buildSalesforceUpdateRecordPayload,\n buildSalesforceDeleteRecordPayload,\n buildSalesforceDescribeObjectPayload,\n} from \"./salesforce\";\nimport { buildCustomApiInvokePayload } from \"./custom\";\nimport {\n buildBigQueryQueryPayload,\n buildBigQueryListDatasetsPayload,\n buildBigQueryListTablesPayload,\n buildBigQueryGetTablePayload,\n buildBigQueryInsertRowsPayload,\n buildBigQueryCreateTablePayload,\n buildBigQueryInvokePayload,\n} from \"./bigquery\";\nimport { buildOutreachInvokePayload } from \"./outreach\";\nimport { buildNeo4jInvokePayload } from \"./neo4j\";\nimport { buildSlackInvokePayload } from \"./slack\";\nimport { buildAuthShareAccessPayload, buildAuthRevokeAccessPayload } from \"./auth\";\n\n/**\n * Extracted parameter from query extraction\n */\nexport interface ExtractedParam {\n name: string;\n value: string;\n valueType: string;\n /** Whether the value was statically resolvable from source code */\n known?: boolean;\n /** Original expression if not known */\n expression?: string;\n}\n\n/**\n * Check if a param represents an undefined value\n * An undefined param is one that is not statically known and has expression \"undefined\"\n */\nfunction isUndefinedParam(param: ExtractedParam): boolean {\n return param.known === false && param.expression === \"undefined\";\n}\n\n/**\n * Parse a param value based on its type\n */\nfunction parseParamValue(value: string, valueType: string): unknown {\n if (valueType === \"object\" || valueType === \"list\") {\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n }\n if (valueType === \"number\") {\n const num = Number(value);\n return isNaN(num) ? value : num;\n }\n if (valueType === \"boolean\") {\n return value === \"true\";\n }\n return value;\n}\n\n/**\n * Find a param by name (case-insensitive)\n * Returns undefined if param is not found or if param is an undefined expression\n */\nfunction findParam(params: ExtractedParam[], name: string): unknown {\n const param = params.find((p) => p.name.toLowerCase() === name.toLowerCase());\n if (!param) return undefined;\n // If param is not known and expression is \"undefined\", treat it as undefined\n if (isUndefinedParam(param)) return undefined;\n return parseParamValue(param.value, param.valueType);\n}\n\n/**\n * Build a payload from extracted params\n * This is the universal builder that routes to the correct resource-specific builder\n *\n * @param subtype The resource subtype (e.g., \"postgresql\", \"dynamodb\", \"cosmosdb\")\n * @param methodName The method name being invoked (e.g., \"invoke\", \"query\", \"execute\")\n * @param extractedParams Array of extracted parameters with their values\n * @returns The complete payload ready to send to the API\n */\nexport function buildPayloadFromExtractedParams(\n subtype: string,\n methodName: string,\n extractedParams: ExtractedParam[]\n): ResourceInvokePayload {\n switch (subtype) {\n // =========================================================================\n // PostgreSQL\n // =========================================================================\n case \"postgresql\": {\n const sql = findParam(extractedParams, \"SQL\") as string;\n const params = findParam(extractedParams, \"Params\") as unknown[] | undefined;\n const timeoutMs = findParam(extractedParams, \"Timeout\") as number | undefined;\n return buildPostgresInvokePayload(sql, params as (string | number | boolean | null)[], timeoutMs);\n }\n\n // =========================================================================\n // DynamoDB\n // =========================================================================\n case \"dynamodb\": {\n const command = findParam(extractedParams, \"Command\") as string;\n const params = findParam(extractedParams, \"Params\") as Record<string, unknown>;\n return buildDynamoDBInvokePayload(command as \"Query\", params as never);\n }\n\n // =========================================================================\n // CosmosDB\n // =========================================================================\n case \"cosmosdb\": {\n if (methodName === \"invoke\") {\n // Raw payload passthrough\n const payload = findParam(extractedParams, \"Payload\");\n return buildCosmosDBInvokePayload(payload as never);\n }\n if (methodName === \"query\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const query = findParam(extractedParams, \"Query\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBQueryPayload(container, query, options);\n }\n if (methodName === \"read\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const id = findParam(extractedParams, \"Id\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBReadPayload(container, id, options);\n }\n if (methodName === \"create\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const body = findParam(extractedParams, \"Body\") as Record<string, CosmosValue>;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBCreatePayload(container, body, options);\n }\n if (methodName === \"replace\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const id = findParam(extractedParams, \"Id\") as string;\n const body = findParam(extractedParams, \"Body\") as Record<string, CosmosValue>;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBReplacePayload(container, id, body, options);\n }\n if (methodName === \"upsert\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const body = findParam(extractedParams, \"Body\") as Record<string, CosmosValue>;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBUpsertPayload(container, body, options);\n }\n if (methodName === \"delete\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const id = findParam(extractedParams, \"Id\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBDeletePayload(container, id, options);\n }\n if (methodName === \"patch\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const id = findParam(extractedParams, \"Id\") as string;\n const patchOperations = findParam(extractedParams, \"PatchOperations\") as never[];\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBPatchPayload(container, id, patchOperations, options);\n }\n // Default: try raw payload\n const payload = findParam(extractedParams, \"Payload\");\n return buildCosmosDBInvokePayload(payload as never);\n }\n\n // =========================================================================\n // MSSQL\n // =========================================================================\n case \"mssql\": {\n const sql = findParam(extractedParams, \"SQL\") as string;\n const params = findParam(extractedParams, \"Params\") as Record<string, unknown> | undefined;\n const timeoutMs = findParam(extractedParams, \"Timeout\") as number | undefined;\n return buildMssqlInvokePayload(sql, params as never, timeoutMs);\n }\n\n // =========================================================================\n // Snowflake\n // =========================================================================\n case \"snowflake\": {\n if (methodName === \"invoke\") {\n const payload = findParam(extractedParams, \"Payload\");\n return buildSnowflakeInvokePayload(payload as never);\n }\n if (methodName === \"execute\") {\n const statement = findParam(extractedParams, \"Statement\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildSnowflakeExecutePayload(statement, options);\n }\n if (methodName === \"status\") {\n const statementHandle = findParam(extractedParams, \"StatementHandle\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildSnowflakeStatusPayload(statementHandle, options);\n }\n if (methodName === \"cancel\") {\n const statementHandle = findParam(extractedParams, \"StatementHandle\") as string;\n return buildSnowflakeCancelPayload(statementHandle);\n }\n // Default: try raw payload\n const payload = findParam(extractedParams, \"Payload\");\n return buildSnowflakeInvokePayload(payload as never);\n }\n\n // =========================================================================\n // S3\n // =========================================================================\n case \"s3\": {\n const command = findParam(extractedParams, \"Command\") as string;\n const params = findParam(extractedParams, \"Params\") as Record<string, unknown>;\n const options = findParam(extractedParams, \"Options\") as { timeoutMs?: number } | undefined;\n return buildS3InvokePayload(command as never, params, options);\n }\n\n // =========================================================================\n // Lambda\n // =========================================================================\n case \"lambda\": {\n const functionName = findParam(extractedParams, \"FunctionName\") as string;\n const payload = findParam(extractedParams, \"Payload\");\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildLambdaInvokePayload(functionName, payload, options);\n }\n\n // =========================================================================\n // Google Sheets\n // =========================================================================\n case \"googlesheets\": {\n if (methodName === \"getValues\") {\n const range = findParam(extractedParams, \"Range\") as string;\n return buildGoogleSheetsGetValuesPayload(range);\n }\n if (methodName === \"updateValues\") {\n const range = findParam(extractedParams, \"Range\") as string;\n const values = findParam(extractedParams, \"Values\") as unknown[][];\n const valueInputOption = (findParam(extractedParams, \"ValueInputOption\") as \"RAW\" | \"USER_ENTERED\") ?? \"USER_ENTERED\";\n return buildGoogleSheetsUpdateValuesPayload(range, values, valueInputOption);\n }\n if (methodName === \"appendValues\") {\n const range = findParam(extractedParams, \"Range\") as string;\n const values = findParam(extractedParams, \"Values\") as unknown[][];\n const valueInputOption = (findParam(extractedParams, \"ValueInputOption\") as \"RAW\" | \"USER_ENTERED\") ?? \"USER_ENTERED\";\n return buildGoogleSheetsAppendValuesPayload(range, values, valueInputOption);\n }\n if (methodName === \"clearValues\") {\n const range = findParam(extractedParams, \"Range\") as string;\n return buildGoogleSheetsClearValuesPayload(range);\n }\n if (methodName === \"batchGetValues\") {\n const ranges = findParam(extractedParams, \"Ranges\") as string[];\n return buildGoogleSheetsBatchGetValuesPayload(ranges);\n }\n if (methodName === \"batchUpdateValues\") {\n const data = findParam(extractedParams, \"Data\") as Array<{ range: string; values: unknown[][] }>;\n const valueInputOption = (findParam(extractedParams, \"ValueInputOption\") as \"RAW\" | \"USER_ENTERED\") ?? \"USER_ENTERED\";\n return buildGoogleSheetsBatchUpdateValuesPayload(data, valueInputOption);\n }\n if (methodName === \"getSpreadsheet\") {\n return buildGoogleSheetsGetSpreadsheetPayload();\n }\n if (methodName === \"batchUpdate\") {\n const requests = findParam(extractedParams, \"Requests\") as unknown[];\n return buildGoogleSheetsBatchUpdatePayload(requests);\n }\n // Default: invoke method\n const method = findParam(extractedParams, \"Method\") as \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n const path = findParam(extractedParams, \"Path\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildGoogleSheetsInvokePayload(method, path, options);\n }\n\n // =========================================================================\n // HubSpot\n // =========================================================================\n case \"hubspot\": {\n const method = findParam(extractedParams, \"Method\") as \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n const path = findParam(extractedParams, \"Path\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildHubSpotInvokePayload(method, path, options);\n }\n\n // =========================================================================\n // Salesforce\n // =========================================================================\n case \"salesforce\": {\n if (methodName === \"query\") {\n const query = findParam(extractedParams, \"Query\") as string;\n return buildSalesforceQueryPayload(query);\n }\n if (methodName === \"getRecord\") {\n const objectType = findParam(extractedParams, \"ObjectType\") as string;\n const recordId = findParam(extractedParams, \"RecordId\") as string;\n return buildSalesforceGetRecordPayload(objectType, recordId);\n }\n if (methodName === \"createRecord\") {\n const objectType = findParam(extractedParams, \"ObjectType\") as string;\n const data = findParam(extractedParams, \"Data\") as Record<string, unknown>;\n return buildSalesforceCreateRecordPayload(objectType, data);\n }\n if (methodName === \"updateRecord\") {\n const objectType = findParam(extractedParams, \"ObjectType\") as string;\n const recordId = findParam(extractedParams, \"RecordId\") as string;\n const data = findParam(extractedParams, \"Data\") as Record<string, unknown>;\n return buildSalesforceUpdateRecordPayload(objectType, recordId, data);\n }\n if (methodName === \"deleteRecord\") {\n const objectType = findParam(extractedParams, \"ObjectType\") as string;\n const recordId = findParam(extractedParams, \"RecordId\") as string;\n return buildSalesforceDeleteRecordPayload(objectType, recordId);\n }\n if (methodName === \"describeObject\") {\n const objectType = findParam(extractedParams, \"ObjectType\") as string;\n return buildSalesforceDescribeObjectPayload(objectType);\n }\n // Default: invoke method\n const method = findParam(extractedParams, \"Method\") as \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n const path = findParam(extractedParams, \"Path\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildSalesforceInvokePayload(method, path, options);\n }\n\n // =========================================================================\n // Custom API\n // =========================================================================\n case \"custom\": {\n const method = findParam(extractedParams, \"Method\") as \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n const path = findParam(extractedParams, \"Path\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCustomApiInvokePayload(method, path, options);\n }\n\n // =========================================================================\n // BigQuery\n // =========================================================================\n case \"bigquery\": {\n if (methodName === \"query\") {\n const sql = findParam(extractedParams, \"SQL\") as string;\n const params = findParam(extractedParams, \"Params\") as Record<string, unknown> | undefined;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildBigQueryQueryPayload(sql, params, options);\n }\n if (methodName === \"listDatasets\") {\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildBigQueryListDatasetsPayload(options);\n }\n if (methodName === \"listTables\") {\n const datasetId = findParam(extractedParams, \"DatasetId\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildBigQueryListTablesPayload(datasetId, options);\n }\n if (methodName === \"getTable\") {\n const datasetId = findParam(extractedParams, \"DatasetId\") as string;\n const tableId = findParam(extractedParams, \"TableId\") as string;\n return buildBigQueryGetTablePayload(datasetId, tableId);\n }\n if (methodName === \"insertRows\") {\n const datasetId = findParam(extractedParams, \"DatasetId\") as string;\n const tableId = findParam(extractedParams, \"TableId\") as string;\n const rows = findParam(extractedParams, \"Rows\") as Record<string, unknown>[];\n return buildBigQueryInsertRowsPayload(datasetId, tableId, rows);\n }\n if (methodName === \"createTable\") {\n const datasetId = findParam(extractedParams, \"DatasetId\") as string;\n const tableId = findParam(extractedParams, \"TableId\") as string;\n const schema = findParam(extractedParams, \"Schema\") as { fields: Array<{ name: string; type: string; mode?: string; description?: string }> };\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildBigQueryCreateTablePayload(datasetId, tableId, schema, options);\n }\n // Default: invoke method\n const payload = findParam(extractedParams, \"Payload\") as Record<string, unknown>;\n return buildBigQueryInvokePayload(payload as never);\n }\n\n // =========================================================================\n // Outreach\n // =========================================================================\n case \"outreach\": {\n const method = findParam(extractedParams, \"Method\") as \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n const path = findParam(extractedParams, \"Path\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildOutreachInvokePayload(method, path, options);\n }\n\n // =========================================================================\n // Neo4j\n // =========================================================================\n case \"neo4j\": {\n const cypher = findParam(extractedParams, \"Cypher\") as string;\n const params = findParam(extractedParams, \"Params\") as Record<string, unknown> | undefined;\n const timeoutMs = findParam(extractedParams, \"Timeout\") as number | undefined;\n return buildNeo4jInvokePayload(cypher, params, timeoutMs);\n }\n\n // =========================================================================\n // Slack\n // =========================================================================\n case \"slack\": {\n const method = findParam(extractedParams, \"Method\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildSlackInvokePayload(method, options);\n }\n\n // =========================================================================\n // Major Auth\n // =========================================================================\n case \"majorauth\": {\n const email = findParam(extractedParams, \"Email\") as string;\n if (methodName === \"revokeAccess\") {\n return buildAuthRevokeAccessPayload(email);\n }\n return buildAuthShareAccessPayload(email);\n }\n\n default:\n throw new Error(`Unsupported resource subtype: ${subtype}`);\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AACA;;;;;AAAA,sBAA2C;AAC3C,sBAA2C;AAC3C,sBASO;AACP,mBAAwC;AACxC,uBAKO;AACP,gBAAqC;AACrC,oBAAyC;AACzC,0BAUO;AACP,qBAA0C;AAC1C,wBAQO;AACP,oBAA4C;AAC5C,sBAQO;AACP,sBAA2C;AAC3C,mBAAwC;AACxC,mBAAwC;AACxC,kBAA0E;
|
|
4
|
+
"sourcesContent": ["import type { ResourceInvokePayload, CosmosValue } from \"../schemas\";\nimport { buildPostgresInvokePayload } from \"./postgres\";\nimport { buildDynamoDBInvokePayload } from \"./dynamodb\";\nimport {\n buildCosmosDBInvokePayload,\n buildCosmosDBQueryPayload,\n buildCosmosDBReadPayload,\n buildCosmosDBCreatePayload,\n buildCosmosDBReplacePayload,\n buildCosmosDBUpsertPayload,\n buildCosmosDBDeletePayload,\n buildCosmosDBPatchPayload,\n} from \"./cosmosdb\";\nimport { buildMssqlInvokePayload } from \"./mssql\";\nimport {\n buildSnowflakeInvokePayload,\n buildSnowflakeExecutePayload,\n buildSnowflakeStatusPayload,\n buildSnowflakeCancelPayload,\n} from \"./snowflake\";\nimport { buildS3InvokePayload } from \"./s3\";\nimport { buildLambdaInvokePayload } from \"./lambda\";\nimport {\n buildGoogleSheetsInvokePayload,\n buildGoogleSheetsGetValuesPayload,\n buildGoogleSheetsUpdateValuesPayload,\n buildGoogleSheetsAppendValuesPayload,\n buildGoogleSheetsClearValuesPayload,\n buildGoogleSheetsBatchGetValuesPayload,\n buildGoogleSheetsBatchUpdateValuesPayload,\n buildGoogleSheetsGetSpreadsheetPayload,\n buildGoogleSheetsBatchUpdatePayload,\n} from \"./googlesheets\";\nimport { buildHubSpotInvokePayload } from \"./hubspot\";\nimport {\n buildSalesforceInvokePayload,\n buildSalesforceQueryPayload,\n buildSalesforceGetRecordPayload,\n buildSalesforceCreateRecordPayload,\n buildSalesforceUpdateRecordPayload,\n buildSalesforceDeleteRecordPayload,\n buildSalesforceDescribeObjectPayload,\n} from \"./salesforce\";\nimport { buildCustomApiInvokePayload } from \"./custom\";\nimport {\n buildBigQueryQueryPayload,\n buildBigQueryListDatasetsPayload,\n buildBigQueryListTablesPayload,\n buildBigQueryGetTablePayload,\n buildBigQueryInsertRowsPayload,\n buildBigQueryCreateTablePayload,\n buildBigQueryInvokePayload,\n} from \"./bigquery\";\nimport { buildOutreachInvokePayload } from \"./outreach\";\nimport { buildNeo4jInvokePayload } from \"./neo4j\";\nimport { buildSlackInvokePayload } from \"./slack\";\nimport { buildAuthShareAccessPayload, buildAuthRevokeAccessPayload } from \"./auth\";\nimport {\n buildGoogleAnalyticsRunReportPayload,\n buildGoogleAnalyticsGetMetadataPayload,\n buildGoogleAnalyticsListAccountsPayload,\n buildGoogleAnalyticsListPropertiesPayload,\n buildGoogleAnalyticsInvokePayload,\n} from \"./google-analytics\";\n\n/**\n * Extracted parameter from query extraction\n */\nexport interface ExtractedParam {\n name: string;\n value: string;\n valueType: string;\n /** Whether the value was statically resolvable from source code */\n known?: boolean;\n /** Original expression if not known */\n expression?: string;\n}\n\n/**\n * Check if a param represents an undefined value\n * An undefined param is one that is not statically known and has expression \"undefined\"\n */\nfunction isUndefinedParam(param: ExtractedParam): boolean {\n return param.known === false && param.expression === \"undefined\";\n}\n\n/**\n * Parse a param value based on its type\n */\nfunction parseParamValue(value: string, valueType: string): unknown {\n if (valueType === \"object\" || valueType === \"list\") {\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n }\n if (valueType === \"number\") {\n const num = Number(value);\n return isNaN(num) ? value : num;\n }\n if (valueType === \"boolean\") {\n return value === \"true\";\n }\n return value;\n}\n\n/**\n * Find a param by name (case-insensitive)\n * Returns undefined if param is not found or if param is an undefined expression\n */\nfunction findParam(params: ExtractedParam[], name: string): unknown {\n const param = params.find((p) => p.name.toLowerCase() === name.toLowerCase());\n if (!param) return undefined;\n // If param is not known and expression is \"undefined\", treat it as undefined\n if (isUndefinedParam(param)) return undefined;\n return parseParamValue(param.value, param.valueType);\n}\n\n/**\n * Build a payload from extracted params\n * This is the universal builder that routes to the correct resource-specific builder\n *\n * @param subtype The resource subtype (e.g., \"postgresql\", \"dynamodb\", \"cosmosdb\")\n * @param methodName The method name being invoked (e.g., \"invoke\", \"query\", \"execute\")\n * @param extractedParams Array of extracted parameters with their values\n * @returns The complete payload ready to send to the API\n */\nexport function buildPayloadFromExtractedParams(\n subtype: string,\n methodName: string,\n extractedParams: ExtractedParam[]\n): ResourceInvokePayload {\n switch (subtype) {\n // =========================================================================\n // PostgreSQL\n // =========================================================================\n case \"postgresql\": {\n const sql = findParam(extractedParams, \"SQL\") as string;\n const params = findParam(extractedParams, \"Params\") as unknown[] | undefined;\n const timeoutMs = findParam(extractedParams, \"Timeout\") as number | undefined;\n return buildPostgresInvokePayload(sql, params as (string | number | boolean | null)[], timeoutMs);\n }\n\n // =========================================================================\n // DynamoDB\n // =========================================================================\n case \"dynamodb\": {\n const command = findParam(extractedParams, \"Command\") as string;\n const params = findParam(extractedParams, \"Params\") as Record<string, unknown>;\n return buildDynamoDBInvokePayload(command as \"Query\", params as never);\n }\n\n // =========================================================================\n // CosmosDB\n // =========================================================================\n case \"cosmosdb\": {\n if (methodName === \"invoke\") {\n // Raw payload passthrough\n const payload = findParam(extractedParams, \"Payload\");\n return buildCosmosDBInvokePayload(payload as never);\n }\n if (methodName === \"query\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const query = findParam(extractedParams, \"Query\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBQueryPayload(container, query, options);\n }\n if (methodName === \"read\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const id = findParam(extractedParams, \"Id\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBReadPayload(container, id, options);\n }\n if (methodName === \"create\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const body = findParam(extractedParams, \"Body\") as Record<string, CosmosValue>;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBCreatePayload(container, body, options);\n }\n if (methodName === \"replace\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const id = findParam(extractedParams, \"Id\") as string;\n const body = findParam(extractedParams, \"Body\") as Record<string, CosmosValue>;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBReplacePayload(container, id, body, options);\n }\n if (methodName === \"upsert\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const body = findParam(extractedParams, \"Body\") as Record<string, CosmosValue>;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBUpsertPayload(container, body, options);\n }\n if (methodName === \"delete\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const id = findParam(extractedParams, \"Id\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBDeletePayload(container, id, options);\n }\n if (methodName === \"patch\") {\n const container = findParam(extractedParams, \"Container\") as string;\n const id = findParam(extractedParams, \"Id\") as string;\n const patchOperations = findParam(extractedParams, \"PatchOperations\") as never[];\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCosmosDBPatchPayload(container, id, patchOperations, options);\n }\n // Default: try raw payload\n const payload = findParam(extractedParams, \"Payload\");\n return buildCosmosDBInvokePayload(payload as never);\n }\n\n // =========================================================================\n // MSSQL\n // =========================================================================\n case \"mssql\": {\n const sql = findParam(extractedParams, \"SQL\") as string;\n const params = findParam(extractedParams, \"Params\") as Record<string, unknown> | undefined;\n const timeoutMs = findParam(extractedParams, \"Timeout\") as number | undefined;\n return buildMssqlInvokePayload(sql, params as never, timeoutMs);\n }\n\n // =========================================================================\n // Snowflake\n // =========================================================================\n case \"snowflake\": {\n if (methodName === \"invoke\") {\n const payload = findParam(extractedParams, \"Payload\");\n return buildSnowflakeInvokePayload(payload as never);\n }\n if (methodName === \"execute\") {\n const statement = findParam(extractedParams, \"Statement\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildSnowflakeExecutePayload(statement, options);\n }\n if (methodName === \"status\") {\n const statementHandle = findParam(extractedParams, \"StatementHandle\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildSnowflakeStatusPayload(statementHandle, options);\n }\n if (methodName === \"cancel\") {\n const statementHandle = findParam(extractedParams, \"StatementHandle\") as string;\n return buildSnowflakeCancelPayload(statementHandle);\n }\n // Default: try raw payload\n const payload = findParam(extractedParams, \"Payload\");\n return buildSnowflakeInvokePayload(payload as never);\n }\n\n // =========================================================================\n // S3\n // =========================================================================\n case \"s3\": {\n const command = findParam(extractedParams, \"Command\") as string;\n const params = findParam(extractedParams, \"Params\") as Record<string, unknown>;\n const options = findParam(extractedParams, \"Options\") as { timeoutMs?: number } | undefined;\n return buildS3InvokePayload(command as never, params, options);\n }\n\n // =========================================================================\n // Lambda\n // =========================================================================\n case \"lambda\": {\n const functionName = findParam(extractedParams, \"FunctionName\") as string;\n const payload = findParam(extractedParams, \"Payload\");\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildLambdaInvokePayload(functionName, payload, options);\n }\n\n // =========================================================================\n // Google Sheets\n // =========================================================================\n case \"googlesheets\": {\n if (methodName === \"getValues\") {\n const range = findParam(extractedParams, \"Range\") as string;\n return buildGoogleSheetsGetValuesPayload(range);\n }\n if (methodName === \"updateValues\") {\n const range = findParam(extractedParams, \"Range\") as string;\n const values = findParam(extractedParams, \"Values\") as unknown[][];\n const valueInputOption = (findParam(extractedParams, \"ValueInputOption\") as \"RAW\" | \"USER_ENTERED\") ?? \"USER_ENTERED\";\n return buildGoogleSheetsUpdateValuesPayload(range, values, valueInputOption);\n }\n if (methodName === \"appendValues\") {\n const range = findParam(extractedParams, \"Range\") as string;\n const values = findParam(extractedParams, \"Values\") as unknown[][];\n const valueInputOption = (findParam(extractedParams, \"ValueInputOption\") as \"RAW\" | \"USER_ENTERED\") ?? \"USER_ENTERED\";\n return buildGoogleSheetsAppendValuesPayload(range, values, valueInputOption);\n }\n if (methodName === \"clearValues\") {\n const range = findParam(extractedParams, \"Range\") as string;\n return buildGoogleSheetsClearValuesPayload(range);\n }\n if (methodName === \"batchGetValues\") {\n const ranges = findParam(extractedParams, \"Ranges\") as string[];\n return buildGoogleSheetsBatchGetValuesPayload(ranges);\n }\n if (methodName === \"batchUpdateValues\") {\n const data = findParam(extractedParams, \"Data\") as Array<{ range: string; values: unknown[][] }>;\n const valueInputOption = (findParam(extractedParams, \"ValueInputOption\") as \"RAW\" | \"USER_ENTERED\") ?? \"USER_ENTERED\";\n return buildGoogleSheetsBatchUpdateValuesPayload(data, valueInputOption);\n }\n if (methodName === \"getSpreadsheet\") {\n return buildGoogleSheetsGetSpreadsheetPayload();\n }\n if (methodName === \"batchUpdate\") {\n const requests = findParam(extractedParams, \"Requests\") as unknown[];\n return buildGoogleSheetsBatchUpdatePayload(requests);\n }\n // Default: invoke method\n const method = findParam(extractedParams, \"Method\") as \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n const path = findParam(extractedParams, \"Path\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildGoogleSheetsInvokePayload(method, path, options);\n }\n\n // =========================================================================\n // HubSpot\n // =========================================================================\n case \"hubspot\": {\n const method = findParam(extractedParams, \"Method\") as \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n const path = findParam(extractedParams, \"Path\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildHubSpotInvokePayload(method, path, options);\n }\n\n // =========================================================================\n // Salesforce\n // =========================================================================\n case \"salesforce\": {\n if (methodName === \"query\") {\n const query = findParam(extractedParams, \"Query\") as string;\n return buildSalesforceQueryPayload(query);\n }\n if (methodName === \"getRecord\") {\n const objectType = findParam(extractedParams, \"ObjectType\") as string;\n const recordId = findParam(extractedParams, \"RecordId\") as string;\n return buildSalesforceGetRecordPayload(objectType, recordId);\n }\n if (methodName === \"createRecord\") {\n const objectType = findParam(extractedParams, \"ObjectType\") as string;\n const data = findParam(extractedParams, \"Data\") as Record<string, unknown>;\n return buildSalesforceCreateRecordPayload(objectType, data);\n }\n if (methodName === \"updateRecord\") {\n const objectType = findParam(extractedParams, \"ObjectType\") as string;\n const recordId = findParam(extractedParams, \"RecordId\") as string;\n const data = findParam(extractedParams, \"Data\") as Record<string, unknown>;\n return buildSalesforceUpdateRecordPayload(objectType, recordId, data);\n }\n if (methodName === \"deleteRecord\") {\n const objectType = findParam(extractedParams, \"ObjectType\") as string;\n const recordId = findParam(extractedParams, \"RecordId\") as string;\n return buildSalesforceDeleteRecordPayload(objectType, recordId);\n }\n if (methodName === \"describeObject\") {\n const objectType = findParam(extractedParams, \"ObjectType\") as string;\n return buildSalesforceDescribeObjectPayload(objectType);\n }\n // Default: invoke method\n const method = findParam(extractedParams, \"Method\") as \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n const path = findParam(extractedParams, \"Path\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildSalesforceInvokePayload(method, path, options);\n }\n\n // =========================================================================\n // Custom API\n // =========================================================================\n case \"custom\": {\n const method = findParam(extractedParams, \"Method\") as \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n const path = findParam(extractedParams, \"Path\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildCustomApiInvokePayload(method, path, options);\n }\n\n // =========================================================================\n // BigQuery\n // =========================================================================\n case \"bigquery\": {\n if (methodName === \"query\") {\n const sql = findParam(extractedParams, \"SQL\") as string;\n const params = findParam(extractedParams, \"Params\") as Record<string, unknown> | undefined;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildBigQueryQueryPayload(sql, params, options);\n }\n if (methodName === \"listDatasets\") {\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildBigQueryListDatasetsPayload(options);\n }\n if (methodName === \"listTables\") {\n const datasetId = findParam(extractedParams, \"DatasetId\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildBigQueryListTablesPayload(datasetId, options);\n }\n if (methodName === \"getTable\") {\n const datasetId = findParam(extractedParams, \"DatasetId\") as string;\n const tableId = findParam(extractedParams, \"TableId\") as string;\n return buildBigQueryGetTablePayload(datasetId, tableId);\n }\n if (methodName === \"insertRows\") {\n const datasetId = findParam(extractedParams, \"DatasetId\") as string;\n const tableId = findParam(extractedParams, \"TableId\") as string;\n const rows = findParam(extractedParams, \"Rows\") as Record<string, unknown>[];\n return buildBigQueryInsertRowsPayload(datasetId, tableId, rows);\n }\n if (methodName === \"createTable\") {\n const datasetId = findParam(extractedParams, \"DatasetId\") as string;\n const tableId = findParam(extractedParams, \"TableId\") as string;\n const schema = findParam(extractedParams, \"Schema\") as { fields: Array<{ name: string; type: string; mode?: string; description?: string }> };\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildBigQueryCreateTablePayload(datasetId, tableId, schema, options);\n }\n // Default: invoke method\n const payload = findParam(extractedParams, \"Payload\") as Record<string, unknown>;\n return buildBigQueryInvokePayload(payload as never);\n }\n\n // =========================================================================\n // Outreach\n // =========================================================================\n case \"outreach\": {\n const method = findParam(extractedParams, \"Method\") as \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n const path = findParam(extractedParams, \"Path\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildOutreachInvokePayload(method, path, options);\n }\n\n // =========================================================================\n // Neo4j\n // =========================================================================\n case \"neo4j\": {\n const cypher = findParam(extractedParams, \"Cypher\") as string;\n const params = findParam(extractedParams, \"Params\") as Record<string, unknown> | undefined;\n const timeoutMs = findParam(extractedParams, \"Timeout\") as number | undefined;\n return buildNeo4jInvokePayload(cypher, params, timeoutMs);\n }\n\n // =========================================================================\n // Slack\n // =========================================================================\n case \"slack\": {\n const method = findParam(extractedParams, \"Method\") as string;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildSlackInvokePayload(method, options);\n }\n\n // =========================================================================\n // Major Auth\n // =========================================================================\n case \"majorauth\": {\n const email = findParam(extractedParams, \"Email\") as string;\n if (methodName === \"revokeAccess\") {\n return buildAuthRevokeAccessPayload(email);\n }\n return buildAuthShareAccessPayload(email);\n }\n\n // =========================================================================\n // Google Analytics\n // =========================================================================\n case \"googleanalytics\": {\n if (methodName === \"runReport\") {\n const dimensions = findParam(extractedParams, \"Dimensions\") as { name: string }[] | undefined;\n const metrics = findParam(extractedParams, \"Metrics\") as { name: string }[] | undefined;\n const dateRanges = findParam(extractedParams, \"DateRanges\") as { startDate: string; endDate: string }[] | undefined;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildGoogleAnalyticsRunReportPayload(\n dimensions ?? [],\n metrics ?? [],\n dateRanges ?? [],\n options as never\n );\n }\n if (methodName === \"getMetadata\") {\n return buildGoogleAnalyticsGetMetadataPayload();\n }\n if (methodName === \"listAccounts\") {\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildGoogleAnalyticsListAccountsPayload(options as never);\n }\n if (methodName === \"listProperties\") {\n const accountId = findParam(extractedParams, \"AccountId\") as string | undefined;\n const options = findParam(extractedParams, \"Options\") as Record<string, unknown> | undefined;\n return buildGoogleAnalyticsListPropertiesPayload(accountId, options as never);\n }\n // Default: invoke method\n const payload = findParam(extractedParams, \"Payload\") as Record<string, unknown>;\n return buildGoogleAnalyticsInvokePayload(payload as never);\n }\n\n default:\n throw new Error(`Unsupported resource subtype: ${subtype}`);\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["payload"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"from-extracted-params.d.ts","sourceRoot":"","sources":["../../src/payload-builders/from-extracted-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAe,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"from-extracted-params.d.ts","sourceRoot":"","sources":["../../src/payload-builders/from-extracted-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAe,MAAM,YAAY,CAAC;AAiErE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA2CD;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,cAAc,EAAE,GAChC,qBAAqB,CAyWvB"}
|