@browserbasehq/convex-stagehand 0.0.3 → 0.1.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 CHANGED
@@ -82,7 +82,7 @@ Start a new browser session. Returns session info for use with other operations.
82
82
  ```typescript
83
83
  const session = await stagehand.startSession(ctx, {
84
84
  url: "https://example.com",
85
- browserbaseSessionId: "optional-existing-session-id",
85
+ browserbaseSessionID: "optional-existing-session-id",
86
86
  options: {
87
87
  timeout: 30000,
88
88
  waitUntil: "networkidle",
@@ -91,12 +91,12 @@ const session = await stagehand.startSession(ctx, {
91
91
  systemPrompt: "Custom system prompt for the session",
92
92
  }
93
93
  });
94
- // { sessionId: "...", browserbaseSessionId: "...", cdpUrl: "wss://..." }
94
+ // { sessionId: "...", cdpUrl: "wss://..." }
95
95
  ```
96
96
 
97
97
  **Parameters:**
98
98
  - `url` - The URL to navigate to
99
- - `browserbaseSessionId` - Optional: Resume an existing Browserbase session
99
+ - `browserbaseSessionID` - Optional: Resume an existing Browserbase session
100
100
  - `options.timeout` - Navigation timeout in milliseconds
101
101
  - `options.waitUntil` - When to consider navigation complete: `"load"`, `"domcontentloaded"`, or `"networkidle"`
102
102
  - `options.domSettleTimeoutMs` - Timeout for DOM to settle before considering page loaded
@@ -106,9 +106,8 @@ const session = await stagehand.startSession(ctx, {
106
106
  **Returns:**
107
107
  ```typescript
108
108
  {
109
- sessionId: string; // Use with other operations
110
- browserbaseSessionId?: string; // Store to resume later
111
- cdpUrl?: string; // For advanced Playwright/Puppeteer usage
109
+ sessionId: string; // Use with other operations
110
+ cdpUrl?: string; // For advanced Playwright/Puppeteer usage
112
111
  }
113
112
  ```
114
113
 
@@ -344,31 +343,31 @@ console.log(result.actions); // Detailed log of each action taken
344
343
 
345
344
  ### Resume session across Convex actions
346
345
 
347
- Store the `browserbaseSessionId` to resume sessions across different Convex action calls:
346
+ Store the `sessionId` to continue working with the same Stagehand session across different Convex action calls:
348
347
 
349
348
  ```typescript
350
- // Action 1: Start session and return browserbaseSessionId
349
+ // Action 1: Start session and return sessionId
351
350
  export const startBrowsing = action({
352
351
  handler: async (ctx) => {
353
352
  const session = await stagehand.startSession(ctx, {
354
353
  url: "https://example.com/login"
355
354
  });
356
- // Store browserbaseSessionId in your database
357
- return session.browserbaseSessionId;
355
+ // Store sessionId in your database
356
+ return session.sessionId;
358
357
  }
359
358
  });
360
359
 
361
- // Action 2: Resume session later
360
+ // Action 2: Continue same session later
362
361
  export const continueBrowsing = action({
363
- args: { browserbaseSessionId: v.string() },
362
+ args: { sessionId: v.string() },
364
363
  handler: async (ctx, args) => {
365
- const session = await stagehand.startSession(ctx, {
366
- url: "https://example.com/dashboard",
367
- browserbaseSessionId: args.browserbaseSessionId,
364
+ await stagehand.act(ctx, {
365
+ sessionId: args.sessionId,
366
+ action: "Navigate to the dashboard page",
368
367
  });
369
- // Continue using the same browser instance
368
+
370
369
  return await stagehand.extract(ctx, {
371
- sessionId: session.sessionId,
370
+ sessionId: args.sessionId,
372
371
  instruction: "Extract user data",
373
372
  schema: z.object({ ... }),
374
373
  });
@@ -22,15 +22,38 @@ export type ComponentApi = {
22
22
  };
23
23
  };
24
24
  type ActionCtx = GenericActionCtx<any>;
25
+ /**
26
+ * Model configuration for custom endpoints, proxies, or alternative providers.
27
+ * @see https://docs.stagehand.dev/v3/references/stagehand
28
+ */
29
+ export interface ModelConfig {
30
+ modelName?: string;
31
+ apiKey?: string;
32
+ baseURL?: string;
33
+ provider?: "openai" | "anthropic" | "google" | "microsoft";
34
+ }
25
35
  export interface StagehandConfig {
26
36
  browserbaseApiKey: string;
27
37
  browserbaseProjectId: string;
28
38
  modelApiKey: string;
29
39
  modelName?: string;
40
+ /** Full model configuration with baseURL support. Overrides modelName when modelName is also set. */
41
+ model?: ModelConfig;
42
+ /** Logging verbosity level for sessions. */
43
+ verbose?: 0 | 1 | 2;
44
+ /** Enable self-healing for failed actions. */
45
+ selfHeal?: boolean;
46
+ /** Custom system prompt for AI operations. */
47
+ systemPrompt?: string;
48
+ /** Timeout in ms to wait for DOM to settle. */
49
+ domSettleTimeoutMs?: number;
50
+ /** Enable experimental features. */
51
+ experimental?: boolean;
52
+ /** Default Browserbase session creation parameters. */
53
+ browserbaseSessionCreateParams?: BrowserbaseSessionCreateParams;
30
54
  }
31
55
  export interface SessionInfo {
32
56
  sessionId: string;
33
- browserbaseSessionId?: string;
34
57
  cdpUrl?: string;
35
58
  }
36
59
  /**
@@ -92,31 +115,46 @@ export interface StartSessionOptions {
92
115
  domSettleTimeoutMs?: number;
93
116
  selfHeal?: boolean;
94
117
  systemPrompt?: string;
118
+ verbose?: 0 | 1 | 2;
119
+ experimental?: boolean;
95
120
  }
96
121
  export interface ExtractOptions {
97
122
  timeout?: number;
98
123
  waitUntil?: "load" | "domcontentloaded" | "networkidle";
124
+ model?: string | ModelConfig;
125
+ selector?: string;
99
126
  }
100
127
  export interface ActOptions {
101
128
  timeout?: number;
102
129
  waitUntil?: "load" | "domcontentloaded" | "networkidle";
130
+ model?: string | ModelConfig;
131
+ variables?: Record<string, string>;
103
132
  }
104
133
  export interface ObserveOptions {
105
134
  timeout?: number;
106
135
  waitUntil?: "load" | "domcontentloaded" | "networkidle";
136
+ model?: string | ModelConfig;
137
+ selector?: string;
107
138
  }
108
139
  export interface AgentOptions {
109
140
  cua?: boolean;
141
+ mode?: "dom" | "hybrid" | "cua";
110
142
  maxSteps?: number;
111
143
  systemPrompt?: string;
112
144
  timeout?: number;
113
145
  waitUntil?: "load" | "domcontentloaded" | "networkidle";
146
+ model?: string | ModelConfig;
147
+ executionModel?: string | ModelConfig;
148
+ provider?: "openai" | "anthropic" | "google" | "microsoft";
149
+ highlightCursor?: boolean;
150
+ shouldCache?: boolean;
114
151
  }
115
152
  export interface ObservedAction {
116
153
  description: string;
117
154
  selector: string;
118
- method: string;
155
+ method?: string;
119
156
  arguments?: string[];
157
+ backendNodeId?: number;
120
158
  }
121
159
  export interface ActResult {
122
160
  success: boolean;
@@ -128,12 +166,25 @@ export interface AgentAction {
128
166
  action?: string;
129
167
  reasoning?: string;
130
168
  timeMs?: number;
169
+ taskCompleted?: boolean;
170
+ pageText?: string;
171
+ pageUrl?: string;
172
+ instruction?: string;
173
+ }
174
+ export interface AgentUsage {
175
+ input_tokens: number;
176
+ output_tokens: number;
177
+ reasoning_tokens?: number;
178
+ cached_input_tokens?: number;
179
+ inference_time_ms: number;
131
180
  }
132
181
  export interface AgentResult {
133
182
  actions: AgentAction[];
134
183
  completed: boolean;
135
184
  message: string;
136
185
  success: boolean;
186
+ metadata?: Record<string, unknown>;
187
+ usage?: AgentUsage;
137
188
  }
138
189
  /**
139
190
  * Stagehand client for AI-powered browser automation.
@@ -164,13 +215,19 @@ export declare class Stagehand {
164
215
  private component;
165
216
  private config;
166
217
  constructor(component: ComponentApi, config: StagehandConfig);
218
+ /** Credentials sent as action args for every API call. */
219
+ private get credentials();
220
+ /** Session-level config forwarded to ephemeral sessions. */
221
+ private get sessionConfig();
222
+ /** Resolve per-operation model: per-call override > constructor config > undefined. */
223
+ private resolveModel;
167
224
  /**
168
225
  * Start a new browser session.
169
226
  * Returns session info including cdpUrl for direct Playwright/Puppeteer connection.
170
227
  *
171
228
  * @param ctx - Convex action context
172
229
  * @param args - Session parameters
173
- * @returns Session info with sessionId, browserbaseSessionId, and cdpUrl
230
+ * @returns Session info with sessionId and cdpUrl
174
231
  *
175
232
  * @example
176
233
  * ```typescript
@@ -183,7 +240,7 @@ export declare class Stagehand {
183
240
  */
184
241
  startSession(ctx: ActionCtx, args: {
185
242
  url: string;
186
- browserbaseSessionId?: string;
243
+ browserbaseSessionID?: string;
187
244
  browserbaseSessionCreateParams?: BrowserbaseSessionCreateParams;
188
245
  options?: StartSessionOptions;
189
246
  }): Promise<SessionInfo>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -37,13 +37,40 @@ export class Stagehand {
37
37
  this.component = component;
38
38
  this.config = config;
39
39
  }
40
+ /** Credentials sent as action args for every API call. */
41
+ get credentials() {
42
+ return {
43
+ browserbaseApiKey: this.config.browserbaseApiKey,
44
+ browserbaseProjectId: this.config.browserbaseProjectId,
45
+ modelApiKey: this.config.modelApiKey,
46
+ modelName: this.config.model?.modelName ?? this.config.modelName,
47
+ };
48
+ }
49
+ /** Session-level config forwarded to ephemeral sessions. */
50
+ get sessionConfig() {
51
+ return {
52
+ domSettleTimeoutMs: this.config.domSettleTimeoutMs,
53
+ selfHeal: this.config.selfHeal,
54
+ systemPrompt: this.config.systemPrompt,
55
+ verbose: this.config.verbose,
56
+ experimental: this.config.experimental,
57
+ };
58
+ }
59
+ /** Resolve per-operation model: per-call override > constructor config > undefined. */
60
+ resolveModel(override) {
61
+ if (override !== undefined)
62
+ return override;
63
+ if (this.config.model)
64
+ return this.config.model;
65
+ return undefined;
66
+ }
40
67
  /**
41
68
  * Start a new browser session.
42
69
  * Returns session info including cdpUrl for direct Playwright/Puppeteer connection.
43
70
  *
44
71
  * @param ctx - Convex action context
45
72
  * @param args - Session parameters
46
- * @returns Session info with sessionId, browserbaseSessionId, and cdpUrl
73
+ * @returns Session info with sessionId and cdpUrl
47
74
  *
48
75
  * @example
49
76
  * ```typescript
@@ -56,11 +83,20 @@ export class Stagehand {
56
83
  */
57
84
  async startSession(ctx, args) {
58
85
  return ctx.runAction(this.component.lib.startSession, {
59
- ...this.config,
86
+ ...this.credentials,
60
87
  url: args.url,
61
- browserbaseSessionId: args.browserbaseSessionId,
62
- browserbaseSessionCreateParams: args.browserbaseSessionCreateParams,
63
- options: args.options,
88
+ browserbaseSessionID: args.browserbaseSessionID,
89
+ browserbaseSessionCreateParams: args.browserbaseSessionCreateParams ??
90
+ this.config.browserbaseSessionCreateParams,
91
+ model: this.resolveModel(),
92
+ options: {
93
+ domSettleTimeoutMs: this.config.domSettleTimeoutMs,
94
+ selfHeal: this.config.selfHeal,
95
+ systemPrompt: this.config.systemPrompt,
96
+ verbose: this.config.verbose,
97
+ experimental: this.config.experimental,
98
+ ...args.options,
99
+ },
64
100
  });
65
101
  }
66
102
  /**
@@ -77,7 +113,7 @@ export class Stagehand {
77
113
  */
78
114
  async endSession(ctx, args) {
79
115
  return ctx.runAction(this.component.lib.endSession, {
80
- ...this.config,
116
+ ...this.credentials,
81
117
  sessionId: args.sessionId,
82
118
  });
83
119
  }
@@ -115,13 +151,20 @@ export class Stagehand {
115
151
  // Remove $schema field as it's reserved in Convex
116
152
  delete jsonSchema.$schema;
117
153
  return ctx.runAction(this.component.lib.extract, {
118
- ...this.config,
154
+ ...this.credentials,
119
155
  sessionId: args.sessionId,
120
156
  url: args.url,
121
157
  instruction: args.instruction,
122
158
  schema: jsonSchema,
123
- browserbaseSessionCreateParams: args.browserbaseSessionCreateParams,
124
- options: args.options,
159
+ browserbaseSessionCreateParams: args.browserbaseSessionCreateParams ??
160
+ this.config.browserbaseSessionCreateParams,
161
+ model: this.resolveModel(args.options?.model),
162
+ sessionConfig: this.sessionConfig,
163
+ options: {
164
+ timeout: args.options?.timeout,
165
+ waitUntil: args.options?.waitUntil,
166
+ selector: args.options?.selector,
167
+ },
125
168
  });
126
169
  }
127
170
  /**
@@ -148,12 +191,19 @@ export class Stagehand {
148
191
  */
149
192
  async act(ctx, args) {
150
193
  return ctx.runAction(this.component.lib.act, {
151
- ...this.config,
194
+ ...this.credentials,
152
195
  sessionId: args.sessionId,
153
196
  url: args.url,
154
197
  action: args.action,
155
- browserbaseSessionCreateParams: args.browserbaseSessionCreateParams,
156
- options: args.options,
198
+ browserbaseSessionCreateParams: args.browserbaseSessionCreateParams ??
199
+ this.config.browserbaseSessionCreateParams,
200
+ model: this.resolveModel(args.options?.model),
201
+ sessionConfig: this.sessionConfig,
202
+ options: {
203
+ timeout: args.options?.timeout,
204
+ waitUntil: args.options?.waitUntil,
205
+ variables: args.options?.variables,
206
+ },
157
207
  });
158
208
  }
159
209
  /**
@@ -173,12 +223,19 @@ export class Stagehand {
173
223
  */
174
224
  async observe(ctx, args) {
175
225
  return ctx.runAction(this.component.lib.observe, {
176
- ...this.config,
226
+ ...this.credentials,
177
227
  sessionId: args.sessionId,
178
228
  url: args.url,
179
229
  instruction: args.instruction,
180
- browserbaseSessionCreateParams: args.browserbaseSessionCreateParams,
181
- options: args.options,
230
+ browserbaseSessionCreateParams: args.browserbaseSessionCreateParams ??
231
+ this.config.browserbaseSessionCreateParams,
232
+ model: this.resolveModel(args.options?.model),
233
+ sessionConfig: this.sessionConfig,
234
+ options: {
235
+ timeout: args.options?.timeout,
236
+ waitUntil: args.options?.waitUntil,
237
+ selector: args.options?.selector,
238
+ },
182
239
  });
183
240
  }
184
241
  /**
@@ -208,12 +265,26 @@ export class Stagehand {
208
265
  */
209
266
  async agent(ctx, args) {
210
267
  return ctx.runAction(this.component.lib.agent, {
211
- ...this.config,
268
+ ...this.credentials,
212
269
  sessionId: args.sessionId,
213
270
  url: args.url,
214
271
  instruction: args.instruction,
215
- browserbaseSessionCreateParams: args.browserbaseSessionCreateParams,
216
- options: args.options,
272
+ browserbaseSessionCreateParams: args.browserbaseSessionCreateParams ??
273
+ this.config.browserbaseSessionCreateParams,
274
+ model: this.resolveModel(args.options?.model),
275
+ sessionConfig: this.sessionConfig,
276
+ options: {
277
+ cua: args.options?.cua,
278
+ mode: args.options?.mode,
279
+ maxSteps: args.options?.maxSteps,
280
+ systemPrompt: args.options?.systemPrompt,
281
+ timeout: args.options?.timeout,
282
+ waitUntil: args.options?.waitUntil,
283
+ executionModel: args.options?.executionModel,
284
+ provider: args.options?.provider,
285
+ highlightCursor: args.options?.highlightCursor,
286
+ shouldCache: args.options?.shouldCache,
287
+ },
217
288
  });
218
289
  }
219
290
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA8JrD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,SAAS;IAEV;IACA;IAFV,YACU,SAAuB,EACvB,MAAuB;QADvB,cAAS,GAAT,SAAS,CAAc;QACvB,WAAM,GAAN,MAAM,CAAiB;IAC9B,CAAC;IAEJ;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,YAAY,CAChB,GAAc,EACd,IAKC;QAED,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAmB,EAAE;YAC3D,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,UAAU,CACd,GAAc,EACd,IAEC;QAED,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAiB,EAAE;YACzD,GAAG,IAAI,CAAC,MAAM;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,OAAO,CACX,GAAc,EACd,IAOC;QAED,MAAM,UAAU,GAAQ,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,kDAAkD;QAClD,OAAO,UAAU,CAAC,OAAO,CAAC;QAC1B,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAc,EAAE;YACtD,GAAG,IAAI,CAAC,MAAM;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,UAAU;YAClB,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,GAAG,CACP,GAAc,EACd,IAMC;QAED,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAU,EAAE;YAClD,GAAG,IAAI,CAAC,MAAM;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,OAAO,CACX,GAAc,EACd,IAMC;QAED,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAc,EAAE;YACtD,GAAG,IAAI,CAAC,MAAM;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,KAAK,CACT,GAAc,EACd,IAMC;QAED,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAY,EAAE;YACpD,GAAG,IAAI,CAAC,MAAM;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,8BAA8B,EAAE,IAAI,CAAC,8BAA8B;YACnE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;CACF;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Generated component type.
2
+ * Generated `ComponentApi` utility.
3
3
  *
4
4
  * THIS CODE IS AUTOMATICALLY GENERATED.
5
5
  *
@@ -7,18 +7,189 @@
7
7
  * @module
8
8
  */
9
9
  import type { FunctionReference } from "convex/server";
10
+ type ModelConfig = string | {
11
+ modelName?: string;
12
+ apiKey?: string;
13
+ baseURL?: string;
14
+ provider?: string;
15
+ };
10
16
  /**
11
- * Component API type for the Stagehand component.
12
- * Used by the client to call component actions.
17
+ * A utility for referencing a Convex component's exposed API.
18
+ *
19
+ * Useful when expecting a parameter like `components.myComponent`.
20
+ * Usage:
21
+ * ```ts
22
+ * async function myFunction(ctx: QueryCtx, component: ComponentApi) {
23
+ * return ctx.runQuery(component.someFile.someQuery, { ...args });
24
+ * }
25
+ * ```
13
26
  */
14
- export type ComponentApi = {
27
+ export type ComponentApi<Name extends string | undefined = string | undefined> = {
15
28
  lib: {
16
- startSession: FunctionReference<"action", "public", any, any>;
17
- endSession: FunctionReference<"action", "public", any, any>;
18
- extract: FunctionReference<"action", "public", any, any>;
19
- act: FunctionReference<"action", "public", any, any>;
20
- observe: FunctionReference<"action", "public", any, any>;
21
- agent: FunctionReference<"action", "public", any, any>;
29
+ act: FunctionReference<"action", "internal", {
30
+ action: string;
31
+ browserbaseApiKey: string;
32
+ browserbaseProjectId: string;
33
+ browserbaseSessionCreateParams?: any;
34
+ model?: ModelConfig;
35
+ modelApiKey: string;
36
+ modelName?: string;
37
+ options?: {
38
+ timeout?: number;
39
+ variables?: Record<string, string>;
40
+ waitUntil?: "load" | "domcontentloaded" | "networkidle";
41
+ };
42
+ sessionConfig?: {
43
+ domSettleTimeoutMs?: number;
44
+ experimental?: boolean;
45
+ selfHeal?: boolean;
46
+ systemPrompt?: string;
47
+ verbose?: number;
48
+ };
49
+ sessionId?: string;
50
+ url?: string;
51
+ }, {
52
+ actionDescription: string;
53
+ message: string;
54
+ success: boolean;
55
+ }, Name>;
56
+ agent: FunctionReference<"action", "internal", {
57
+ browserbaseApiKey: string;
58
+ browserbaseProjectId: string;
59
+ browserbaseSessionCreateParams?: any;
60
+ instruction: string;
61
+ model?: ModelConfig;
62
+ modelApiKey: string;
63
+ modelName?: string;
64
+ options?: {
65
+ cua?: boolean;
66
+ executionModel?: ModelConfig;
67
+ highlightCursor?: boolean;
68
+ maxSteps?: number;
69
+ mode?: string;
70
+ provider?: string;
71
+ shouldCache?: boolean;
72
+ systemPrompt?: string;
73
+ timeout?: number;
74
+ waitUntil?: "load" | "domcontentloaded" | "networkidle";
75
+ };
76
+ sessionConfig?: {
77
+ domSettleTimeoutMs?: number;
78
+ experimental?: boolean;
79
+ selfHeal?: boolean;
80
+ systemPrompt?: string;
81
+ verbose?: number;
82
+ };
83
+ sessionId?: string;
84
+ url?: string;
85
+ }, {
86
+ actions: Array<{
87
+ action?: string;
88
+ instruction?: string;
89
+ pageText?: string;
90
+ pageUrl?: string;
91
+ reasoning?: string;
92
+ taskCompleted?: boolean;
93
+ timeMs?: number;
94
+ type: string;
95
+ }>;
96
+ completed: boolean;
97
+ message: string;
98
+ metadata?: any;
99
+ success: boolean;
100
+ usage?: {
101
+ cached_input_tokens?: number;
102
+ inference_time_ms: number;
103
+ input_tokens: number;
104
+ output_tokens: number;
105
+ reasoning_tokens?: number;
106
+ };
107
+ }, Name>;
108
+ endSession: FunctionReference<"action", "internal", {
109
+ browserbaseApiKey: string;
110
+ browserbaseProjectId: string;
111
+ modelApiKey: string;
112
+ modelName?: string;
113
+ sessionId: string;
114
+ }, {
115
+ success: boolean;
116
+ }, Name>;
117
+ extract: FunctionReference<"action", "internal", {
118
+ browserbaseApiKey: string;
119
+ browserbaseProjectId: string;
120
+ browserbaseSessionCreateParams?: any;
121
+ instruction: string;
122
+ model?: ModelConfig;
123
+ modelApiKey: string;
124
+ modelName?: string;
125
+ options?: {
126
+ selector?: string;
127
+ timeout?: number;
128
+ waitUntil?: "load" | "domcontentloaded" | "networkidle";
129
+ };
130
+ schema: any;
131
+ sessionConfig?: {
132
+ domSettleTimeoutMs?: number;
133
+ experimental?: boolean;
134
+ selfHeal?: boolean;
135
+ systemPrompt?: string;
136
+ verbose?: number;
137
+ };
138
+ sessionId?: string;
139
+ url?: string;
140
+ }, any, Name>;
141
+ observe: FunctionReference<"action", "internal", {
142
+ browserbaseApiKey: string;
143
+ browserbaseProjectId: string;
144
+ browserbaseSessionCreateParams?: any;
145
+ instruction: string;
146
+ model?: ModelConfig;
147
+ modelApiKey: string;
148
+ modelName?: string;
149
+ options?: {
150
+ selector?: string;
151
+ timeout?: number;
152
+ waitUntil?: "load" | "domcontentloaded" | "networkidle";
153
+ };
154
+ sessionConfig?: {
155
+ domSettleTimeoutMs?: number;
156
+ experimental?: boolean;
157
+ selfHeal?: boolean;
158
+ systemPrompt?: string;
159
+ verbose?: number;
160
+ };
161
+ sessionId?: string;
162
+ url?: string;
163
+ }, Array<{
164
+ arguments?: Array<string>;
165
+ backendNodeId?: number;
166
+ description: string;
167
+ method?: string;
168
+ selector: string;
169
+ }>, Name>;
170
+ startSession: FunctionReference<"action", "internal", {
171
+ browserbaseApiKey: string;
172
+ browserbaseProjectId: string;
173
+ browserbaseSessionCreateParams?: any;
174
+ browserbaseSessionID?: string;
175
+ model?: ModelConfig;
176
+ modelApiKey: string;
177
+ modelName?: string;
178
+ options?: {
179
+ domSettleTimeoutMs?: number;
180
+ experimental?: boolean;
181
+ selfHeal?: boolean;
182
+ systemPrompt?: string;
183
+ timeout?: number;
184
+ verbose?: number;
185
+ waitUntil?: "load" | "domcontentloaded" | "networkidle";
186
+ };
187
+ url: string;
188
+ }, {
189
+ cdpUrl?: string;
190
+ sessionId: string;
191
+ }, Name>;
22
192
  };
23
193
  };
194
+ export {};
24
195
  //# sourceMappingURL=component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/component.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE;QACH,YAAY,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9D,UAAU,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5D,OAAO,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,GAAG,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrD,OAAO,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;KACxD,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/component.ts"],"names":[],"mappings":"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"}