@crawlee/stagehand 4.0.0-beta.64 → 4.0.0-beta.66

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/index.mjs CHANGED
@@ -47,12 +47,8 @@ export const Request = mod.Request;
47
47
  export const RequestHandlerError = mod.RequestHandlerError;
48
48
  export const RequestHandlerResult = mod.RequestHandlerResult;
49
49
  export const RequestList = mod.RequestList;
50
- export const RequestListAdapter = mod.RequestListAdapter;
51
50
  export const RequestManagerTandem = mod.RequestManagerTandem;
52
- export const RequestProvider = mod.RequestProvider;
53
51
  export const RequestQueue = mod.RequestQueue;
54
- export const RequestQueueV1 = mod.RequestQueueV1;
55
- export const RequestQueueV2 = mod.RequestQueueV2;
56
52
  export const RequestState = mod.RequestState;
57
53
  export const RetryRequestError = mod.RetryRequestError;
58
54
  export const Router = mod.Router;
@@ -63,7 +59,7 @@ export const ServiceLocator = mod.ServiceLocator;
63
59
  export const Session = mod.Session;
64
60
  export const SessionError = mod.SessionError;
65
61
  export const SessionPool = mod.SessionPool;
66
- export const SitemapRequestList = mod.SitemapRequestList;
62
+ export const SitemapRequestLoader = mod.SitemapRequestLoader;
67
63
  export const Snapshotter = mod.Snapshotter;
68
64
  export const StagehandCrawler = mod.StagehandCrawler;
69
65
  export const Statistics = mod.Statistics;
@@ -5,7 +5,6 @@ import type { Dictionary } from '@crawlee/types';
5
5
  // @ts-ignore optional peer dependency or compatibility with es2022
6
6
  import type { LaunchOptions, Page, Response } from 'playwright';
7
7
  import type { z } from 'zod';
8
- import type { StagehandController } from './stagehand-controller';
9
8
  import type { StagehandLaunchContext } from './stagehand-launcher';
10
9
  import type { StagehandPlugin } from './stagehand-plugin';
11
10
  /**
@@ -173,7 +172,7 @@ export interface StagehandPage extends Page {
173
172
  * Goto options for StagehandCrawler navigation.
174
173
  */
175
174
  export type StagehandGotoOptions = NonNullable<Parameters<Page['goto']>[1]>;
176
- export interface StagehandCrawlingContext<UserData extends Dictionary = Dictionary> extends BrowserCrawlingContext<StagehandPage, Response, StagehandController, UserData, StagehandGotoOptions> {
175
+ export interface StagehandCrawlingContext<UserData extends Dictionary = Dictionary> extends BrowserCrawlingContext<StagehandPage, Response, UserData, StagehandGotoOptions> {
177
176
  /**
178
177
  * Enhanced Playwright page with Stagehand AI methods.
179
178
  * Use page.act(), page.extract(), page.observe(), page.agent() for AI-powered operations.
@@ -198,7 +197,7 @@ export interface StagehandRequestHandler extends RequestHandler<LoadedContext<St
198
197
  /**
199
198
  * Options for StagehandCrawler.
200
199
  */
201
- export interface StagehandCrawlerOptions<ContextExtension = Dictionary<never>, ExtendedContext extends StagehandCrawlingContext = StagehandCrawlingContext & ContextExtension> extends BrowserCrawlerOptions<StagehandPage, Response, StagehandController, StagehandCrawlingContext, ContextExtension, ExtendedContext, {
200
+ export interface StagehandCrawlerOptions<ContextExtension = Dictionary<never>, ExtendedContext extends StagehandCrawlingContext = StagehandCrawlingContext & ContextExtension> extends BrowserCrawlerOptions<StagehandPage, Response, StagehandCrawlingContext, ContextExtension, ExtendedContext, {
202
201
  browserPlugins: [StagehandPlugin];
203
202
  }> {
204
203
  /**
@@ -216,7 +215,6 @@ export interface StagehandCrawlerOptions<ContextExtension = Dictionary<never>, E
216
215
  * The function receives the {@link StagehandCrawlingContext} as an argument, where:
217
216
  * - `request` is an instance of the {@link Request} object with details about the URL to open, HTTP method etc.
218
217
  * - `page` is an enhanced Playwright [`Page`](https://playwright.dev/docs/api/class-page) with AI methods
219
- * - `browserController` is an instance of {@link StagehandController}
220
218
  * - `response` is the main resource response as returned by `page.goto(request.url)`
221
219
  * - `stagehand` is the Stagehand instance for advanced control
222
220
  *
@@ -314,7 +312,7 @@ export interface StagehandCrawlerOptions<ContextExtension = Dictionary<never>, E
314
312
  * await crawler.run(['https://example.com']);
315
313
  * ```
316
314
  */
317
- export declare class StagehandCrawler<ContextExtension = Dictionary<never>, ExtendedContext extends StagehandCrawlingContext = StagehandCrawlingContext & ContextExtension> extends BrowserCrawler<StagehandPage, Response, StagehandController, {
315
+ export declare class StagehandCrawler<ContextExtension = Dictionary<never>, ExtendedContext extends StagehandCrawlingContext = StagehandCrawlingContext & ContextExtension> extends BrowserCrawler<StagehandPage, Response, {
318
316
  browserPlugins: [StagehandPlugin];
319
317
  }, LaunchOptions, StagehandCrawlingContext, ContextExtension, ExtendedContext> {
320
318
  protected static optionsShape: {
@@ -332,6 +330,8 @@ export declare class StagehandCrawler<ContextExtension = Dictionary<never>, Exte
332
330
  launchContext: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
333
331
  // @ts-ignore optional peer dependency or compatibility with es2022
334
332
  headless: import("ow").AnyPredicate<string | boolean>;
333
+ // @ts-ignore optional peer dependency or compatibility with es2022
334
+ browserPool: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
335
335
  // @ts-ignore optional peer dependency or compatibility with es2022
336
336
  saveResponseCookies: import("ow").BooleanPredicate & import("ow").BasePredicate<boolean | undefined>;
337
337
  // @ts-ignore optional peer dependency or compatibility with es2022
@@ -398,8 +398,6 @@ export declare class StagehandCrawler<ContextExtension = Dictionary<never>, Exte
398
398
  maxRequestsPerMinute: import("ow").NumberPredicate & import("ow").BasePredicate<number | undefined>;
399
399
  // @ts-ignore optional peer dependency or compatibility with es2022
400
400
  keepAlive: import("ow").BooleanPredicate & import("ow").BasePredicate<boolean | undefined>;
401
- // @ts-ignore optional peer dependency or compatibility with es2022
402
- experiments: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
403
401
  // @ts-ignore optional peer dependency or compatibility with es2022
404
402
  statisticsOptions: import("ow").ObjectPredicate<object> & import("ow").BasePredicate<object | undefined>;
405
403
  // @ts-ignore optional peer dependency or compatibility with es2022
@@ -412,6 +410,16 @@ export declare class StagehandCrawler<ContextExtension = Dictionary<never>, Exte
412
410
  */
413
411
  constructor(options?: StagehandCrawlerOptions<ContextExtension, ExtendedContext>);
414
412
  protected buildContextPipeline(): ContextPipeline<CrawlingContext, StagehandCrawlingContext>;
413
+ /**
414
+ * Resolves the {@link StagehandController} that owns the given page, or
415
+ * `undefined` when the pool does not expose controllers (e.g. a custom
416
+ * {@link IBrowserPool} implementation).
417
+ *
418
+ * Stagehand needs direct controller access to reach the `Stagehand`
419
+ * instance bound to the page's browser, which is why it reaches past the
420
+ * {@link IBrowserPool} abstraction here.
421
+ */
422
+ private getBrowserControllerByPage;
415
423
  /**
416
424
  * Enhance the page with Stagehand AI methods.
417
425
  */
@@ -1 +1 @@
1
- {"version":3,"file":"stagehand-crawler.d.ts","sourceRoot":"","sources":["../../src/internals/stagehand-crawler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stagehand-crawler.d.ts","sourceRoot":"","sources":["../../src/internals/stagehand-crawler.ts"],"names":[],"mappings":"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"}
@@ -90,11 +90,30 @@ class StagehandCrawler extends browser_1.BrowserCrawler {
90
90
  buildContextPipeline() {
91
91
  return super.buildContextPipeline().compose({ action: this.setUpStagehand.bind(this) });
92
92
  }
93
+ /**
94
+ * Resolves the {@link StagehandController} that owns the given page, or
95
+ * `undefined` when the pool does not expose controllers (e.g. a custom
96
+ * {@link IBrowserPool} implementation).
97
+ *
98
+ * Stagehand needs direct controller access to reach the `Stagehand`
99
+ * instance bound to the page's browser, which is why it reaches past the
100
+ * {@link IBrowserPool} abstraction here.
101
+ */
102
+ getBrowserControllerByPage(page) {
103
+ if ('getBrowserControllerByPage' in this.browserPool) {
104
+ return this.browserPool.getBrowserControllerByPage(page);
105
+ }
106
+ return undefined;
107
+ }
93
108
  /**
94
109
  * Enhance the page with Stagehand AI methods.
95
110
  */
96
111
  async setUpStagehand(crawlingContext) {
97
- const stagehand = crawlingContext.browserController.getStagehand();
112
+ const controller = this.getBrowserControllerByPage(crawlingContext.page);
113
+ if (!controller) {
114
+ throw new Error('Could not resolve StagehandController for page — is the browser pool configured correctly?');
115
+ }
116
+ const stagehand = controller.getStagehand();
98
117
  return {
99
118
  stagehand,
100
119
  page: (0, stagehand_utils_1.enhancePageWithStagehand)(crawlingContext.page, stagehand),
@@ -1 +1 @@
1
- {"version":3,"file":"stagehand-crawler.js","sourceRoot":"","sources":["../../src/internals/stagehand-crawler.ts"],"names":[],"mappings":";;;AAmeA,sDAKC;;AAhdD,8CAA0D;AAG1D,oDAAoB;AAMpB,6DAAyD;AAEzD,6DAAmE;AAqSnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAa,gBAGX,SAAQ,wBAST;IACa,MAAM,CAAU,YAAY,GAAG;QACrC,GAAG,wBAAc,CAAC,YAAY;QAC9B,gBAAgB,EAAE,YAAE,CAAC,QAAQ,CAAC,MAAM;QACpC,kBAAkB,EAAE,YAAE,CAAC,QAAQ,CAAC,MAAM;KACzC,CAAC;IAEF;;;;OAIG;IACH,YAAY,UAAsE,EAAE;QAChF,IAAA,YAAE,EAAC,OAAO,EAAE,yBAAyB,EAAE,YAAE,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;QAE5F,MAAM,EAAE,gBAAgB,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,sBAAsB,EAAE,GAAG,qBAAqB,EAAE,GAAG,OAAO,CAAC;QAEhH,MAAM,kBAAkB,GAAG;YACvB,GAAG,OAAO,CAAC,kBAAkB;SACV,CAAC;QAExB,wCAAwC;QACxC,MAAM,QAAQ,GAAG,IAAI,sCAAiB,CAAC;YACnC,GAAG,aAAa;YAChB,gBAAgB;SACnB,CAAC,CAAC;QAEH,kBAAkB,CAAC,cAAc,GAAG,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAErE,6EAA6E;QAC7E,KAAK,CAAC;YACF,GAAI,qBAAoF;YACxF,aAAa;YACb,kBAAkB;YAClB,sBAAsB,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACxF,CAAC,CAAC;IACP,CAAC;IAEkB,oBAAoB;QACnC,OAAO,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,eAG5B;QACG,MAAM,SAAS,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAEnE,OAAO;YACH,SAAS;YACT,IAAI,EAAE,IAAA,0CAAwB,EAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC;SAClE,CAAC;IACN,CAAC;IAED;;;OAGG;IACgB,KAAK,CAAC,kBAAkB,CACvC,eAAyC,EACzC,WAAiC;QAEjC,wCAAwC;QACxC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;;AA/EL,4CAgFC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,qBAAqB,CAGnC,MAAwC;IACtC,OAAO,gBAAM,CAAC,MAAM,CAAU,MAAM,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"stagehand-crawler.js","sourceRoot":"","sources":["../../src/internals/stagehand-crawler.ts"],"names":[],"mappings":";;;AA2fA,sDAKC;;AAxeD,8CAA0D;AAG1D,oDAAoB;AAMpB,6DAAyD;AAEzD,6DAAmE;AAkSnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAa,gBAGX,SAAQ,wBAQT;IACa,MAAM,CAAU,YAAY,GAAG;QACrC,GAAG,wBAAc,CAAC,YAAY;QAC9B,gBAAgB,EAAE,YAAE,CAAC,QAAQ,CAAC,MAAM;QACpC,kBAAkB,EAAE,YAAE,CAAC,QAAQ,CAAC,MAAM;KACzC,CAAC;IAEF;;;;OAIG;IACH,YAAY,UAAsE,EAAE;QAChF,IAAA,YAAE,EAAC,OAAO,EAAE,yBAAyB,EAAE,YAAE,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;QAE5F,MAAM,EAAE,gBAAgB,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,sBAAsB,EAAE,GAAG,qBAAqB,EAAE,GAAG,OAAO,CAAC;QAEhH,MAAM,kBAAkB,GAAG;YACvB,GAAG,OAAO,CAAC,kBAAkB;SACV,CAAC;QAExB,wCAAwC;QACxC,MAAM,QAAQ,GAAG,IAAI,sCAAiB,CAAC;YACnC,GAAG,aAAa;YAChB,gBAAgB;SACnB,CAAC,CAAC;QAEH,kBAAkB,CAAC,cAAc,GAAG,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAErE,6EAA6E;QAC7E,KAAK,CAAC;YACF,GAAI,qBAAoF;YACxF,aAAa;YACb,kBAAkB;YAClB,sBAAsB,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACxF,CAAC,CAAC;IACP,CAAC;IAEkB,oBAAoB;QACnC,OAAO,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;;;OAQG;IACK,0BAA0B,CAAC,IAAmB;QAClD,IAAI,4BAA4B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnD,OACI,IAAI,CAAC,WAGR,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,eAE5B;QACG,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,IAAqB,CAAC,CAAC;QAE1F,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACX,4FAA4F,CAC/F,CAAC;QACN,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QAE5C,OAAO;YACH,SAAS;YACT,IAAI,EAAE,IAAA,0CAAwB,EAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC;SAClE,CAAC;IACN,CAAC;IAED;;;OAGG;IACgB,KAAK,CAAC,kBAAkB,CACvC,eAAyC,EACzC,WAAiC;QAEjC,wCAAwC;QACxC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;;AA1GL,4CA2GC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,qBAAqB,CAGnC,MAAwC;IACtC,OAAO,gBAAM,CAAC,MAAM,CAAU,MAAM,CAAC,CAAC;AAC1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crawlee/stagehand",
3
- "version": "4.0.0-beta.64",
3
+ "version": "4.0.0-beta.66",
4
4
  "description": "AI-powered web crawling with Stagehand integration for Crawlee - enables natural language browser automation with act(), extract(), and observe() methods.",
5
5
  "engines": {
6
6
  "node": ">=22.0.0"
@@ -57,11 +57,11 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "@apify/timeout": "^0.3.2",
60
- "@crawlee/browser": "4.0.0-beta.64",
61
- "@crawlee/browser-pool": "4.0.0-beta.64",
62
- "@crawlee/core": "4.0.0-beta.64",
63
- "@crawlee/types": "4.0.0-beta.64",
64
- "@crawlee/utils": "4.0.0-beta.64",
60
+ "@crawlee/browser": "4.0.0-beta.66",
61
+ "@crawlee/browser-pool": "4.0.0-beta.66",
62
+ "@crawlee/core": "4.0.0-beta.66",
63
+ "@crawlee/types": "4.0.0-beta.66",
64
+ "@crawlee/utils": "4.0.0-beta.66",
65
65
  "ow": "^2.0.0",
66
66
  "tslib": "^2.8.1"
67
67
  },
@@ -93,5 +93,5 @@
93
93
  }
94
94
  }
95
95
  },
96
- "gitHead": "76ba0fe1101b1e14fb5e1962540107775ad4e513"
96
+ "gitHead": "0890633b51caf16d93940be6f7da7881ad839992"
97
97
  }