@agnocon/piece-browserless 0.1.7

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.
Files changed (42) hide show
  1. package/LICENSE.MIT-AP +24 -0
  2. package/dist/index.d.ts +6 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +31 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/actions/capture-screenshot.d.ts +20 -0
  7. package/dist/lib/actions/capture-screenshot.d.ts.map +1 -0
  8. package/dist/lib/actions/capture-screenshot.js +176 -0
  9. package/dist/lib/actions/capture-screenshot.js.map +1 -0
  10. package/dist/lib/actions/generate-pdf.d.ts +38 -0
  11. package/dist/lib/actions/generate-pdf.d.ts.map +1 -0
  12. package/dist/lib/actions/generate-pdf.js +346 -0
  13. package/dist/lib/actions/generate-pdf.js.map +1 -0
  14. package/dist/lib/actions/get-website-performance.d.ts +20 -0
  15. package/dist/lib/actions/get-website-performance.d.ts.map +1 -0
  16. package/dist/lib/actions/get-website-performance.js +306 -0
  17. package/dist/lib/actions/get-website-performance.js.map +1 -0
  18. package/dist/lib/actions/run-bql-query.d.ts +26 -0
  19. package/dist/lib/actions/run-bql-query.d.ts.map +1 -0
  20. package/dist/lib/actions/run-bql-query.js +273 -0
  21. package/dist/lib/actions/run-bql-query.js.map +1 -0
  22. package/dist/lib/actions/scrape-url.d.ts +27 -0
  23. package/dist/lib/actions/scrape-url.d.ts.map +1 -0
  24. package/dist/lib/actions/scrape-url.js +277 -0
  25. package/dist/lib/actions/scrape-url.js.map +1 -0
  26. package/dist/lib/common/auth.d.ts +6 -0
  27. package/dist/lib/common/auth.d.ts.map +1 -0
  28. package/dist/lib/common/auth.js +62 -0
  29. package/dist/lib/common/auth.js.map +1 -0
  30. package/dist/lib/common/client.d.ts +18 -0
  31. package/dist/lib/common/client.d.ts.map +1 -0
  32. package/dist/lib/common/client.js +56 -0
  33. package/dist/lib/common/client.js.map +1 -0
  34. package/package.json +46 -0
  35. package/src/index.ts +26 -0
  36. package/src/lib/actions/capture-screenshot.ts +176 -0
  37. package/src/lib/actions/generate-pdf.ts +364 -0
  38. package/src/lib/actions/get-website-performance.ts +321 -0
  39. package/src/lib/actions/run-bql-query.ts +295 -0
  40. package/src/lib/actions/scrape-url.ts +291 -0
  41. package/src/lib/common/auth.ts +57 -0
  42. package/src/lib/common/client.ts +72 -0
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWebsitePerformance = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Vendored from Activepieces packages/pieces/community/browserless/src/lib/actions/get-website-performance.ts (MIT).
6
+ // Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
7
+ const pieces_framework_1 = require("@agnocon/pieces-framework");
8
+ const pieces_common_1 = require("@agnocon/pieces-common");
9
+ const auth_1 = require("../common/auth");
10
+ const client_1 = require("../common/client");
11
+ exports.getWebsitePerformance = (0, pieces_framework_1.createAction)({
12
+ name: 'get_website_performance',
13
+ displayName: 'Get Website Performance',
14
+ description: 'Analyze website performance metrics using Lighthouse',
15
+ audience: 'both',
16
+ aiMetadata: { description: 'Runs a Lighthouse audit on a public URL in a headless browser and returns performance, accessibility, best-practices, SEO, and PWA scores plus key metrics. Use to measure a page\'s quality; the URL is required, and you can scope the audit to specific categories and simulate a desktop or mobile device with network throttling. Read-only analysis: re-running with the same input re-audits the page without side effects (scores may vary slightly run to run).', idempotent: true },
17
+ auth: auth_1.browserlessAuth,
18
+ props: {
19
+ url: pieces_framework_1.Property.ShortText({
20
+ displayName: 'URL',
21
+ description: 'The URL of the website to analyze',
22
+ required: true,
23
+ }),
24
+ categories: pieces_framework_1.Property.Array({
25
+ displayName: 'Performance Categories',
26
+ description: 'Select which performance categories to analyze (performance, accessibility, best-practices, seo, pwa)',
27
+ required: false,
28
+ properties: {
29
+ category: pieces_framework_1.Property.StaticDropdown({
30
+ displayName: 'Category',
31
+ required: true,
32
+ options: {
33
+ options: [
34
+ { label: 'Performance', value: 'performance' },
35
+ { label: 'Accessibility', value: 'accessibility' },
36
+ { label: 'Best Practices', value: 'best-practices' },
37
+ { label: 'SEO', value: 'seo' },
38
+ { label: 'PWA', value: 'pwa' }
39
+ ]
40
+ }
41
+ })
42
+ }
43
+ }),
44
+ device: pieces_framework_1.Property.StaticDropdown({
45
+ displayName: 'Device Type',
46
+ description: 'Device type for performance analysis',
47
+ required: false,
48
+ defaultValue: 'desktop',
49
+ options: {
50
+ options: [
51
+ { label: 'Desktop', value: 'desktop' },
52
+ { label: 'Mobile', value: 'mobile' }
53
+ ]
54
+ }
55
+ }),
56
+ throttling: pieces_framework_1.Property.StaticDropdown({
57
+ displayName: 'Network Throttling',
58
+ description: 'Network throttling simulation',
59
+ required: false,
60
+ defaultValue: 'mobileSlow4G',
61
+ options: {
62
+ options: [
63
+ { label: 'No Throttling', value: 'none' },
64
+ { label: 'Slow 4G', value: 'mobileSlow4G' },
65
+ { label: 'Regular 4G', value: 'mobileRegular4G' },
66
+ { label: 'Fast 4G', value: 'mobileFast4G' }
67
+ ]
68
+ }
69
+ }),
70
+ onlyCategories: pieces_framework_1.Property.Checkbox({
71
+ displayName: 'Only Category Scores',
72
+ description: 'Return only category scores without detailed audit results',
73
+ required: false,
74
+ defaultValue: false,
75
+ }),
76
+ locale: pieces_framework_1.Property.ShortText({
77
+ displayName: 'Locale',
78
+ description: 'Locale for the analysis (e.g., en-US, de-DE)',
79
+ required: false,
80
+ defaultValue: 'en-US',
81
+ }),
82
+ userAgent: pieces_framework_1.Property.ShortText({
83
+ displayName: 'User Agent',
84
+ description: 'Custom user agent string',
85
+ required: false,
86
+ }),
87
+ timeout: pieces_framework_1.Property.Number({
88
+ displayName: 'Timeout (ms)',
89
+ description: 'Maximum time to wait for the analysis to complete',
90
+ required: false,
91
+ defaultValue: 60000,
92
+ }),
93
+ waitForSelector: pieces_framework_1.Property.ShortText({
94
+ displayName: 'Wait for Selector',
95
+ description: 'CSS selector to wait for before running performance analysis',
96
+ required: false,
97
+ }),
98
+ emulateMediaType: pieces_framework_1.Property.StaticDropdown({
99
+ displayName: 'Emulate Media Type',
100
+ description: 'Emulate CSS media type',
101
+ required: false,
102
+ options: {
103
+ options: [
104
+ { label: 'Screen', value: 'screen' },
105
+ { label: 'Print', value: 'print' }
106
+ ]
107
+ }
108
+ }),
109
+ budgets: pieces_framework_1.Property.Array({
110
+ displayName: 'Performance Budgets',
111
+ description: 'Lighthouse performance budgets for resource sizes',
112
+ required: false,
113
+ properties: {
114
+ resourceType: pieces_framework_1.Property.StaticDropdown({
115
+ displayName: 'Resource Type',
116
+ description: 'Type of resource to budget',
117
+ required: true,
118
+ options: {
119
+ options: [
120
+ { label: 'Document', value: 'document' },
121
+ { label: 'Script', value: 'script' },
122
+ { label: 'Stylesheet', value: 'stylesheet' },
123
+ { label: 'Image', value: 'image' },
124
+ { label: 'Media', value: 'media' },
125
+ { label: 'Font', value: 'font' },
126
+ { label: 'Other', value: 'other' },
127
+ { label: 'Third-party', value: 'third-party' }
128
+ ]
129
+ }
130
+ }),
131
+ budget: pieces_framework_1.Property.Number({
132
+ displayName: 'Budget Size (KB)',
133
+ description: 'Maximum allowed size in kilobytes',
134
+ required: true,
135
+ })
136
+ }
137
+ }),
138
+ stealth: pieces_framework_1.Property.Checkbox({
139
+ displayName: 'Stealth Mode',
140
+ description: 'Enable stealth mode for bot detection bypass',
141
+ required: false,
142
+ defaultValue: false,
143
+ }),
144
+ blockAds: pieces_framework_1.Property.Checkbox({
145
+ displayName: 'Block Ads',
146
+ description: 'Enable ad blocker during performance analysis',
147
+ required: false,
148
+ defaultValue: false,
149
+ }),
150
+ },
151
+ run(context) {
152
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
153
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
154
+ const requestBody = {
155
+ url: context.propsValue.url,
156
+ };
157
+ const lighthouseConfig = {
158
+ extends: 'lighthouse:default',
159
+ settings: {}
160
+ };
161
+ if (context.propsValue.categories && context.propsValue.categories.length > 0) {
162
+ lighthouseConfig.settings.onlyCategories = context.propsValue.categories.map((cat) => cat.category);
163
+ }
164
+ if (context.propsValue.locale) {
165
+ lighthouseConfig.settings.locale = context.propsValue.locale;
166
+ }
167
+ if (context.propsValue.device) {
168
+ lighthouseConfig.settings.formFactor = context.propsValue.device;
169
+ }
170
+ if (context.propsValue.throttling && context.propsValue.throttling !== 'none') {
171
+ lighthouseConfig.settings.throttling = { rttMs: 150, throughputKbps: 1638.4, cpuSlowdownMultiplier: 4 };
172
+ switch (context.propsValue.throttling) {
173
+ case 'mobileSlow4G':
174
+ lighthouseConfig.settings.throttling = { rttMs: 150, throughputKbps: 1638.4, cpuSlowdownMultiplier: 4 };
175
+ break;
176
+ case 'mobileRegular4G':
177
+ lighthouseConfig.settings.throttling = { rttMs: 100, throughputKbps: 2048, cpuSlowdownMultiplier: 3 };
178
+ break;
179
+ case 'mobileFast4G':
180
+ lighthouseConfig.settings.throttling = { rttMs: 50, throughputKbps: 4096, cpuSlowdownMultiplier: 2 };
181
+ break;
182
+ }
183
+ }
184
+ if (context.propsValue.userAgent) {
185
+ lighthouseConfig.settings.userAgent = context.propsValue.userAgent;
186
+ }
187
+ if (context.propsValue.timeout) {
188
+ lighthouseConfig.settings.timeout = context.propsValue.timeout;
189
+ }
190
+ if (context.propsValue.waitForSelector) {
191
+ lighthouseConfig.settings.waitForSelector = context.propsValue.waitForSelector;
192
+ }
193
+ if (context.propsValue.emulateMediaType) {
194
+ lighthouseConfig.settings.emulatedFormFactor = context.propsValue.emulateMediaType;
195
+ }
196
+ if (context.propsValue.onlyCategories && !lighthouseConfig.settings.onlyCategories) {
197
+ lighthouseConfig.settings.onlyCategories = ['performance', 'accessibility', 'best-practices', 'seo', 'pwa'];
198
+ }
199
+ requestBody.config = lighthouseConfig;
200
+ if (context.propsValue.budgets && context.propsValue.budgets.length > 0) {
201
+ requestBody.budgets = context.propsValue.budgets.map((budget) => ({
202
+ resourceType: budget.resourceType,
203
+ budget: budget.budget * 1024
204
+ }));
205
+ }
206
+ let resourceUri = '/performance';
207
+ const queryParams = [];
208
+ if (context.propsValue.stealth) {
209
+ queryParams.push('stealth=true');
210
+ }
211
+ if (context.propsValue.blockAds) {
212
+ queryParams.push('blockAds=true');
213
+ }
214
+ if (queryParams.length > 0) {
215
+ resourceUri += `?${queryParams.join('&')}`;
216
+ }
217
+ const response = yield client_1.browserlessCommon.apiCall({
218
+ auth: context.auth.props,
219
+ method: pieces_common_1.HttpMethod.POST,
220
+ resourceUri,
221
+ body: requestBody,
222
+ });
223
+ const performanceData = response.body;
224
+ const summary = {
225
+ url: context.propsValue.url,
226
+ formFactor: context.propsValue.device || 'desktop',
227
+ timestamp: new Date().toISOString(),
228
+ };
229
+ if (performanceData.lhr && performanceData.lhr.categories) {
230
+ const categories = performanceData.lhr.categories;
231
+ summary.scores = {
232
+ performance: ((_a = categories.performance) === null || _a === void 0 ? void 0 : _a.score) ? Math.round(categories.performance.score * 100) : null,
233
+ accessibility: ((_b = categories.accessibility) === null || _b === void 0 ? void 0 : _b.score) ? Math.round(categories.accessibility.score * 100) : null,
234
+ bestPractices: ((_c = categories['best-practices']) === null || _c === void 0 ? void 0 : _c.score) ? Math.round(categories['best-practices'].score * 100) : null,
235
+ seo: ((_d = categories.seo) === null || _d === void 0 ? void 0 : _d.score) ? Math.round(categories.seo.score * 100) : null,
236
+ pwa: ((_e = categories.pwa) === null || _e === void 0 ? void 0 : _e.score) ? Math.round(categories.pwa.score * 100) : null,
237
+ };
238
+ }
239
+ if (performanceData.lhr && performanceData.lhr.audits) {
240
+ const audits = performanceData.lhr.audits;
241
+ summary.metrics = {
242
+ firstContentfulPaint: {
243
+ value: ((_f = audits['first-contentful-paint']) === null || _f === void 0 ? void 0 : _f.displayValue) || null,
244
+ score: ((_g = audits['first-contentful-paint']) === null || _g === void 0 ? void 0 : _g.score) ? Math.round(audits['first-contentful-paint'].score * 100) : null
245
+ },
246
+ largestContentfulPaint: {
247
+ value: ((_h = audits['largest-contentful-paint']) === null || _h === void 0 ? void 0 : _h.displayValue) || null,
248
+ score: ((_j = audits['largest-contentful-paint']) === null || _j === void 0 ? void 0 : _j.score) ? Math.round(audits['largest-contentful-paint'].score * 100) : null
249
+ },
250
+ firstMeaningfulPaint: {
251
+ value: ((_k = audits['first-meaningful-paint']) === null || _k === void 0 ? void 0 : _k.displayValue) || null,
252
+ score: ((_l = audits['first-meaningful-paint']) === null || _l === void 0 ? void 0 : _l.score) ? Math.round(audits['first-meaningful-paint'].score * 100) : null
253
+ },
254
+ speedIndex: {
255
+ value: ((_m = audits['speed-index']) === null || _m === void 0 ? void 0 : _m.displayValue) || null,
256
+ score: ((_o = audits['speed-index']) === null || _o === void 0 ? void 0 : _o.score) ? Math.round(audits['speed-index'].score * 100) : null
257
+ },
258
+ timeToInteractive: {
259
+ value: ((_p = audits['interactive']) === null || _p === void 0 ? void 0 : _p.displayValue) || null,
260
+ score: ((_q = audits['interactive']) === null || _q === void 0 ? void 0 : _q.score) ? Math.round(audits['interactive'].score * 100) : null
261
+ },
262
+ totalBlockingTime: {
263
+ value: ((_r = audits['total-blocking-time']) === null || _r === void 0 ? void 0 : _r.displayValue) || null,
264
+ score: ((_s = audits['total-blocking-time']) === null || _s === void 0 ? void 0 : _s.score) ? Math.round(audits['total-blocking-time'].score * 100) : null
265
+ },
266
+ cumulativeLayoutShift: {
267
+ value: ((_t = audits['cumulative-layout-shift']) === null || _t === void 0 ? void 0 : _t.displayValue) || null,
268
+ score: ((_u = audits['cumulative-layout-shift']) === null || _u === void 0 ? void 0 : _u.score) ? Math.round(audits['cumulative-layout-shift'].score * 100) : null
269
+ },
270
+ };
271
+ summary.opportunities = [];
272
+ if (((_x = (_w = (_v = audits['unused-css-rules']) === null || _v === void 0 ? void 0 : _v.details) === null || _w === void 0 ? void 0 : _w.items) === null || _x === void 0 ? void 0 : _x.length) > 0) {
273
+ summary.opportunities.push({
274
+ type: 'unused-css',
275
+ title: 'Remove unused CSS',
276
+ potentialSavings: audits['unused-css-rules'].displayValue || 'Unknown'
277
+ });
278
+ }
279
+ if (((_0 = (_z = (_y = audits['unused-javascript']) === null || _y === void 0 ? void 0 : _y.details) === null || _z === void 0 ? void 0 : _z.items) === null || _0 === void 0 ? void 0 : _0.length) > 0) {
280
+ summary.opportunities.push({
281
+ type: 'unused-javascript',
282
+ title: 'Remove unused JavaScript',
283
+ potentialSavings: audits['unused-javascript'].displayValue || 'Unknown'
284
+ });
285
+ }
286
+ if (((_3 = (_2 = (_1 = audits['render-blocking-resources']) === null || _1 === void 0 ? void 0 : _1.details) === null || _2 === void 0 ? void 0 : _2.items) === null || _3 === void 0 ? void 0 : _3.length) > 0) {
287
+ summary.opportunities.push({
288
+ type: 'render-blocking',
289
+ title: 'Eliminate render-blocking resources',
290
+ potentialSavings: audits['render-blocking-resources'].displayValue || 'Unknown'
291
+ });
292
+ }
293
+ }
294
+ return {
295
+ success: true,
296
+ summary,
297
+ fullReport: performanceData,
298
+ metadata: {
299
+ analysisTime: ((_4 = response.headers) === null || _4 === void 0 ? void 0 : _4['x-response-time']) || 'unknown',
300
+ lighthouseVersion: ((_5 = performanceData.lhr) === null || _5 === void 0 ? void 0 : _5.lighthouseVersion) || 'unknown',
301
+ }
302
+ };
303
+ });
304
+ },
305
+ });
306
+ //# sourceMappingURL=get-website-performance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-website-performance.js","sourceRoot":"","sources":["../../../src/lib/actions/get-website-performance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export declare const runBqlQuery: import("@agnocon/pieces-framework").IAction<import("@agnocon/pieces-framework").CustomAuthProperty<{
2
+ apiToken: import("@agnocon/pieces-framework").SecretTextProperty<true>;
3
+ region: import("@agnocon/pieces-framework").StaticDropdownProperty<string, true>;
4
+ customBaseUrl: import("@agnocon/pieces-framework").ShortTextProperty<false>;
5
+ }>, {
6
+ query: import("@agnocon/pieces-framework").LongTextProperty<true>;
7
+ variables: import("@agnocon/pieces-framework").ObjectProperty<false>;
8
+ operationName: import("@agnocon/pieces-framework").ShortTextProperty<false>;
9
+ timeout: import("@agnocon/pieces-framework").NumberProperty<false>;
10
+ stealth: import("@agnocon/pieces-framework").CheckboxProperty<false>;
11
+ headless: import("@agnocon/pieces-framework").CheckboxProperty<false>;
12
+ humanlike: import("@agnocon/pieces-framework").CheckboxProperty<false>;
13
+ proxy: import("@agnocon/pieces-framework").StaticDropdownProperty<string, false>;
14
+ proxyCountry: import("@agnocon/pieces-framework").ShortTextProperty<false>;
15
+ proxySticky: import("@agnocon/pieces-framework").CheckboxProperty<false>;
16
+ blockAds: import("@agnocon/pieces-framework").CheckboxProperty<false>;
17
+ blockConsentModals: import("@agnocon/pieces-framework").CheckboxProperty<false>;
18
+ record: import("@agnocon/pieces-framework").CheckboxProperty<false>;
19
+ slowMo: import("@agnocon/pieces-framework").NumberProperty<false>;
20
+ ignoreHTTPSErrors: import("@agnocon/pieces-framework").CheckboxProperty<false>;
21
+ userAgent: import("@agnocon/pieces-framework").ShortTextProperty<false>;
22
+ viewportWidth: import("@agnocon/pieces-framework").NumberProperty<false>;
23
+ viewportHeight: import("@agnocon/pieces-framework").NumberProperty<false>;
24
+ cookies: import("@agnocon/pieces-framework").ArrayProperty<true> | import("@agnocon/pieces-framework").ArrayProperty<false>;
25
+ }>;
26
+ //# sourceMappingURL=run-bql-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-bql-query.d.ts","sourceRoot":"","sources":["../../../src/lib/actions/run-bql-query.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;EAiStB,CAAC"}
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runBqlQuery = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // Vendored from Activepieces packages/pieces/community/browserless/src/lib/actions/run-bql-query.ts (MIT).
6
+ // Generated by packages/scripts/vendor-ap.mjs - do not edit by hand.
7
+ const pieces_framework_1 = require("@agnocon/pieces-framework");
8
+ const pieces_common_1 = require("@agnocon/pieces-common");
9
+ const auth_1 = require("../common/auth");
10
+ const client_1 = require("../common/client");
11
+ exports.runBqlQuery = (0, pieces_framework_1.createAction)({
12
+ name: 'run_bql_query',
13
+ displayName: 'Run BQL Query',
14
+ description: 'Execute Browser Query Language (BQL) GraphQL-based queries for advanced browser automation',
15
+ audience: 'both',
16
+ aiMetadata: { description: 'Runs a raw Browser Query Language (BQL) GraphQL query against a headless Chromium browser for advanced automation such as navigation, clicking, typing, and multi-step scripted browser flows. Use when the simpler screenshot/scrape/PDF actions cannot express the interaction; requires a valid BQL query string and supports session options like stealth, proxy, and cookies. Not idempotent: the query can perform stateful browser actions and side-effecting navigation, so repeating it may not yield the same result.', idempotent: false },
17
+ auth: auth_1.browserlessAuth,
18
+ props: {
19
+ query: pieces_framework_1.Property.LongText({
20
+ displayName: 'BQL Query',
21
+ description: 'GraphQL-based BQL query for browser automation. Example: mutation { goto(url: "https://example.com") { status } }',
22
+ required: true,
23
+ }),
24
+ variables: pieces_framework_1.Property.Object({
25
+ displayName: 'Query Variables',
26
+ description: 'Variables to pass to the BQL query (JSON object)',
27
+ required: false,
28
+ }),
29
+ operationName: pieces_framework_1.Property.ShortText({
30
+ displayName: 'Operation Name',
31
+ description: 'Name of the GraphQL operation to execute',
32
+ required: false,
33
+ }),
34
+ timeout: pieces_framework_1.Property.Number({
35
+ displayName: 'Timeout (ms)',
36
+ description: 'Maximum execution time in milliseconds',
37
+ required: false,
38
+ defaultValue: 30000,
39
+ }),
40
+ stealth: pieces_framework_1.Property.Checkbox({
41
+ displayName: 'Stealth Mode',
42
+ description: 'Enable stealth mode for bot detection bypass',
43
+ required: false,
44
+ defaultValue: true,
45
+ }),
46
+ headless: pieces_framework_1.Property.Checkbox({
47
+ displayName: 'Headless Mode',
48
+ description: 'Run browser in headless mode (set to false for GUI)',
49
+ required: false,
50
+ defaultValue: true,
51
+ }),
52
+ humanlike: pieces_framework_1.Property.Checkbox({
53
+ displayName: 'Human-like Behavior',
54
+ description: 'Enable human-like mouse movement, typing, and delays',
55
+ required: false,
56
+ defaultValue: false,
57
+ }),
58
+ proxy: pieces_framework_1.Property.StaticDropdown({
59
+ displayName: 'Proxy Type',
60
+ description: 'Type of proxy to use',
61
+ required: false,
62
+ options: {
63
+ options: [
64
+ { label: 'Residential', value: 'residential' },
65
+ { label: 'None', value: 'none' }
66
+ ]
67
+ }
68
+ }),
69
+ proxyCountry: pieces_framework_1.Property.ShortText({
70
+ displayName: 'Proxy Country',
71
+ description: 'Country code for residential proxy (e.g., us, gb, de)',
72
+ required: false,
73
+ }),
74
+ proxySticky: pieces_framework_1.Property.Checkbox({
75
+ displayName: 'Sticky Proxy',
76
+ description: 'Maintain same proxy IP across session',
77
+ required: false,
78
+ defaultValue: false,
79
+ }),
80
+ blockAds: pieces_framework_1.Property.Checkbox({
81
+ displayName: 'Block Ads',
82
+ description: 'Enable ad blocker (uBlock Origin)',
83
+ required: false,
84
+ defaultValue: false,
85
+ }),
86
+ blockConsentModals: pieces_framework_1.Property.Checkbox({
87
+ displayName: 'Block Consent Modals',
88
+ description: 'Automatically block/dismiss cookie consent banners',
89
+ required: false,
90
+ defaultValue: false,
91
+ }),
92
+ record: pieces_framework_1.Property.Checkbox({
93
+ displayName: 'Record Session',
94
+ description: 'Enable session recording for debugging',
95
+ required: false,
96
+ defaultValue: false,
97
+ }),
98
+ slowMo: pieces_framework_1.Property.Number({
99
+ displayName: 'Slow Motion (ms)',
100
+ description: 'Add delays between browser actions in milliseconds',
101
+ required: false,
102
+ }),
103
+ ignoreHTTPSErrors: pieces_framework_1.Property.Checkbox({
104
+ displayName: 'Ignore HTTPS Errors',
105
+ description: 'Ignore HTTPS certificate errors during navigation',
106
+ required: false,
107
+ defaultValue: false,
108
+ }),
109
+ userAgent: pieces_framework_1.Property.ShortText({
110
+ displayName: 'User Agent',
111
+ description: 'Custom user agent string',
112
+ required: false,
113
+ }),
114
+ viewportWidth: pieces_framework_1.Property.Number({
115
+ displayName: 'Viewport Width',
116
+ description: 'Browser viewport width',
117
+ required: false,
118
+ }),
119
+ viewportHeight: pieces_framework_1.Property.Number({
120
+ displayName: 'Viewport Height',
121
+ description: 'Browser viewport height',
122
+ required: false,
123
+ }),
124
+ cookies: pieces_framework_1.Property.Array({
125
+ displayName: 'Cookies',
126
+ description: 'Cookies to set before executing BQL query',
127
+ required: false,
128
+ properties: {
129
+ name: pieces_framework_1.Property.ShortText({
130
+ displayName: 'Cookie Name',
131
+ required: true,
132
+ }),
133
+ value: pieces_framework_1.Property.ShortText({
134
+ displayName: 'Cookie Value',
135
+ required: true,
136
+ }),
137
+ url: pieces_framework_1.Property.ShortText({
138
+ displayName: 'URL',
139
+ description: 'Request-URI to associate with the cookie',
140
+ required: false,
141
+ }),
142
+ domain: pieces_framework_1.Property.ShortText({
143
+ displayName: 'Domain',
144
+ required: false,
145
+ }),
146
+ path: pieces_framework_1.Property.ShortText({
147
+ displayName: 'Path',
148
+ required: false,
149
+ }),
150
+ secure: pieces_framework_1.Property.Checkbox({
151
+ displayName: 'Secure',
152
+ description: 'Indicates if the cookie is secure',
153
+ required: false,
154
+ defaultValue: false,
155
+ }),
156
+ httpOnly: pieces_framework_1.Property.Checkbox({
157
+ displayName: 'HTTP Only',
158
+ description: 'Indicates if the cookie is HTTP-only',
159
+ required: false,
160
+ defaultValue: false,
161
+ }),
162
+ sameSite: pieces_framework_1.Property.StaticDropdown({
163
+ displayName: 'SameSite',
164
+ description: 'SameSite policy for the cookie',
165
+ required: false,
166
+ options: {
167
+ options: [
168
+ { label: 'Strict', value: 'Strict' },
169
+ { label: 'Lax', value: 'Lax' },
170
+ { label: 'None', value: 'None' }
171
+ ]
172
+ }
173
+ }),
174
+ expires: pieces_framework_1.Property.Number({
175
+ displayName: 'Expires',
176
+ description: 'Expiration date as timestamp (session cookie if not set)',
177
+ required: false,
178
+ }),
179
+ }
180
+ }),
181
+ },
182
+ run(context) {
183
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
184
+ var _a;
185
+ const requestBody = {
186
+ query: context.propsValue.query,
187
+ };
188
+ if (context.propsValue.variables) {
189
+ requestBody.variables = context.propsValue.variables;
190
+ }
191
+ if (context.propsValue.operationName) {
192
+ requestBody.operationName = context.propsValue.operationName;
193
+ }
194
+ let resourceUri = '/chromium/bql';
195
+ const queryParams = [];
196
+ if (context.propsValue.timeout) {
197
+ queryParams.push(`timeout=${context.propsValue.timeout}`);
198
+ }
199
+ if (context.propsValue.stealth !== undefined) {
200
+ queryParams.push(`stealth=${context.propsValue.stealth}`);
201
+ }
202
+ if (context.propsValue.headless !== undefined) {
203
+ queryParams.push(`headless=${context.propsValue.headless}`);
204
+ }
205
+ if (context.propsValue.humanlike) {
206
+ queryParams.push(`humanlike=true`);
207
+ }
208
+ if (context.propsValue.proxy && context.propsValue.proxy !== 'none') {
209
+ queryParams.push(`proxy=${context.propsValue.proxy}`);
210
+ if (context.propsValue.proxyCountry) {
211
+ queryParams.push(`proxyCountry=${context.propsValue.proxyCountry}`);
212
+ }
213
+ if (context.propsValue.proxySticky) {
214
+ queryParams.push(`proxySticky=true`);
215
+ }
216
+ }
217
+ if (context.propsValue.blockAds) {
218
+ queryParams.push(`blockAds=true`);
219
+ }
220
+ if (context.propsValue.blockConsentModals) {
221
+ queryParams.push(`blockConsentModals=true`);
222
+ }
223
+ if (context.propsValue.record) {
224
+ queryParams.push(`record=true`);
225
+ }
226
+ if (context.propsValue.slowMo) {
227
+ queryParams.push(`slowMo=${context.propsValue.slowMo}`);
228
+ }
229
+ if (context.propsValue.ignoreHTTPSErrors) {
230
+ queryParams.push(`ignoreHTTPSErrors=true`);
231
+ }
232
+ if (context.propsValue.userAgent) {
233
+ queryParams.push(`userAgent=${encodeURIComponent(context.propsValue.userAgent)}`);
234
+ }
235
+ if (context.propsValue.viewportWidth && context.propsValue.viewportHeight) {
236
+ queryParams.push(`viewport=${context.propsValue.viewportWidth}x${context.propsValue.viewportHeight}`);
237
+ }
238
+ if (context.propsValue.cookies && context.propsValue.cookies.length > 0) {
239
+ const cookiesJson = JSON.stringify(context.propsValue.cookies.map((cookie) => (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ name: cookie.name, value: cookie.value }, (cookie.url && { url: cookie.url })), (cookie.domain && { domain: cookie.domain })), (cookie.path && { path: cookie.path })), (cookie.secure !== undefined && { secure: cookie.secure })), (cookie.httpOnly !== undefined && { httpOnly: cookie.httpOnly })), (cookie.sameSite && { sameSite: cookie.sameSite })), (cookie.expires !== undefined && { expires: cookie.expires })))));
240
+ queryParams.push(`cookies=${encodeURIComponent(cookiesJson)}`);
241
+ }
242
+ if (queryParams.length > 0) {
243
+ resourceUri += `?${queryParams.join('&')}`;
244
+ }
245
+ const response = yield client_1.browserlessCommon.apiCall({
246
+ auth: context.auth.props,
247
+ method: pieces_common_1.HttpMethod.POST,
248
+ resourceUri,
249
+ body: requestBody,
250
+ });
251
+ let parsedResult;
252
+ try {
253
+ parsedResult = typeof response.body === 'string' ? JSON.parse(response.body) : response.body;
254
+ }
255
+ catch (error) {
256
+ parsedResult = response.body;
257
+ }
258
+ return {
259
+ success: true,
260
+ data: (parsedResult === null || parsedResult === void 0 ? void 0 : parsedResult.data) || null,
261
+ errors: (parsedResult === null || parsedResult === void 0 ? void 0 : parsedResult.errors) || null,
262
+ result: parsedResult,
263
+ metadata: {
264
+ browserType: 'chromium',
265
+ executionTime: ((_a = response.headers) === null || _a === void 0 ? void 0 : _a['x-response-time']) || 'unknown',
266
+ timestamp: new Date().toISOString(),
267
+ stealth: context.propsValue.stealth || false,
268
+ }
269
+ };
270
+ });
271
+ },
272
+ });
273
+ //# sourceMappingURL=run-bql-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-bql-query.js","sourceRoot":"","sources":["../../../src/lib/actions/run-bql-query.ts"],"names":[],"mappings":"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"}