firecrawl 4.35.0 → 4.38.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/dist/{chunk-666CR5HH.js → chunk-KSTNOGOD.js} +1 -1
- package/dist/index.cjs +114 -15
- package/dist/index.d.cts +224 -2
- package/dist/index.d.ts +224 -2
- package/dist/index.js +115 -16
- package/dist/{package-ZOVFJE7Z.js → package-OS7RONXY.js} +1 -1
- package/package.json +1 -1
- package/src/__tests__/unit/v2/agent-effort-trace.unit.test.ts +140 -0
- package/src/__tests__/unit/v2/agent-list.unit.test.ts +68 -0
- package/src/__tests__/unit/v2/scrapeAutoResume.test.ts +145 -0
- package/src/v1/index.ts +1 -0
- package/src/v2/client.ts +35 -4
- package/src/v2/methods/agent.ts +46 -1
- package/src/v2/methods/scrape.ts +123 -19
- package/src/v2/types.ts +209 -0
- package/src/v2/utils/httpClient.ts +6 -0
package/src/v2/types.ts
CHANGED
|
@@ -31,6 +31,7 @@ export interface JsonFormat extends Format {
|
|
|
31
31
|
type: "json";
|
|
32
32
|
prompt?: string;
|
|
33
33
|
schema?: Record<string, unknown> | ZodTypeAny;
|
|
34
|
+
checkPromptInjection?: boolean;
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
export interface ScreenshotFormat {
|
|
@@ -1327,10 +1328,218 @@ export interface AgentStatusResponse {
|
|
|
1327
1328
|
* names makes every future model a type error at the call site.
|
|
1328
1329
|
*/
|
|
1329
1330
|
model?: "spark-1-pro" | "spark-1-mini" | "spark-2" | (string & {});
|
|
1331
|
+
/**
|
|
1332
|
+
* Reasoning effort the job ran with. Only set for runs that specified it;
|
|
1333
|
+
* older rows and default runs have no effort.
|
|
1334
|
+
*/
|
|
1335
|
+
effort?: "low" | "medium" | "high";
|
|
1330
1336
|
expiresAt: string;
|
|
1331
1337
|
creditsUsed?: number;
|
|
1332
1338
|
}
|
|
1333
1339
|
|
|
1340
|
+
/** Reasoning effort for agent jobs. Every level runs spark-2. */
|
|
1341
|
+
export type AgentEffort = "low" | "medium" | "high";
|
|
1342
|
+
|
|
1343
|
+
/** A single agent run as returned by the agent list endpoint. */
|
|
1344
|
+
export interface AgentListItem {
|
|
1345
|
+
id: string;
|
|
1346
|
+
createdAt: string;
|
|
1347
|
+
targetHint: string;
|
|
1348
|
+
origin: string;
|
|
1349
|
+
integration?: string;
|
|
1350
|
+
settings: {
|
|
1351
|
+
hidden: boolean;
|
|
1352
|
+
starred: boolean;
|
|
1353
|
+
label?: string;
|
|
1354
|
+
};
|
|
1355
|
+
status: "processing" | "completed" | "failed";
|
|
1356
|
+
options?: {
|
|
1357
|
+
urls?: string[];
|
|
1358
|
+
prompt: string;
|
|
1359
|
+
schema?: unknown;
|
|
1360
|
+
/**
|
|
1361
|
+
* Server-provided model name. Widened past the request-side union on
|
|
1362
|
+
* purpose: new models ship without an SDK release, so pinning this to
|
|
1363
|
+
* known names makes every future model a type error at the call site.
|
|
1364
|
+
*/
|
|
1365
|
+
model: "spark-1-pro" | "spark-1-mini" | "spark-2" | (string & {});
|
|
1366
|
+
effort?: AgentEffort;
|
|
1367
|
+
};
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
export interface AgentListResponse {
|
|
1371
|
+
success: boolean;
|
|
1372
|
+
agents?: AgentListItem[];
|
|
1373
|
+
/**
|
|
1374
|
+
* Absolute URL of the next page (pass its `before` value to listAgents to
|
|
1375
|
+
* continue). Only present when more pages exist.
|
|
1376
|
+
*/
|
|
1377
|
+
next?: string;
|
|
1378
|
+
error?: string;
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
/** Options for listing agent runs. */
|
|
1382
|
+
export interface AgentListOptions {
|
|
1383
|
+
/** Only return agent runs created before this unix millisecond timestamp. */
|
|
1384
|
+
before?: number;
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
export type AgentTraceAgentRole = "orchestrator" | "subagent" | "browser" | "system";
|
|
1388
|
+
|
|
1389
|
+
export interface AgentTraceAgentIdentity {
|
|
1390
|
+
id: string;
|
|
1391
|
+
role: AgentTraceAgentRole;
|
|
1392
|
+
name: string;
|
|
1393
|
+
parentId?: string;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
export interface AgentTraceError {
|
|
1397
|
+
code: "cancelled" | "credit_limit_reached" | "parent_finished" | "refused" | "internal";
|
|
1398
|
+
source: "agent" | "tool" | "billing" | "system";
|
|
1399
|
+
retryable: boolean;
|
|
1400
|
+
message: string;
|
|
1401
|
+
}
|
|
1402
|
+
|
|
1403
|
+
export interface AgentTraceArtifactChange {
|
|
1404
|
+
kind: "json" | "markdown" | "html" | "screenshot" | "text";
|
|
1405
|
+
artifactId: string;
|
|
1406
|
+
path?: string;
|
|
1407
|
+
/** Fetch the full content via getAgentSnapshot(jobId, snapshotId). */
|
|
1408
|
+
snapshotId: string;
|
|
1409
|
+
change: "init" | "partial" | "append" | "modify" | "update";
|
|
1410
|
+
changedFields?: string[];
|
|
1411
|
+
itemCount?: number;
|
|
1412
|
+
sourceToolCallId?: string;
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
interface AgentTraceEventBase {
|
|
1416
|
+
schemaVersion: 1;
|
|
1417
|
+
eventId: string;
|
|
1418
|
+
runId: string;
|
|
1419
|
+
occurredAt: string;
|
|
1420
|
+
producerSequence: number;
|
|
1421
|
+
agent: AgentTraceAgentIdentity;
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1424
|
+
export interface AgentTraceRunStartedEvent extends AgentTraceEventBase {
|
|
1425
|
+
type: "run.started";
|
|
1426
|
+
}
|
|
1427
|
+
|
|
1428
|
+
export interface AgentTraceRunCancelRequestedEvent extends AgentTraceEventBase {
|
|
1429
|
+
type: "run.cancel_requested";
|
|
1430
|
+
reason: "user";
|
|
1431
|
+
}
|
|
1432
|
+
|
|
1433
|
+
export interface AgentTraceRunFinishedEvent extends AgentTraceEventBase {
|
|
1434
|
+
type: "run.finished";
|
|
1435
|
+
outcome: "succeeded" | "failed" | "cancelled" | "refused" | "credit_limit_reached";
|
|
1436
|
+
/** The canonical schema always writes this key (nullable), but older rows may omit it. */
|
|
1437
|
+
error?: AgentTraceError | null;
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1440
|
+
export interface AgentTraceAgentStartedEvent extends AgentTraceEventBase {
|
|
1441
|
+
type: "agent.started";
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
export interface AgentTraceAgentFinishedEvent extends AgentTraceEventBase {
|
|
1445
|
+
type: "agent.finished";
|
|
1446
|
+
outcome: "succeeded" | "failed" | "cancelled" | "refused";
|
|
1447
|
+
durationMs: number;
|
|
1448
|
+
/** The canonical schema always writes this key (nullable), but older rows may omit it. */
|
|
1449
|
+
error?: AgentTraceError | null;
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
export interface AgentTraceBrowserSessionStartedEvent extends AgentTraceEventBase {
|
|
1453
|
+
type: "browser.session.started";
|
|
1454
|
+
sessionId: string;
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1457
|
+
export interface AgentTraceBrowserSessionFinishedEvent extends AgentTraceEventBase {
|
|
1458
|
+
type: "browser.session.finished";
|
|
1459
|
+
sessionId: string;
|
|
1460
|
+
durationMs: number;
|
|
1461
|
+
}
|
|
1462
|
+
|
|
1463
|
+
export interface AgentTraceProgressReportedEvent extends AgentTraceEventBase {
|
|
1464
|
+
type: "progress.reported";
|
|
1465
|
+
phase: "planning" | "working" | "finalizing";
|
|
1466
|
+
message: string;
|
|
1467
|
+
}
|
|
1468
|
+
|
|
1469
|
+
export interface AgentTraceReasoningSummaryEvent extends AgentTraceEventBase {
|
|
1470
|
+
type: "reasoning.summary";
|
|
1471
|
+
text: string;
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1474
|
+
export interface AgentTraceToolCallStartedEvent extends AgentTraceEventBase {
|
|
1475
|
+
type: "tool_call.started";
|
|
1476
|
+
toolCallId: string;
|
|
1477
|
+
toolName: string;
|
|
1478
|
+
parameters: unknown;
|
|
1479
|
+
}
|
|
1480
|
+
|
|
1481
|
+
export interface AgentTraceToolCallFinishedEvent extends AgentTraceEventBase {
|
|
1482
|
+
type: "tool_call.finished";
|
|
1483
|
+
toolCallId: string;
|
|
1484
|
+
toolName: string;
|
|
1485
|
+
result: unknown;
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
export interface AgentTraceArtifactUpdatedEvent extends AgentTraceEventBase {
|
|
1489
|
+
type: "artifact.updated";
|
|
1490
|
+
artifact: AgentTraceArtifactChange;
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1493
|
+
export interface AgentTraceErrorOccurredEvent extends AgentTraceEventBase {
|
|
1494
|
+
type: "error.occurred";
|
|
1495
|
+
error: AgentTraceError;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
/**
|
|
1499
|
+
* One event in an agent job's trace. Mirrors the canonical event schema of
|
|
1500
|
+
* the agent service (schemaVersion 1); `usage.recorded` events are withheld
|
|
1501
|
+
* server-side and `agent.started` carries no model name.
|
|
1502
|
+
*/
|
|
1503
|
+
export type AgentTraceEvent =
|
|
1504
|
+
| AgentTraceRunStartedEvent
|
|
1505
|
+
| AgentTraceRunCancelRequestedEvent
|
|
1506
|
+
| AgentTraceRunFinishedEvent
|
|
1507
|
+
| AgentTraceAgentStartedEvent
|
|
1508
|
+
| AgentTraceAgentFinishedEvent
|
|
1509
|
+
| AgentTraceBrowserSessionStartedEvent
|
|
1510
|
+
| AgentTraceBrowserSessionFinishedEvent
|
|
1511
|
+
| AgentTraceProgressReportedEvent
|
|
1512
|
+
| AgentTraceReasoningSummaryEvent
|
|
1513
|
+
| AgentTraceToolCallStartedEvent
|
|
1514
|
+
| AgentTraceToolCallFinishedEvent
|
|
1515
|
+
| AgentTraceArtifactUpdatedEvent
|
|
1516
|
+
| AgentTraceErrorOccurredEvent;
|
|
1517
|
+
|
|
1518
|
+
export interface AgentTraceActiveBrowserSession {
|
|
1519
|
+
id: string;
|
|
1520
|
+
liveViewUrl: string;
|
|
1521
|
+
viewport: { width: number; height: number };
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
export interface AgentTraceResponse {
|
|
1525
|
+
success: boolean;
|
|
1526
|
+
id?: string;
|
|
1527
|
+
events?: AgentTraceEvent[];
|
|
1528
|
+
creditsUsed?: number;
|
|
1529
|
+
/** Present only when the trace was requested with liveView: true. */
|
|
1530
|
+
activeBrowserSessions?: AgentTraceActiveBrowserSession[];
|
|
1531
|
+
error?: string;
|
|
1532
|
+
}
|
|
1533
|
+
|
|
1534
|
+
export interface AgentSnapshotResponse {
|
|
1535
|
+
success: boolean;
|
|
1536
|
+
id?: string;
|
|
1537
|
+
snapshotId?: string;
|
|
1538
|
+
/** Full artifact content as a JSON/string blob. */
|
|
1539
|
+
snapshot?: string;
|
|
1540
|
+
error?: string;
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1334
1543
|
export interface AgentOptions {
|
|
1335
1544
|
model: "FIRE-1" | "v3-beta";
|
|
1336
1545
|
}
|
|
@@ -51,6 +51,12 @@ export class HttpClient {
|
|
|
51
51
|
return this.apiKey;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
/** The client-wide default request timeout, for callers that need to
|
|
55
|
+
* extend a specific request beyond it (e.g. scrape auto-resume). */
|
|
56
|
+
getTimeoutMs(): number {
|
|
57
|
+
return (this.instance.defaults.timeout as number | undefined) ?? 300000;
|
|
58
|
+
}
|
|
59
|
+
|
|
54
60
|
private async request<T = any>(
|
|
55
61
|
config: AxiosRequestConfig,
|
|
56
62
|
): Promise<AxiosResponse<T>> {
|