alterlab-mcp-server 1.7.0 → 1.8.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 +7 -7
- package/dist/auth.d.ts +30 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +423 -0
- package/dist/auth.js.map +1 -0
- package/dist/client.d.ts +22 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +56 -1
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +21 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +85 -8
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +6 -4
- package/dist/errors.js.map +1 -1
- package/dist/format.d.ts +16 -2
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +139 -9
- package/dist/format.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +63 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/balance.d.ts.map +1 -1
- package/dist/tools/balance.js +4 -2
- package/dist/tools/balance.js.map +1 -1
- package/dist/tools/batch.d.ts +8 -8
- package/dist/tools/batch.d.ts.map +1 -1
- package/dist/tools/batch.js +3 -2
- package/dist/tools/batch.js.map +1 -1
- package/dist/tools/crawl.d.ts +38 -0
- package/dist/tools/crawl.d.ts.map +1 -1
- package/dist/tools/crawl.js +70 -7
- package/dist/tools/crawl.js.map +1 -1
- package/dist/tools/estimate.d.ts +1 -1
- package/dist/tools/estimate.d.ts.map +1 -1
- package/dist/tools/estimate.js +6 -4
- package/dist/tools/estimate.js.map +1 -1
- package/dist/tools/extract.d.ts +5 -5
- package/dist/tools/extract.d.ts.map +1 -1
- package/dist/tools/extract.js +14 -12
- package/dist/tools/extract.js.map +1 -1
- package/dist/tools/map.d.ts +5 -2
- package/dist/tools/map.d.ts.map +1 -1
- package/dist/tools/map.js +12 -4
- package/dist/tools/map.js.map +1 -1
- package/dist/tools/scrape.d.ts +88 -9
- package/dist/tools/scrape.d.ts.map +1 -1
- package/dist/tools/scrape.js +195 -24
- package/dist/tools/scrape.js.map +1 -1
- package/dist/tools/screenshot.d.ts.map +1 -1
- package/dist/tools/screenshot.js +16 -7
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/search.d.ts +3 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +12 -4
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/simple_batch.d.ts +28 -0
- package/dist/tools/simple_batch.d.ts.map +1 -0
- package/dist/tools/simple_batch.js +141 -0
- package/dist/tools/simple_batch.js.map +1 -0
- package/dist/tools/usage.d.ts +7 -0
- package/dist/tools/usage.d.ts.map +1 -0
- package/dist/tools/usage.js +51 -0
- package/dist/tools/usage.js.map +1 -0
- package/dist/types.d.ts +83 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/server.json +32 -0
package/dist/index.js
CHANGED
|
@@ -1,11 +1,46 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
3
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
37
|
exports.createSandboxServer = createSandboxServer;
|
|
5
38
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
6
39
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
7
40
|
const client_js_1 = require("./client.js");
|
|
41
|
+
const auth_js_1 = require("./auth.js");
|
|
8
42
|
const config_js_1 = require("./config.js");
|
|
43
|
+
const fs = __importStar(require("fs"));
|
|
9
44
|
const scrape_js_1 = require("./tools/scrape.js");
|
|
10
45
|
const extract_js_1 = require("./tools/extract.js");
|
|
11
46
|
const screenshot_js_1 = require("./tools/screenshot.js");
|
|
@@ -17,6 +52,8 @@ const map_js_1 = require("./tools/map.js");
|
|
|
17
52
|
const batch_js_1 = require("./tools/batch.js");
|
|
18
53
|
const sessions_js_1 = require("./tools/sessions.js");
|
|
19
54
|
const beta_features_js_1 = require("./tools/beta_features.js");
|
|
55
|
+
const usage_js_1 = require("./tools/usage.js");
|
|
56
|
+
const simple_batch_js_1 = require("./tools/simple_batch.js");
|
|
20
57
|
function createServer(config) {
|
|
21
58
|
const client = new client_js_1.AlterLabClient(config);
|
|
22
59
|
const server = new mcp_js_1.McpServer({
|
|
@@ -29,6 +66,7 @@ function createServer(config) {
|
|
|
29
66
|
server.tool("alterlab_screenshot", screenshot_js_1.screenshotDescription, screenshot_js_1.screenshotSchema.shape, (params) => (0, screenshot_js_1.handleScreenshot)(client, params));
|
|
30
67
|
server.tool("alterlab_estimate_cost", estimate_js_1.estimateDescription, estimate_js_1.estimateSchema.shape, (params) => (0, estimate_js_1.handleEstimate)(client, params));
|
|
31
68
|
server.tool("alterlab_check_balance", balance_js_1.balanceDescription, balance_js_1.balanceSchema.shape, () => (0, balance_js_1.handleBalance)(client));
|
|
69
|
+
server.tool("alterlab_get_usage", usage_js_1.usageDescription, usage_js_1.usageSchema.shape, () => (0, usage_js_1.handleUsage)(client));
|
|
32
70
|
// Crawl tools
|
|
33
71
|
server.tool("alterlab_crawl", crawl_js_1.crawlDescription, crawl_js_1.crawlSchema.shape, (params) => (0, crawl_js_1.handleCrawl)(client, params));
|
|
34
72
|
server.tool("alterlab_crawl_status", crawl_js_1.crawlStatusDescription, crawl_js_1.crawlStatusSchema.shape, (params) => (0, crawl_js_1.handleCrawlStatus)(client, params));
|
|
@@ -38,6 +76,7 @@ function createServer(config) {
|
|
|
38
76
|
// Map tool
|
|
39
77
|
server.tool("alterlab_map", map_js_1.mapDescription, map_js_1.mapSchema.shape, (params) => (0, map_js_1.handleMap)(client, params));
|
|
40
78
|
// Batch tools
|
|
79
|
+
server.tool("alterlab_batch_scrape", simple_batch_js_1.simpleBatchDescription, simple_batch_js_1.simpleBatchSchema.shape, (params) => (0, simple_batch_js_1.handleSimpleBatch)(client, params));
|
|
41
80
|
server.tool("alterlab_batch", batch_js_1.batchDescription, batch_js_1.batchSchema.shape, (params) => (0, batch_js_1.handleBatch)(client, params));
|
|
42
81
|
server.tool("alterlab_batch_status", batch_js_1.batchStatusDescription, batch_js_1.batchStatusSchema.shape, (params) => (0, batch_js_1.handleBatchStatus)(client, params));
|
|
43
82
|
// Session management tools
|
|
@@ -65,7 +104,30 @@ function createSandboxServer() {
|
|
|
65
104
|
});
|
|
66
105
|
}
|
|
67
106
|
async function main() {
|
|
68
|
-
const
|
|
107
|
+
const args = process.argv.slice(2);
|
|
108
|
+
// --setup: explicit re-authentication flag
|
|
109
|
+
// --auth oauth: OAuth-style alias (device flow IS the auth; "oauth" is treated as a sub-arg)
|
|
110
|
+
const isSetupMode = args.includes("--setup") ||
|
|
111
|
+
(args.includes("--auth") && args.includes("oauth"));
|
|
112
|
+
if (isSetupMode) {
|
|
113
|
+
// --setup / --auth oauth: force re-authentication by removing the saved config.
|
|
114
|
+
// This lets users re-authenticate (e.g., after key revocation) without manually
|
|
115
|
+
// deleting ~/.alterlab/config.json.
|
|
116
|
+
if (fs.existsSync(config_js_1.CONFIG_FILE_PATH)) {
|
|
117
|
+
try {
|
|
118
|
+
fs.unlinkSync(config_js_1.CONFIG_FILE_PATH);
|
|
119
|
+
process.stderr.write("\n (Removed saved API key — starting fresh authentication)\n");
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
process.stderr.write(`\n Warning: Could not remove saved config: ${String(err)}\n`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// Re-run ensureAuth which will trigger the interactive flow
|
|
126
|
+
await (0, auth_js_1.ensureAuth)();
|
|
127
|
+
process.stderr.write("\n Setup complete. You can now add this server to your MCP client.\n\n");
|
|
128
|
+
process.exit(0);
|
|
129
|
+
}
|
|
130
|
+
const config = await (0, auth_js_1.ensureAuth)();
|
|
69
131
|
const server = createServer(config);
|
|
70
132
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
71
133
|
await server.connect(transport);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsSA,kDAKC;AAzSD,oEAAoE;AACpE,wEAAiF;AACjF,2CAA6C;AAE7C,uCAAuC;AACvC,2CAA+C;AAC/C,uCAAyB;AACzB,iDAI2B;AAC3B,mDAI4B;AAC5B,yDAI+B;AAC/B,qDAI6B;AAC7B,mDAI4B;AAC5B,+CAU0B;AAC1B,iDAI2B;AAC3B,2CAAsE;AACtE,+CAO0B;AAC1B,qDAsB6B;AAC7B,+DAakC;AAClC,+CAI0B;AAC1B,6DAIiC;AAEjC,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,MAAM,GAAG,IAAI,0BAAc,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iBAAiB;IACjB,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,6BAAiB,EACjB,wBAAY,CAAC,KAAK,EAClB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,wBAAY,EAAC,MAAM,EAAE,MAAa,CAAC,CAChD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,+BAAkB,EAClB,0BAAa,CAAC,KAAK,EACnB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,MAAM,EAAE,MAAa,CAAC,CACjD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,qCAAqB,EACrB,gCAAgB,CAAC,KAAK,EACtB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAa,CAAC,CACpD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,iCAAmB,EACnB,4BAAc,CAAC,KAAK,EACpB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,4BAAc,EAAC,MAAM,EAAE,MAAa,CAAC,CAClD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,+BAAkB,EAClB,0BAAa,CAAC,KAAK,EACnB,GAAG,EAAE,CAAC,IAAA,0BAAa,EAAC,MAAM,CAAC,CAC5B,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,2BAAgB,EAChB,sBAAW,CAAC,KAAK,EACjB,GAAG,EAAE,CAAC,IAAA,sBAAW,EAAC,MAAM,CAAC,CAC1B,CAAC;IAEF,cAAc;IACd,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,2BAAgB,EAAE,sBAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAC5E,IAAA,sBAAW,EAAC,MAAM,EAAE,MAAa,CAAC,CACnC,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,iCAAsB,EACtB,4BAAiB,CAAC,KAAK,EACvB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,4BAAiB,EAAC,MAAM,EAAE,MAAa,CAAC,CACrD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,iCAAsB,EACtB,4BAAiB,CAAC,KAAK,EACvB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,4BAAiB,EAAC,MAAM,EAAE,MAAa,CAAC,CACrD,CAAC;IAEF,cAAc;IACd,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,6BAAiB,EACjB,wBAAY,CAAC,KAAK,EAClB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,wBAAY,EAAC,MAAM,EAAE,MAAa,CAAC,CAChD,CAAC;IAEF,WAAW;IACX,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,uBAAc,EAAE,kBAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CACtE,IAAA,kBAAS,EAAC,MAAM,EAAE,MAAa,CAAC,CACjC,CAAC;IAEF,cAAc;IACd,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,wCAAsB,EACtB,mCAAiB,CAAC,KAAK,EACvB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,mCAAiB,EAAC,MAAM,EAAE,MAAa,CAAC,CACrD,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,2BAAgB,EAAE,sBAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAC5E,IAAA,sBAAW,EAAC,MAAM,EAAE,MAAa,CAAC,CACnC,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,iCAAsB,EACtB,4BAAiB,CAAC,KAAK,EACvB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,4BAAiB,EAAC,MAAM,EAAE,MAAa,CAAC,CACrD,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,qCAAuB,EACvB,gCAAkB,CAAC,KAAK,EACxB,GAAG,EAAE,CAAC,IAAA,gCAAkB,EAAC,MAAM,CAAC,CACjC,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,sCAAwB,EACxB,iCAAmB,CAAC,KAAK,EACzB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,iCAAmB,EAAC,MAAM,EAAE,MAAa,CAAC,CACvD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,mCAAqB,EACrB,8BAAgB,CAAC,KAAK,EACtB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,8BAAgB,EAAC,MAAM,EAAE,MAAa,CAAC,CACpD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,sCAAwB,EACxB,iCAAmB,CAAC,KAAK,EACzB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,iCAAmB,EAAC,MAAM,EAAE,MAAa,CAAC,CACvD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,uCAAyB,EACzB,kCAAoB,CAAC,KAAK,EAC1B,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,kCAAoB,EAAC,MAAM,EAAE,MAAa,CAAC,CACxD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,wCAA0B,EAC1B,mCAAqB,CAAC,KAAK,EAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,mCAAqB,EAAC,MAAM,EAAE,MAAa,CAAC,CACzD,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,sCAAwB,EACxB,iCAAmB,CAAC,KAAK,EACzB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,iCAAmB,EAAC,MAAM,EAAE,MAAa,CAAC,CACvD,CAAC;IAEF,gCAAgC;IAChC,MAAM,CAAC,IAAI,CACT,6BAA6B,EAC7B,8CAA2B,EAC3B,yCAAsB,CAAC,KAAK,EAC5B,GAAG,EAAE,CAAC,IAAA,yCAAsB,EAAC,MAAM,CAAC,CACrC,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gCAAgC,EAChC,gDAA6B,EAC7B,2CAAwB,CAAC,KAAK,EAC9B,GAAG,EAAE,CAAC,IAAA,2CAAwB,EAAC,MAAM,CAAC,CACvC,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,8BAA8B,EAC9B,+CAA4B,EAC5B,0CAAuB,CAAC,KAAK,EAC7B,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,0CAAuB,EAAC,MAAM,EAAE,MAAa,CAAC,CAC3D,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,+BAA+B,EAC/B,gDAA6B,EAC7B,2CAAwB,CAAC,KAAK,EAC9B,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,2CAAwB,EAAC,MAAM,EAAE,MAAa,CAAC,CAC5D,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,YAAY,CAAC;QAClB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,yBAAyB;KAClC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,2CAA2C;IAC3C,6FAA6F;IAC7F,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtD,IAAI,WAAW,EAAE,CAAC;QAChB,gFAAgF;QAChF,gFAAgF;QAChF,oCAAoC;QACpC,IAAI,EAAE,CAAC,UAAU,CAAC,4BAAgB,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,4BAAgB,CAAC,CAAC;gBAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+DAA+D,CAChE,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+CAA+C,MAAM,CAAC,GAAG,CAAC,IAAI,CAC/D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,4DAA4D;QAC5D,MAAM,IAAA,oBAAU,GAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yEAAyE,CAC1E,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAU,GAAE,CAAC;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,eAAO,MAAM,aAAa,gDAAe,CAAC;AAE1C,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,eAAO,MAAM,aAAa,gDAAe,CAAC;AAE1C,eAAO,MAAM,kBAAkB,QAKmC,CAAC;AAEnE,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CAYzB"}
|
package/dist/tools/balance.js
CHANGED
|
@@ -6,8 +6,10 @@ const zod_1 = require("zod");
|
|
|
6
6
|
const errors_js_1 = require("../errors.js");
|
|
7
7
|
const format_js_1 = require("../format.js");
|
|
8
8
|
exports.balanceSchema = zod_1.z.object({});
|
|
9
|
-
exports.balanceDescription = "Check your AlterLab account balance and credit usage. " +
|
|
10
|
-
"
|
|
9
|
+
exports.balanceDescription = "Check your AlterLab account balance, status, and credit usage. " +
|
|
10
|
+
"Call this before expensive operations (batch scrapes, large crawls) to verify sufficient funds. " +
|
|
11
|
+
"Returns current balance in dollars, balance status (healthy/low/critical/exhausted), total deposited, and total spent. " +
|
|
12
|
+
"For a full spending breakdown by time window and top domains, use alterlab_get_usage instead. " +
|
|
11
13
|
"No parameters required — uses your API key for identification.";
|
|
12
14
|
async function handleBalance(client) {
|
|
13
15
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":";;;AAeA,sCAcC;AA7BD,6BAAwB;AAGxB,4CAAgE;AAChE,4CAAqD;AAExC,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE7B,QAAA,kBAAkB,GAC7B,iEAAiE;IACjE,kGAAkG;IAClG,yHAAyH;IACzH,gGAAgG;IAChG,gEAAgE,CAAC;AAE5D,KAAK,UAAU,aAAa,CACjC,MAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,iCAAqB,EAAC,OAAO,CAAC,EAAE,CAAC;SAClE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAA,6BAAiB,EAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,IAAA,6BAAiB,EAAC,KAAc,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAkB,CAAC,MAAM,KAAK,QAAQ,CAC/C,CAAC;AACJ,CAAC"}
|
package/dist/tools/batch.d.ts
CHANGED
|
@@ -14,50 +14,50 @@ export declare const batchSchema: z.ZodObject<{
|
|
|
14
14
|
cache: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
15
15
|
}, "strip", z.ZodTypeAny, {
|
|
16
16
|
url: string;
|
|
17
|
-
timeout?: number | undefined;
|
|
18
17
|
mode?: "auto" | "html" | "js" | "pdf" | "ocr" | undefined;
|
|
18
|
+
timeout?: number | undefined;
|
|
19
19
|
formats?: ("text" | "html" | "json" | "json_v2" | "markdown" | "rag")[] | undefined;
|
|
20
20
|
extraction_schema?: Record<string, unknown> | undefined;
|
|
21
|
+
cache?: boolean | undefined;
|
|
21
22
|
render_js?: boolean | undefined;
|
|
22
23
|
use_proxy?: boolean | undefined;
|
|
23
24
|
wait_for?: string | undefined;
|
|
24
|
-
cache?: boolean | undefined;
|
|
25
25
|
}, {
|
|
26
26
|
url: string;
|
|
27
|
-
timeout?: number | undefined;
|
|
28
27
|
mode?: "auto" | "html" | "js" | "pdf" | "ocr" | undefined;
|
|
28
|
+
timeout?: number | undefined;
|
|
29
29
|
formats?: ("text" | "html" | "json" | "json_v2" | "markdown" | "rag")[] | undefined;
|
|
30
30
|
extraction_schema?: Record<string, unknown> | undefined;
|
|
31
|
+
cache?: boolean | undefined;
|
|
31
32
|
render_js?: boolean | undefined;
|
|
32
33
|
use_proxy?: boolean | undefined;
|
|
33
34
|
wait_for?: string | undefined;
|
|
34
|
-
cache?: boolean | undefined;
|
|
35
35
|
}>, "many">;
|
|
36
36
|
webhook_url: z.ZodOptional<z.ZodString>;
|
|
37
37
|
}, "strip", z.ZodTypeAny, {
|
|
38
38
|
urls: {
|
|
39
39
|
url: string;
|
|
40
|
-
timeout?: number | undefined;
|
|
41
40
|
mode?: "auto" | "html" | "js" | "pdf" | "ocr" | undefined;
|
|
41
|
+
timeout?: number | undefined;
|
|
42
42
|
formats?: ("text" | "html" | "json" | "json_v2" | "markdown" | "rag")[] | undefined;
|
|
43
43
|
extraction_schema?: Record<string, unknown> | undefined;
|
|
44
|
+
cache?: boolean | undefined;
|
|
44
45
|
render_js?: boolean | undefined;
|
|
45
46
|
use_proxy?: boolean | undefined;
|
|
46
47
|
wait_for?: string | undefined;
|
|
47
|
-
cache?: boolean | undefined;
|
|
48
48
|
}[];
|
|
49
49
|
webhook_url?: string | undefined;
|
|
50
50
|
}, {
|
|
51
51
|
urls: {
|
|
52
52
|
url: string;
|
|
53
|
-
timeout?: number | undefined;
|
|
54
53
|
mode?: "auto" | "html" | "js" | "pdf" | "ocr" | undefined;
|
|
54
|
+
timeout?: number | undefined;
|
|
55
55
|
formats?: ("text" | "html" | "json" | "json_v2" | "markdown" | "rag")[] | undefined;
|
|
56
56
|
extraction_schema?: Record<string, unknown> | undefined;
|
|
57
|
+
cache?: boolean | undefined;
|
|
57
58
|
render_js?: boolean | undefined;
|
|
58
59
|
use_proxy?: boolean | undefined;
|
|
59
60
|
wait_for?: string | undefined;
|
|
60
|
-
cache?: boolean | undefined;
|
|
61
61
|
}[];
|
|
62
62
|
webhook_url?: string | undefined;
|
|
63
63
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA2CnD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAatB,CAAC;AAEH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA2CnD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAatB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAM+B,CAAC;AAE7D,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAClC,OAAO,CAAC,cAAc,CAAC,CAmCzB;AAMD,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAI2B,CAAC;AAE/D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,cAAc,CAAC,CAWzB"}
|
package/dist/tools/batch.js
CHANGED
|
@@ -55,11 +55,12 @@ exports.batchSchema = zod_1.z.object({
|
|
|
55
55
|
.optional()
|
|
56
56
|
.describe("Webhook URL to receive batch.completed event when all jobs finish"),
|
|
57
57
|
});
|
|
58
|
-
exports.batchDescription = "
|
|
58
|
+
exports.batchDescription = "Scrape up to 100 URLs in parallel with a single request — much faster and more efficient than sequential alterlab_scrape calls. " +
|
|
59
|
+
"Each URL automatically gets anti-bot bypass protection (Cloudflare, DataDome, etc.) at its own tier level. " +
|
|
59
60
|
"Returns a batch_id immediately — use alterlab_batch_status to poll results. " +
|
|
60
61
|
"Each URL can have its own mode, formats, extraction_schema, and options. " +
|
|
61
62
|
"Credits are pre-debited based on estimated cost; unused credits are refunded on completion. " +
|
|
62
|
-
"Use this
|
|
63
|
+
"Use this whenever you need to scrape more than 2-3 URLs.";
|
|
63
64
|
async function handleBatch(client, params) {
|
|
64
65
|
try {
|
|
65
66
|
const response = await client.submitBatch({
|
package/dist/tools/batch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/crawl.d.ts
CHANGED
|
@@ -8,8 +8,11 @@ export declare const crawlSchema: z.ZodObject<{
|
|
|
8
8
|
include_patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
9
|
exclude_patterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
10
|
sitemap: z.ZodDefault<z.ZodEnum<["include", "skip", "only"]>>;
|
|
11
|
+
sitemap_path: z.ZodOptional<z.ZodString>;
|
|
11
12
|
formats: z.ZodOptional<z.ZodArray<z.ZodEnum<["text", "json", "json_v2", "html", "markdown"]>, "many">>;
|
|
12
13
|
extraction_schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
14
|
+
extraction_profile: z.ZodOptional<z.ZodEnum<["auto", "product", "article", "job_posting", "faq", "recipe", "event"]>>;
|
|
15
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
13
16
|
extraction_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
14
17
|
render_js: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
15
18
|
use_proxy: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -17,7 +20,22 @@ export declare const crawlSchema: z.ZodObject<{
|
|
|
17
20
|
respect_robots: z.ZodDefault<z.ZodBoolean>;
|
|
18
21
|
include_subdomains: z.ZodDefault<z.ZodBoolean>;
|
|
19
22
|
block_images: z.ZodDefault<z.ZodBoolean>;
|
|
23
|
+
wait_for: z.ZodOptional<z.ZodString>;
|
|
24
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
20
25
|
webhook_url: z.ZodOptional<z.ZodString>;
|
|
26
|
+
cost_controls: z.ZodOptional<z.ZodObject<{
|
|
27
|
+
max_credits: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
max_tier: z.ZodOptional<z.ZodEnum<["1", "2", "3", "3.5", "4"]>>;
|
|
29
|
+
force_tier: z.ZodOptional<z.ZodEnum<["1", "2", "3", "3.5", "4"]>>;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
force_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
|
|
32
|
+
max_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
|
|
33
|
+
max_credits?: number | undefined;
|
|
34
|
+
}, {
|
|
35
|
+
force_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
|
|
36
|
+
max_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
|
|
37
|
+
max_credits?: number | undefined;
|
|
38
|
+
}>>;
|
|
21
39
|
}, "strip", z.ZodTypeAny, {
|
|
22
40
|
url: string;
|
|
23
41
|
render_js: boolean | "auto";
|
|
@@ -29,25 +47,45 @@ export declare const crawlSchema: z.ZodObject<{
|
|
|
29
47
|
max_concurrency: number;
|
|
30
48
|
respect_robots: boolean;
|
|
31
49
|
include_subdomains: boolean;
|
|
50
|
+
headers?: Record<string, string> | undefined;
|
|
51
|
+
timeout?: number | undefined;
|
|
32
52
|
formats?: ("text" | "html" | "json" | "json_v2" | "markdown")[] | undefined;
|
|
33
53
|
extraction_schema?: Record<string, unknown> | undefined;
|
|
34
54
|
extraction_model?: string | null | undefined;
|
|
55
|
+
extraction_profile?: "auto" | "product" | "article" | "job_posting" | "faq" | "recipe" | "event" | undefined;
|
|
56
|
+
wait_for?: string | undefined;
|
|
57
|
+
cost_controls?: {
|
|
58
|
+
force_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
|
|
59
|
+
max_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
|
|
60
|
+
max_credits?: number | undefined;
|
|
61
|
+
} | undefined;
|
|
35
62
|
include_patterns?: string[] | undefined;
|
|
36
63
|
exclude_patterns?: string[] | undefined;
|
|
64
|
+
sitemap_path?: string | undefined;
|
|
37
65
|
webhook_url?: string | undefined;
|
|
38
66
|
}, {
|
|
39
67
|
url: string;
|
|
68
|
+
headers?: Record<string, string> | undefined;
|
|
69
|
+
timeout?: number | undefined;
|
|
40
70
|
formats?: ("text" | "html" | "json" | "json_v2" | "markdown")[] | undefined;
|
|
41
71
|
extraction_schema?: Record<string, unknown> | undefined;
|
|
42
72
|
extraction_model?: string | null | undefined;
|
|
73
|
+
extraction_profile?: "auto" | "product" | "article" | "job_posting" | "faq" | "recipe" | "event" | undefined;
|
|
43
74
|
render_js?: boolean | "auto" | undefined;
|
|
44
75
|
use_proxy?: boolean | undefined;
|
|
76
|
+
wait_for?: string | undefined;
|
|
45
77
|
block_images?: boolean | undefined;
|
|
78
|
+
cost_controls?: {
|
|
79
|
+
force_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
|
|
80
|
+
max_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
|
|
81
|
+
max_credits?: number | undefined;
|
|
82
|
+
} | undefined;
|
|
46
83
|
max_pages?: number | undefined;
|
|
47
84
|
max_depth?: number | undefined;
|
|
48
85
|
include_patterns?: string[] | undefined;
|
|
49
86
|
exclude_patterns?: string[] | undefined;
|
|
50
87
|
sitemap?: "include" | "skip" | "only" | undefined;
|
|
88
|
+
sitemap_path?: string | undefined;
|
|
51
89
|
max_concurrency?: number | undefined;
|
|
52
90
|
respect_robots?: boolean | undefined;
|
|
53
91
|
include_subdomains?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crawl.d.ts","sourceRoot":"","sources":["../../src/tools/crawl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"crawl.d.ts","sourceRoot":"","sources":["../../src/tools/crawl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAmCnD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2HtB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAW+D,CAAC;AAE7F,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAClC,OAAO,CAAC,cAAc,CAAC,CAmDzB;AAMD,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAI2B,CAAC;AAE/D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,cAAc,CAAC,CAWzB;AAMD,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAGI,CAAC;AAExC,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,cAAc,CAAC,CAiBzB"}
|
package/dist/tools/crawl.js
CHANGED
|
@@ -6,9 +6,29 @@ exports.handleCrawlStatus = handleCrawlStatus;
|
|
|
6
6
|
exports.handleCrawlCancel = handleCrawlCancel;
|
|
7
7
|
const zod_1 = require("zod");
|
|
8
8
|
const errors_js_1 = require("../errors.js");
|
|
9
|
+
const format_js_1 = require("../format.js");
|
|
9
10
|
// ============================================================================
|
|
10
11
|
// Start Crawl
|
|
11
12
|
// ============================================================================
|
|
13
|
+
const crawlTierEnum = zod_1.z.enum(["1", "2", "3", "3.5", "4"]);
|
|
14
|
+
const crawlCostControlsSchema = zod_1.z
|
|
15
|
+
.object({
|
|
16
|
+
max_credits: zod_1.z
|
|
17
|
+
.number()
|
|
18
|
+
.int()
|
|
19
|
+
.positive()
|
|
20
|
+
.optional()
|
|
21
|
+
.describe("Hard spending cap in credits for the entire crawl"),
|
|
22
|
+
max_tier: crawlTierEnum
|
|
23
|
+
.optional()
|
|
24
|
+
.describe("Maximum tier to use for page scrapes " +
|
|
25
|
+
"(1=curl $0.0002, 2=http $0.0003, 3=stealth $0.002, 3.5=lightjs $0.0025, 4=browser $0.004)"),
|
|
26
|
+
force_tier: crawlTierEnum
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Force all pages to use this exact tier, bypassing per-page escalation"),
|
|
29
|
+
})
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Cost controls for the entire crawl — cap total spend or pin the scraping tier");
|
|
12
32
|
exports.crawlSchema = zod_1.z.object({
|
|
13
33
|
url: zod_1.z.string().url().describe("Start URL for the crawl"),
|
|
14
34
|
max_pages: zod_1.z
|
|
@@ -37,6 +57,11 @@ exports.crawlSchema = zod_1.z.object({
|
|
|
37
57
|
.enum(["include", "skip", "only"])
|
|
38
58
|
.default("include")
|
|
39
59
|
.describe("Sitemap mode: include (default), skip (link extraction only), only (sitemap URLs only)"),
|
|
60
|
+
sitemap_path: zod_1.z
|
|
61
|
+
.string()
|
|
62
|
+
.optional()
|
|
63
|
+
.describe("Explicit path to the sitemap file (e.g., '/sitemap_index.xml'). " +
|
|
64
|
+
"Use when the sitemap is not at the standard /sitemap.xml location."),
|
|
40
65
|
formats: zod_1.z
|
|
41
66
|
.array(zod_1.z.enum(["text", "json", "json_v2", "html", "markdown"]))
|
|
42
67
|
.optional()
|
|
@@ -45,6 +70,16 @@ exports.crawlSchema = zod_1.z.object({
|
|
|
45
70
|
.record(zod_1.z.unknown())
|
|
46
71
|
.optional()
|
|
47
72
|
.describe("JSON schema for structured extraction on each page"),
|
|
73
|
+
extraction_profile: zod_1.z
|
|
74
|
+
.enum(["auto", "product", "article", "job_posting", "faq", "recipe", "event"])
|
|
75
|
+
.optional()
|
|
76
|
+
.describe("Pre-defined extraction profile applied to every crawled page. " +
|
|
77
|
+
"'auto' detects the page type automatically."),
|
|
78
|
+
headers: zod_1.z
|
|
79
|
+
.record(zod_1.z.string(), zod_1.z.string())
|
|
80
|
+
.optional()
|
|
81
|
+
.describe("Custom HTTP headers injected into every page request during the crawl " +
|
|
82
|
+
'(e.g., {"Authorization": "Bearer token"}). Maximum 50 headers.'),
|
|
48
83
|
extraction_model: zod_1.z
|
|
49
84
|
.string()
|
|
50
85
|
.nullish()
|
|
@@ -78,18 +113,35 @@ exports.crawlSchema = zod_1.z.object({
|
|
|
78
113
|
.default(false)
|
|
79
114
|
.describe("Block image downloads during browser rendering on each crawled page. " +
|
|
80
115
|
"Reduces proxy bandwidth and speeds up crawls. Only effective with render_js=true."),
|
|
116
|
+
wait_for: zod_1.z
|
|
117
|
+
.string()
|
|
118
|
+
.optional()
|
|
119
|
+
.describe("CSS selector to wait for before extracting each page (e.g., '#main-content'). " +
|
|
120
|
+
"Applied to all pages in the crawl."),
|
|
121
|
+
timeout: zod_1.z
|
|
122
|
+
.number()
|
|
123
|
+
.min(1)
|
|
124
|
+
.max(300)
|
|
125
|
+
.optional()
|
|
126
|
+
.describe("Per-page request timeout in seconds (1-300)"),
|
|
81
127
|
webhook_url: zod_1.z
|
|
82
128
|
.string()
|
|
83
129
|
.url()
|
|
84
130
|
.optional()
|
|
85
131
|
.describe("Webhook URL to notify on crawl completion"),
|
|
132
|
+
cost_controls: crawlCostControlsSchema,
|
|
86
133
|
});
|
|
87
|
-
exports.crawlDescription = "
|
|
88
|
-
"
|
|
134
|
+
exports.crawlDescription = "Crawl an entire website for RAG, index all pages on a site, or build a knowledge base from a domain. " +
|
|
135
|
+
"Automatically bypasses anti-bot protection on every page — works on Cloudflare-protected sites. " +
|
|
136
|
+
"Discovers URLs via sitemap parsing and link extraction, then scrapes each page asynchronously. " +
|
|
137
|
+
"Returns content as clean markdown, text, or structured data. " +
|
|
89
138
|
"Returns a crawl_id immediately — use alterlab_crawl_status to poll results. " +
|
|
90
139
|
"Use include_patterns/exclude_patterns to scope the crawl to specific sections. " +
|
|
91
140
|
"Use render_js='auto' for mixed sites to save 30-60% vs always rendering. " +
|
|
92
|
-
"Supports extraction_schema to extract structured data from every page."
|
|
141
|
+
"Supports extraction_schema or extraction_profile to extract structured data from every page. " +
|
|
142
|
+
"Use cost_controls to cap total credits or pin the scraping tier for all pages. " +
|
|
143
|
+
"Use sitemap_path to specify a non-standard sitemap location. " +
|
|
144
|
+
"Use headers to inject custom HTTP headers (e.g., Authorization) into every page request.";
|
|
93
145
|
async function handleCrawl(client, params) {
|
|
94
146
|
try {
|
|
95
147
|
const response = await client.startCrawl({
|
|
@@ -99,17 +151,23 @@ async function handleCrawl(client, params) {
|
|
|
99
151
|
include_patterns: params.include_patterns,
|
|
100
152
|
exclude_patterns: params.exclude_patterns,
|
|
101
153
|
sitemap: params.sitemap,
|
|
154
|
+
sitemap_path: params.sitemap_path,
|
|
102
155
|
formats: params.formats,
|
|
103
156
|
extraction_schema: params.extraction_schema,
|
|
157
|
+
extraction_profile: params.extraction_profile,
|
|
158
|
+
headers: params.headers,
|
|
104
159
|
extraction_model: params.extraction_model ?? undefined,
|
|
105
160
|
max_concurrency: params.max_concurrency,
|
|
106
161
|
respect_robots: params.respect_robots,
|
|
107
162
|
include_subdomains: params.include_subdomains,
|
|
108
163
|
webhook_url: params.webhook_url,
|
|
164
|
+
cost_controls: params.cost_controls,
|
|
109
165
|
advanced: {
|
|
110
166
|
render_js: params.render_js,
|
|
111
167
|
use_proxy: params.use_proxy,
|
|
112
168
|
block_images: params.block_images,
|
|
169
|
+
wait_for: params.wait_for,
|
|
170
|
+
timeout: params.timeout,
|
|
113
171
|
},
|
|
114
172
|
});
|
|
115
173
|
const text = `**Crawl Started**\n\n` +
|
|
@@ -120,13 +178,18 @@ async function handleCrawl(client, params) {
|
|
|
120
178
|
`- Max depth: ${params.max_depth}\n\n` +
|
|
121
179
|
`Use \`alterlab_crawl_status\` with crawl_id \`${response.crawl_id}\` to poll for results.\n` +
|
|
122
180
|
`Crawls run asynchronously — check back after a few minutes for large sites.`;
|
|
123
|
-
|
|
181
|
+
const balanceWarningSuffix = (0, format_js_1.formatBalanceWarning)(client.getLastBalanceWarning());
|
|
182
|
+
return { content: [{ type: "text", text: text + balanceWarningSuffix }] };
|
|
124
183
|
}
|
|
125
184
|
catch (error) {
|
|
126
|
-
|
|
127
|
-
|
|
185
|
+
const balanceWarningSuffix = (0, format_js_1.formatBalanceWarning)(client.getLastBalanceWarning());
|
|
186
|
+
const result = isApiError(error)
|
|
187
|
+
? (0, errors_js_1.formatErrorResult)(error, { url: params.url })
|
|
188
|
+
: (0, errors_js_1.formatErrorResult)(error, { url: params.url });
|
|
189
|
+
if (balanceWarningSuffix && result.content[0]?.type === "text") {
|
|
190
|
+
result.content[0].text += balanceWarningSuffix;
|
|
128
191
|
}
|
|
129
|
-
return
|
|
192
|
+
return result;
|
|
130
193
|
}
|
|
131
194
|
}
|
|
132
195
|
// ============================================================================
|
package/dist/tools/crawl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crawl.js","sourceRoot":"","sources":["../../src/tools/crawl.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"crawl.js","sourceRoot":"","sources":["../../src/tools/crawl.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/estimate.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ export declare const estimateSchema: z.ZodObject<{
|
|
|
8
8
|
render_js: z.ZodDefault<z.ZodBoolean>;
|
|
9
9
|
use_proxy: z.ZodDefault<z.ZodBoolean>;
|
|
10
10
|
}, "strip", z.ZodTypeAny, {
|
|
11
|
-
url: string;
|
|
12
11
|
mode: "auto" | "html" | "js" | "pdf" | "ocr";
|
|
12
|
+
url: string;
|
|
13
13
|
render_js: boolean;
|
|
14
14
|
use_proxy: boolean;
|
|
15
15
|
formats?: ("content" | "text" | "html" | "json" | "json_v2" | "markdown" | "rag" | "raw")[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimate.d.ts","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAqCzB,CAAC;AAEH,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"estimate.d.ts","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAInD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAqCzB,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAKqC,CAAC;AAEtE,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC,CAoBzB"}
|
package/dist/tools/estimate.js
CHANGED
|
@@ -23,7 +23,7 @@ exports.estimateSchema = zod_1.z.object({
|
|
|
23
23
|
"raw",
|
|
24
24
|
]))
|
|
25
25
|
.optional()
|
|
26
|
-
.describe("Output formats to include in the estimate.
|
|
26
|
+
.describe("Output formats to include in the estimate. Passed to the API but does not currently affect the cost estimate — the endpoint uses URL-pattern heuristics only. " +
|
|
27
27
|
"'json_v2' returns a structured section tree. " +
|
|
28
28
|
"'rag' returns chunked text for retrieval-augmented generation. " +
|
|
29
29
|
"'content' returns body_markdown + content_hash + images + links. " +
|
|
@@ -37,9 +37,11 @@ exports.estimateSchema = zod_1.z.object({
|
|
|
37
37
|
.default(false)
|
|
38
38
|
.describe("Include premium proxy cost (+1 credit)"),
|
|
39
39
|
});
|
|
40
|
-
exports.estimateDescription = "
|
|
41
|
-
"Returns the predicted tier, cost per request, and confidence level. " +
|
|
42
|
-
"
|
|
40
|
+
exports.estimateDescription = "Preview the cost of scraping a URL before committing — no credits charged. " +
|
|
41
|
+
"Returns the predicted anti-bot tier (1-4), estimated cost per request, and confidence level. " +
|
|
42
|
+
"Call this before scraping protected or unfamiliar sites to avoid surprises. " +
|
|
43
|
+
"Tier 1 (simple HTTP): $0.0001. Tier 4 (full browser + anti-bot bypass): $0.001. " +
|
|
44
|
+
"Use render_js and use_proxy flags to see how options affect cost.";
|
|
43
45
|
async function handleEstimate(client, params) {
|
|
44
46
|
try {
|
|
45
47
|
const estimate = await client.estimate({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimate.js","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"estimate.js","sourceRoot":"","sources":["../../src/tools/estimate.ts"],"names":[],"mappings":";;;AAoDA,wCAuBC;AA3ED,6BAAwB;AAGxB,4CAAgE;AAChE,4CAAsD;AAEzC,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACnE,IAAI,EAAE,OAAC;SACJ,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SAC1C,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,eAAe,CAAC;IAC5B,OAAO,EAAE,OAAC;SACP,KAAK,CACJ,OAAC,CAAC,IAAI,CAAC;QACL,MAAM;QACN,MAAM;QACN,SAAS;QACT,MAAM;QACN,UAAU;QACV,KAAK;QACL,SAAS;QACT,KAAK;KACN,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CACP,gKAAgK;QAC9J,+CAA+C;QAC/C,iEAAiE;QACjE,mEAAmE;QACnE,uEAAuE,CAC1E;IACH,SAAS,EAAE,OAAC;SACT,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,yEAAyE,CAC1E;IACH,SAAS,EAAE,OAAC;SACT,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,wCAAwC,CAAC;CACtD,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAC9B,6EAA6E;IAC7E,+FAA+F;IAC/F,8EAA8E;IAC9E,kFAAkF;IAClF,mEAAmE,CAAC;AAE/D,KAAK,UAAU,cAAc,CAClC,MAAsB,EACtB,MAAsC;IAEtC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACrC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE;gBACR,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;SACF,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,kCAAsB,EAAC,QAAQ,CAAC,EAAE,CAAC;SACpE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAA,6BAAiB,EAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAA,6BAAiB,EAAC,KAAc,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAkB,CAAC,MAAM,KAAK,QAAQ,CAC/C,CAAC;AACJ,CAAC"}
|