n8n-nodes-alterlab 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -6
- package/dist/credentials/AlterLabApi.credentials.d.ts.map +1 -1
- package/dist/credentials/AlterLabApi.credentials.js +7 -2
- package/dist/credentials/AlterLabApi.credentials.js.map +1 -1
- package/dist/credentials/AlterLabOAuth2Api.credentials.js +1 -1
- package/dist/credentials/AlterLabOAuth2Api.credentials.js.map +1 -1
- package/dist/nodes/AlterLab/AlterLab.node.d.ts.map +1 -1
- package/dist/nodes/AlterLab/AlterLab.node.js +1202 -205
- package/dist/nodes/AlterLab/AlterLab.node.js.map +1 -1
- package/dist/nodes/AlterLab/params.d.ts +158 -0
- package/dist/nodes/AlterLab/params.d.ts.map +1 -0
- package/dist/nodes/AlterLab/params.js +491 -0
- package/dist/nodes/AlterLab/params.js.map +1 -0
- package/dist/nodes/AlterLab/url.d.ts +23 -0
- package/dist/nodes/AlterLab/url.d.ts.map +1 -0
- package/dist/nodes/AlterLab/url.js +245 -0
- package/dist/nodes/AlterLab/url.js.map +1 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -212,7 +212,36 @@ No subscriptions. No monthly minimums. Add balance and use it whenever you need
|
|
|
212
212
|
| **OCR** | Extract text from images on the page |
|
|
213
213
|
| **Proxy** | Route through residential proxies with country targeting |
|
|
214
214
|
| **Cache** | Cache responses from 60 seconds to 24 hours |
|
|
215
|
-
| **Cost Controls** | Set maximum spend per request, force specific tiers, prefer cost or speed |
|
|
215
|
+
| **Cost Controls** | Set maximum spend per request, force specific tiers, prefer cost or speed, and cap total escalation time (`time_budget`) |
|
|
216
|
+
| **Auto-Detect JavaScript** | `render_js=auto`: render only the pages that need a browser |
|
|
217
|
+
| **Block Images** | Skip image downloads during browser rendering to save proxy bandwidth |
|
|
218
|
+
| **Skip TLS Verification** | Default (verify, fall back on an invalid site certificate), skip, or always require |
|
|
219
|
+
| **Browser Actions** | Up to 20 click / fill / scroll / wait / evaluate / screenshot steps run after page load |
|
|
220
|
+
| **Sticky Session** | Reuse captured cookies (and best-effort exit IP) across separate scrapes |
|
|
221
|
+
| **Bring Your Own Proxy** | Route through your own proxy integration (`use_own_proxy`, `proxy_integration_id`) |
|
|
222
|
+
| **Force Refresh** | Bypass the cache for a single request |
|
|
223
|
+
|
|
224
|
+
### Additional Options (Scrape)
|
|
225
|
+
|
|
226
|
+
Content type, custom headers, geo-targeting (`location.country` / `location.language`), wait-for selector, content filtering, scroll control, PDF format, OCR language, webhook URL, sync policy, async submit (returns the job ID without polling), and inline embeddings.
|
|
227
|
+
|
|
228
|
+
### Resources and Operations
|
|
229
|
+
|
|
230
|
+
| Resource | Operations |
|
|
231
|
+
|---|---|
|
|
232
|
+
| **Scrape** | Scrape, Estimate Cost |
|
|
233
|
+
| **Crawl** | Start (polls to completion), Get Status, Cancel, Resume, Export (JSON / JSONL / CSV, one item per page), List |
|
|
234
|
+
| **Search** | Web search with engine (DuckDuckGo, Google, Bing), safe search, and optional result scraping |
|
|
235
|
+
| **Map** | Discover URLs via sitemap and link crawling |
|
|
236
|
+
| **Extract** | LLM / algorithmic extraction on content you already have |
|
|
237
|
+
| **Batch** | Submit (with BYOS session and cloud export), List history |
|
|
238
|
+
| **Session** | Create, List, Get, Update, Delete, Validate, Refresh |
|
|
239
|
+
|
|
240
|
+
Scrape output also includes `jobId`, `finalUrl`, `cachedAt` / `expiresAt` / `staleCache`, `raw`, `warning` fields, `actionResults`, `embeddings`, `metadata`, and BYOP / BYOS billing details when the API returns them.
|
|
241
|
+
|
|
242
|
+
### Credential Test
|
|
243
|
+
|
|
244
|
+
The **Test** button calls `GET /api/v1/auth/identity`, which validates the API key without spending credits.
|
|
216
245
|
|
|
217
246
|
## Frequently Asked Questions
|
|
218
247
|
|
|
@@ -263,14 +292,12 @@ npm run lint
|
|
|
263
292
|
This project uses GitHub Actions for automation:
|
|
264
293
|
|
|
265
294
|
- **CI** — Runs on every push and PR to `main`. Builds and type-checks across Node.js 18, 20, and 22. Verifies all dist output files are present.
|
|
266
|
-
- **Publish** — Automatically publishes to npm when a GitHub Release is created
|
|
295
|
+
- **Publish** — Automatically publishes to npm when a GitHub Release is created, using npm trusted publishing (OIDC) with provenance for supply-chain security. No long-lived npm token is stored in the repository.
|
|
267
296
|
- **Dependabot** — Automated weekly dependency updates for npm packages and GitHub Actions.
|
|
268
297
|
|
|
269
|
-
###
|
|
298
|
+
### Publishing
|
|
270
299
|
|
|
271
|
-
|
|
272
|
-
|---|---|---|
|
|
273
|
-
| `NPM_TOKEN` | npm automation token for publishing | [npmjs.com → Access Tokens → Generate](https://www.npmjs.com/settings/~/tokens) — use "Automation" type |
|
|
300
|
+
Publishing uses [npm trusted publishing](https://docs.npmjs.com/trusted-publishers) (OIDC). The workflow requests `id-token: write` and runs `npm publish --provenance`; no `NPM_TOKEN` secret is required. The trusted publisher for this package must stay configured on npmjs.com.
|
|
274
301
|
|
|
275
302
|
## Support
|
|
276
303
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlterLabApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/AlterLabApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,qBAAa,WAAY,YAAW,eAAe;IACjD,IAAI,SAAiB;IACrB,WAAW,SAAkB;IAC7B,gBAAgB,SACmF;IAEnG,UAAU,EAAE,eAAe,EAAE,CAmB3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"AlterLabApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/AlterLabApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,qBAAa,WAAY,YAAW,eAAe;IACjD,IAAI,SAAiB;IACrB,WAAW,SAAkB;IAC7B,gBAAgB,SACmF;IAEnG,UAAU,EAAE,eAAe,EAAE,CAmB3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAa1B;CACH"}
|
|
@@ -34,8 +34,13 @@ class AlterLabApi {
|
|
|
34
34
|
};
|
|
35
35
|
this.test = {
|
|
36
36
|
request: {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
// Keep exactly one trailing slash so n8n resolves the relative URL as a
|
|
38
|
+
// path reference instead of replacing a self-hosted path prefix.
|
|
39
|
+
baseURL: "={{($credentials.baseUrl || 'https://api.alterlab.io').replace(/\\/+$/, '') + '/'}}",
|
|
40
|
+
// GET /api/v1/auth/identity verifies the X-API-Key without spending
|
|
41
|
+
// credits or touching usage/rate-limit state. (/api/v1/usage is
|
|
42
|
+
// JWT-only and always 401s for API keys — #326.)
|
|
43
|
+
url: "={{($credentials.baseUrl || 'https://api.alterlab.io').replace(/\\/+$/, '').endsWith('/api/v1') ? 'auth/identity' : 'api/v1/auth/identity'}}",
|
|
39
44
|
method: "GET",
|
|
40
45
|
},
|
|
41
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlterLabApi.credentials.js","sourceRoot":"","sources":["../../credentials/AlterLabApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,WAAW;IAAxB;QACE,SAAI,GAAG,aAAa,CAAC;QACrB,gBAAW,GAAG,cAAc,CAAC;QAC7B,qBAAgB,GACd,gGAAgG,CAAC;QAEnG,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EACT,uYAAuY;aAC1Y;YACD;gBACE,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EACT,+DAA+D;aAClE;SACF,CAAC;QAEF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,WAAW,EAAE,0BAA0B;iBACxC;aACF;SACF,CAAC;QAEF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,OAAO,
|
|
1
|
+
{"version":3,"file":"AlterLabApi.credentials.js","sourceRoot":"","sources":["../../credentials/AlterLabApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,WAAW;IAAxB;QACE,SAAI,GAAG,aAAa,CAAC;QACrB,gBAAW,GAAG,cAAc,CAAC;QAC7B,qBAAgB,GACd,gGAAgG,CAAC;QAEnG,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EACT,uYAAuY;aAC1Y;YACD;gBACE,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EACT,+DAA+D;aAClE;SACF,CAAC;QAEF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,WAAW,EAAE,0BAA0B;iBACxC;aACF;SACF,CAAC;QAEF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,wEAAwE;gBACxE,iEAAiE;gBACjE,OAAO,EACL,qFAAqF;gBACvF,oEAAoE;gBACpE,gEAAgE;gBAChE,iDAAiD;gBACjD,GAAG,EACD,8IAA8I;gBAChJ,MAAM,EAAE,KAAK;aACd;SACF,CAAC;IACJ,CAAC;CAAA;AAlDD,kCAkDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlterLabOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/AlterLabOAuth2Api.credentials.ts"],"names":[],"mappings":";;;AAMA,MAAa,iBAAiB;IAA9B;QACE,SAAI,GAAG,mBAAmB,CAAC;QAC3B,gBAAW,GAAG,qBAAqB,CAAC;QACpC,qBAAgB,GACd,gGAAgG,CAAC;QAEnG,YAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QAExB,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mBAAmB;aAC7B;YACD;gBACE,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yCAAyC;aACnD;YACD;gBACE,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,4CAA4C;aACtD;YACD;gBACE,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;aAC9B;YACD;gBACE,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,sCAAsC;aAChD;YACD;gBACE,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,QAAQ;aAClB;YACD;gBACE,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,MAAM;aAChB;SACF,CAAC;QAEF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,OAAO,EAAE,yBAAyB;gBAClC,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"AlterLabOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/AlterLabOAuth2Api.credentials.ts"],"names":[],"mappings":";;;AAMA,MAAa,iBAAiB;IAA9B;QACE,SAAI,GAAG,mBAAmB,CAAC;QAC3B,gBAAW,GAAG,qBAAqB,CAAC;QACpC,qBAAgB,GACd,gGAAgG,CAAC;QAEnG,YAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QAExB,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mBAAmB;aAC7B;YACD;gBACE,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yCAAyC;aACnD;YACD;gBACE,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,4CAA4C;aACtD;YACD;gBACE,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB;aAC9B;YACD;gBACE,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,sCAAsC;aAChD;YACD;gBACE,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,QAAQ;aAClB;YACD;gBACE,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,MAAM;aAChB;SACF,CAAC;QAEF,SAAI,GAA2B;YAC7B,OAAO,EAAE;gBACP,OAAO,EAAE,yBAAyB;gBAClC,GAAG,EAAE,uBAAuB;gBAC5B,MAAM,EAAE,KAAK;aACd;SACF,CAAC;IACJ,CAAC;CAAA;AAlED,8CAkEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlterLab.node.d.ts","sourceRoot":"","sources":["../../../nodes/AlterLab/AlterLab.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"AlterLab.node.d.ts","sourceRoot":"","sources":["../../../nodes/AlterLab/AlterLab.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EAEjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAkCtB,qBAAa,QAAS,YAAW,SAAS;IACxC,WAAW,EAAE,oBAAoB,CA+hF/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAgqDxE"}
|