@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.
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable */
2
2
  /**
3
- * Generated component type.
3
+ * Generated `ComponentApi` utility.
4
4
  *
5
5
  * THIS CODE IS AUTOMATICALLY GENERATED.
6
6
  *
@@ -6,10 +6,41 @@
6
6
  * To regenerate, run `npx convex dev`.
7
7
  * @module
8
8
  */
9
- import type { DataModelFromSchemaDefinition } from "convex/server";
10
- import type schema from "../schema.js";
9
+ import type { DataModelFromSchemaDefinition, DocumentByName, TableNamesInDataModel, SystemTableNames } from "convex/server";
10
+ import type { GenericId } from "convex/values";
11
+ import schema from "../schema.js";
12
+ /**
13
+ * The names of all of your Convex tables.
14
+ */
15
+ export type TableNames = TableNamesInDataModel<DataModel>;
11
16
  /**
12
17
  * The type of a document stored in Convex.
18
+ *
19
+ * @typeParam TableName - A string literal type of the table name (like "users").
20
+ */
21
+ export type Doc<TableName extends TableNames> = DocumentByName<DataModel, TableName>;
22
+ /**
23
+ * An identifier for a document in Convex.
24
+ *
25
+ * Convex documents are uniquely identified by their `Id`, which is accessible
26
+ * on the `_id` field. To learn more, see [Document IDs](https://docs.convex.dev/using/document-ids).
27
+ *
28
+ * Documents can be loaded using `db.get(tableName, id)` in query and mutation functions.
29
+ *
30
+ * IDs are just strings at runtime, but this type can be used to distinguish them from other
31
+ * strings when type checking.
32
+ *
33
+ * @typeParam TableName - A string literal type of the table name (like "users").
34
+ */
35
+ export type Id<TableName extends TableNames | SystemTableNames> = GenericId<TableName>;
36
+ /**
37
+ * A type describing your Convex data model.
38
+ *
39
+ * This type includes information about what tables you have, the type of
40
+ * documents stored in those tables, and the indexes defined on them.
41
+ *
42
+ * This type is used to parameterize methods like `queryGeneric` and
43
+ * `mutationGeneric` to make them type-safe.
13
44
  */
14
45
  export type DataModel = DataModelFromSchemaDefinition<typeof schema>;
15
46
  //# sourceMappingURL=dataModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataModel.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/dataModel.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,6BAA6B,CAAC,OAAO,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"dataModel.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/dataModel.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,6BAA6B,EAC7B,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,GAAG,CAAC,SAAS,SAAS,UAAU,IAAI,cAAc,CAC5D,SAAS,EACT,SAAS,CACV,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,EAAE,CAAC,SAAS,SAAS,UAAU,GAAG,gBAAgB,IAC5D,SAAS,CAAC,SAAS,CAAC,CAAC;AAEvB;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAAG,6BAA6B,CAAC,OAAO,MAAM,CAAC,CAAC"}
@@ -2,42 +2,64 @@
2
2
  * Stagehand REST API Client
3
3
  *
4
4
  * Wraps the Stagehand API at https://api.stagehand.browserbase.com
5
+ * Wire format matches the OpenAPI spec defined in stagehand/packages/core/lib/v3/types/public/api.ts
5
6
  */
7
+ export type BrowserbaseRegion = "us-west-2" | "us-east-1" | "eu-central-1" | "ap-southeast-1";
8
+ export interface BrowserbaseSessionCreateParams {
9
+ region?: BrowserbaseRegion;
10
+ }
11
+ export declare function getApiBase(region?: BrowserbaseRegion): string;
6
12
  export interface ApiConfig {
7
13
  browserbaseApiKey: string;
8
14
  browserbaseProjectId: string;
9
15
  modelApiKey: string;
10
16
  modelName?: string;
11
17
  }
18
+ /** Matches SessionStartResult from the OpenAPI spec */
12
19
  export interface SessionData {
13
20
  sessionId: string;
14
- browserbaseSessionId?: string;
15
- cdpUrl?: string;
21
+ cdpUrl?: string | null;
16
22
  available: boolean;
17
23
  }
18
24
  export interface StartSessionOptions {
19
- browserbaseSessionId?: string;
20
- browserbaseSessionCreateParams?: Record<string, unknown>;
25
+ browserbaseSessionID?: string;
26
+ browserbaseSessionCreateParams?: BrowserbaseSessionCreateParams;
27
+ model?: unknown;
21
28
  domSettleTimeoutMs?: number;
22
29
  selfHeal?: boolean;
23
30
  systemPrompt?: string;
31
+ verbose?: 0 | 1 | 2;
32
+ experimental?: boolean;
24
33
  }
25
34
  export interface ApiResponse<T> {
26
35
  data: T;
27
36
  success: boolean;
28
37
  }
38
+ /** POST /v1/sessions/start — matches SessionStartRequest schema */
29
39
  export declare function startSession(config: ApiConfig, options?: StartSessionOptions): Promise<SessionData>;
30
- export declare function endSession(sessionId: string, config: ApiConfig): Promise<void>;
40
+ /** POST /v1/sessions/{id}/end */
41
+ export declare function endSession(sessionId: string, config: ApiConfig, region?: BrowserbaseRegion): Promise<void>;
42
+ /** Matches NavigateOptions from the OpenAPI spec */
31
43
  export interface NavigateOptions {
32
44
  waitUntil?: "load" | "domcontentloaded" | "networkidle";
33
45
  timeout?: number;
46
+ referer?: string;
34
47
  }
35
- export declare function navigate(sessionId: string, url: string, config: ApiConfig, options?: NavigateOptions): Promise<void>;
36
- export interface ExtractResult<T = any> {
48
+ /** POST /v1/sessions/{id}/navigate matches NavigateRequest schema */
49
+ export declare function navigate(sessionId: string, url: string, config: ApiConfig, options?: NavigateOptions, region?: BrowserbaseRegion): Promise<void>;
50
+ export interface ExtractResult<T = unknown> {
37
51
  result: T;
38
- actionId: string;
52
+ actionId?: string;
53
+ }
54
+ /** Matches ExtractOptions from the OpenAPI spec */
55
+ export interface ExtractOperationOptions {
56
+ model?: unknown;
57
+ timeout?: number;
58
+ selector?: string;
39
59
  }
40
- export declare function extract(sessionId: string, instruction: string, schema: any, config: ApiConfig): Promise<ExtractResult>;
60
+ /** POST /v1/sessions/{id}/extract matches ExtractRequest schema */
61
+ export declare function extract(sessionId: string, instruction: string, schema: unknown, config: ApiConfig, operationOptions?: ExtractOperationOptions, region?: BrowserbaseRegion): Promise<ExtractResult>;
62
+ /** Matches ActResultData from the OpenAPI spec */
41
63
  export interface ActResult {
42
64
  result: {
43
65
  actionDescription: string;
@@ -45,47 +67,86 @@ export interface ActResult {
45
67
  description: string;
46
68
  selector: string;
47
69
  arguments?: string[];
48
- method: string;
70
+ method?: string;
71
+ backendNodeId?: number;
49
72
  }>;
50
73
  message: string;
51
74
  success: boolean;
52
75
  };
53
- actionId: string;
76
+ actionId?: string;
77
+ }
78
+ /** Matches ActOptions from the OpenAPI spec */
79
+ export interface ActOperationOptions {
80
+ model?: unknown;
81
+ variables?: Record<string, string>;
82
+ timeout?: number;
54
83
  }
55
- export declare function act(sessionId: string, action: string, config: ApiConfig): Promise<ActResult>;
84
+ /** POST /v1/sessions/{id}/act matches ActRequest schema */
85
+ export declare function act(sessionId: string, action: string, config: ApiConfig, operationOptions?: ActOperationOptions, region?: BrowserbaseRegion): Promise<ActResult>;
86
+ /** Matches ObserveResult from the OpenAPI spec (Action schema) */
56
87
  export interface ObserveResult {
57
88
  result: Array<{
58
89
  description: string;
59
90
  selector: string;
60
91
  arguments?: string[];
61
92
  backendNodeId?: number;
62
- method: string;
93
+ method?: string;
63
94
  }>;
64
- actionId: string;
95
+ actionId?: string;
96
+ }
97
+ /** Matches ObserveOptions from the OpenAPI spec */
98
+ export interface ObserveOperationOptions {
99
+ model?: unknown;
100
+ timeout?: number;
101
+ selector?: string;
65
102
  }
66
- export declare function observe(sessionId: string, instruction: string, config: ApiConfig): Promise<ObserveResult>;
103
+ /** POST /v1/sessions/{id}/observe matches ObserveRequest schema */
104
+ export declare function observe(sessionId: string, instruction: string, config: ApiConfig, operationOptions?: ObserveOperationOptions, region?: BrowserbaseRegion): Promise<ObserveResult>;
105
+ /** Matches AgentConfig from the OpenAPI spec */
67
106
  export interface AgentConfig {
68
107
  cua?: boolean;
69
- model?: string;
108
+ mode?: "dom" | "hybrid" | "cua";
109
+ model?: unknown;
70
110
  systemPrompt?: string;
111
+ executionModel?: unknown;
112
+ provider?: "openai" | "anthropic" | "google" | "microsoft";
71
113
  }
114
+ /** Matches AgentExecuteOptions from the OpenAPI spec */
72
115
  export interface AgentExecuteOptions {
73
116
  instruction: string;
74
117
  maxSteps?: number;
118
+ highlightCursor?: boolean;
75
119
  }
120
+ /** Matches AgentAction from the OpenAPI spec */
76
121
  export interface AgentAction {
77
122
  type: string;
78
123
  action?: string;
79
124
  reasoning?: string;
80
125
  timeMs?: number;
126
+ taskCompleted?: boolean;
127
+ pageText?: string;
128
+ pageUrl?: string;
129
+ instruction?: string;
130
+ }
131
+ /** Matches AgentUsage from the OpenAPI spec */
132
+ export interface AgentUsage {
133
+ input_tokens: number;
134
+ output_tokens: number;
135
+ reasoning_tokens?: number;
136
+ cached_input_tokens?: number;
137
+ inference_time_ms: number;
81
138
  }
139
+ /** Matches AgentExecuteResult from the OpenAPI spec */
82
140
  export interface AgentExecuteResult {
83
141
  result: {
84
142
  actions: AgentAction[];
85
143
  completed: boolean;
86
144
  message: string;
87
145
  success: boolean;
146
+ metadata?: Record<string, unknown>;
147
+ usage?: AgentUsage;
88
148
  };
89
149
  }
90
- export declare function agentExecute(sessionId: string, agentConfig: AgentConfig, executeOptions: AgentExecuteOptions, config: ApiConfig): Promise<AgentExecuteResult>;
150
+ /** POST /v1/sessions/{id}/agentExecute matches AgentExecuteRequest schema */
151
+ export declare function agentExecute(sessionId: string, agentConfig: AgentConfig, executeOptions: AgentExecuteOptions, config: ApiConfig, shouldCache?: boolean, region?: BrowserbaseRegion): Promise<AgentExecuteResult>;
91
152
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/component/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/component/api.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,20 @@
2
2
  * Stagehand REST API Client
3
3
  *
4
4
  * Wraps the Stagehand API at https://api.stagehand.browserbase.com
5
+ * Wire format matches the OpenAPI spec defined in stagehand/packages/core/lib/v3/types/public/api.ts
5
6
  */
6
- const API_BASE = "https://api.stagehand.browserbase.com/v1";
7
+ /** Multi-region API URL mapping (matches official SDK) */
8
+ const REGION_API_URLS = {
9
+ "us-west-2": "https://api.stagehand.browserbase.com",
10
+ "us-east-1": "https://api.use1.stagehand.browserbase.com",
11
+ "eu-central-1": "https://api.euc1.stagehand.browserbase.com",
12
+ "ap-southeast-1": "https://api.apse1.stagehand.browserbase.com",
13
+ };
14
+ export function getApiBase(region) {
15
+ const baseUrl = (region && REGION_API_URLS[region]) ||
16
+ REGION_API_URLS["us-west-2"];
17
+ return `${baseUrl}/v1`;
18
+ }
7
19
  function getHeaders(config) {
8
20
  return {
9
21
  "Content-Type": "application/json",
@@ -23,34 +35,47 @@ async function handleResponse(response) {
23
35
  }
24
36
  return json.data;
25
37
  }
38
+ /** POST /v1/sessions/start — matches SessionStartRequest schema */
26
39
  export async function startSession(config, options) {
27
- const response = await fetch(`${API_BASE}/sessions/start`, {
40
+ const region = options?.browserbaseSessionCreateParams?.region;
41
+ const response = await fetch(`${getApiBase(region)}/sessions/start`, {
28
42
  method: "POST",
29
43
  headers: getHeaders(config),
30
44
  body: JSON.stringify({
31
45
  modelName: config.modelName || "openai/gpt-4o",
32
- browserbaseSessionId: options?.browserbaseSessionId,
46
+ model: options?.model,
47
+ browserbaseSessionID: options?.browserbaseSessionID,
33
48
  browserbaseSessionCreateParams: options?.browserbaseSessionCreateParams,
34
49
  domSettleTimeoutMs: options?.domSettleTimeoutMs,
35
50
  selfHeal: options?.selfHeal,
36
51
  systemPrompt: options?.systemPrompt,
52
+ verbose: options?.verbose,
53
+ experimental: options?.experimental,
37
54
  }),
38
55
  });
39
56
  return handleResponse(response);
40
57
  }
41
- export async function endSession(sessionId, config) {
42
- try {
43
- await fetch(`${API_BASE}/sessions/${sessionId}/end`, {
44
- method: "POST",
45
- headers: getHeaders(config),
46
- });
58
+ /** POST /v1/sessions/{id}/end */
59
+ export async function endSession(sessionId, config, region) {
60
+ const response = await fetch(`${getApiBase(region)}/sessions/${sessionId}/end`, {
61
+ method: "POST",
62
+ headers: getHeaders(config),
63
+ });
64
+ if (!response.ok) {
65
+ const errorText = await response.text();
66
+ throw new Error(`Stagehand API error (${response.status}): ${errorText}`);
47
67
  }
48
- catch {
49
- // Ignore errors when ending session - best effort cleanup
68
+ const text = await response.text();
69
+ if (text) {
70
+ const json = JSON.parse(text);
71
+ if (json.success === false) {
72
+ throw new Error("Stagehand API returned success: false");
73
+ }
50
74
  }
51
75
  }
52
- export async function navigate(sessionId, url, config, options) {
53
- const response = await fetch(`${API_BASE}/sessions/${sessionId}/navigate`, {
76
+ /** POST /v1/sessions/{id}/navigate matches NavigateRequest schema */
77
+ export async function navigate(sessionId, url, config, options, region) {
78
+ const response = await fetch(`${getApiBase(region)}/sessions/${sessionId}/navigate`, {
54
79
  method: "POST",
55
80
  headers: getHeaders(config),
56
81
  body: JSON.stringify({
@@ -58,54 +83,89 @@ export async function navigate(sessionId, url, config, options) {
58
83
  options: {
59
84
  waitUntil: options?.waitUntil || "networkidle",
60
85
  timeout: options?.timeout,
86
+ referer: options?.referer,
61
87
  },
62
88
  }),
63
89
  });
64
90
  await handleResponse(response);
65
91
  }
66
- export async function extract(sessionId, instruction, schema, config) {
67
- const response = await fetch(`${API_BASE}/sessions/${sessionId}/extract`, {
92
+ /** POST /v1/sessions/{id}/extract matches ExtractRequest schema */
93
+ export async function extract(sessionId, instruction, schema, config, operationOptions, region) {
94
+ const body = { instruction, schema };
95
+ if (operationOptions?.model != null ||
96
+ operationOptions?.timeout != null ||
97
+ operationOptions?.selector != null) {
98
+ body.options = {
99
+ model: operationOptions?.model,
100
+ timeout: operationOptions?.timeout,
101
+ selector: operationOptions?.selector,
102
+ };
103
+ }
104
+ const response = await fetch(`${getApiBase(region)}/sessions/${sessionId}/extract`, {
68
105
  method: "POST",
69
106
  headers: getHeaders(config),
70
- body: JSON.stringify({
71
- instruction,
72
- schema,
73
- }),
107
+ body: JSON.stringify(body),
74
108
  });
75
109
  return handleResponse(response);
76
110
  }
77
- export async function act(sessionId, action, config) {
78
- const response = await fetch(`${API_BASE}/sessions/${sessionId}/act`, {
111
+ /** POST /v1/sessions/{id}/act matches ActRequest schema */
112
+ export async function act(sessionId, action, config, operationOptions, region) {
113
+ const body = { input: action };
114
+ if (operationOptions?.model != null ||
115
+ operationOptions?.variables != null ||
116
+ operationOptions?.timeout != null) {
117
+ body.options = {
118
+ model: operationOptions?.model,
119
+ variables: operationOptions?.variables,
120
+ timeout: operationOptions?.timeout,
121
+ };
122
+ }
123
+ const response = await fetch(`${getApiBase(region)}/sessions/${sessionId}/act`, {
79
124
  method: "POST",
80
125
  headers: getHeaders(config),
81
- body: JSON.stringify({
82
- input: action,
83
- }),
126
+ body: JSON.stringify(body),
84
127
  });
85
128
  return handleResponse(response);
86
129
  }
87
- export async function observe(sessionId, instruction, config) {
88
- const response = await fetch(`${API_BASE}/sessions/${sessionId}/observe`, {
130
+ /** POST /v1/sessions/{id}/observe matches ObserveRequest schema */
131
+ export async function observe(sessionId, instruction, config, operationOptions, region) {
132
+ const body = { instruction };
133
+ if (operationOptions?.model != null ||
134
+ operationOptions?.timeout != null ||
135
+ operationOptions?.selector != null) {
136
+ body.options = {
137
+ model: operationOptions?.model,
138
+ timeout: operationOptions?.timeout,
139
+ selector: operationOptions?.selector,
140
+ };
141
+ }
142
+ const response = await fetch(`${getApiBase(region)}/sessions/${sessionId}/observe`, {
89
143
  method: "POST",
90
144
  headers: getHeaders(config),
91
- body: JSON.stringify({
92
- instruction,
93
- }),
145
+ body: JSON.stringify(body),
94
146
  });
95
147
  return handleResponse(response);
96
148
  }
97
- export async function agentExecute(sessionId, agentConfig, executeOptions, config) {
98
- const response = await fetch(`${API_BASE}/sessions/${sessionId}/agentExecute`, {
149
+ /** POST /v1/sessions/{id}/agentExecute matches AgentExecuteRequest schema */
150
+ export async function agentExecute(sessionId, agentConfig, executeOptions, config, shouldCache, region) {
151
+ const response = await fetch(`${getApiBase(region)}/sessions/${sessionId}/agentExecute`, {
99
152
  method: "POST",
100
153
  headers: getHeaders(config),
101
154
  body: JSON.stringify({
102
155
  agentConfig: {
103
156
  cua: agentConfig.cua,
157
+ mode: agentConfig.mode,
104
158
  model: agentConfig.model,
105
159
  systemPrompt: agentConfig.systemPrompt,
160
+ executionModel: agentConfig.executionModel,
161
+ provider: agentConfig.provider,
162
+ },
163
+ executeOptions: {
164
+ instruction: executeOptions.instruction,
165
+ maxSteps: executeOptions.maxSteps,
166
+ highlightCursor: executeOptions.highlightCursor,
106
167
  },
107
- instruction: executeOptions.instruction,
108
- maxSteps: executeOptions.maxSteps,
168
+ shouldCache,
109
169
  }),
110
170
  });
111
171
  return handleResponse(response);
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/component/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/component/api.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,14 @@
4
4
  * AI-powered browser automation actions using the Stagehand REST API.
5
5
  * Supports both automatic session management and manual session control.
6
6
  */
7
- import * as api from "./api.js";
7
+ export declare const upsertSessionMetadata: import("convex/server").RegisteredMutation<"internal", any, Promise<null>>;
8
+ export declare const getSessionRegion: import("convex/server").RegisteredQuery<"internal", any, Promise<any>>;
8
9
  /**
9
10
  * Start a new browser session.
10
11
  * Returns session info including cdpUrl for direct Playwright/Puppeteer connection.
11
12
  */
12
13
  export declare const startSession: import("convex/server").RegisteredAction<"public", any, Promise<{
13
14
  sessionId: string;
14
- browserbaseSessionId: string | undefined;
15
15
  cdpUrl: string | undefined;
16
16
  }>>;
17
17
  /**
@@ -25,7 +25,7 @@ export declare const endSession: import("convex/server").RegisteredAction<"publi
25
25
  * If sessionId is provided, uses existing session (doesn't end it).
26
26
  * Otherwise, handles full session lifecycle: start -> navigate -> extract -> end
27
27
  */
28
- export declare const extract: import("convex/server").RegisteredAction<"public", any, Promise<any>>;
28
+ export declare const extract: import("convex/server").RegisteredAction<"public", any, Promise<unknown>>;
29
29
  /**
30
30
  * Execute browser actions using natural language instructions.
31
31
  * If sessionId is provided, uses existing session (doesn't end it).
@@ -44,8 +44,9 @@ export declare const act: import("convex/server").RegisteredAction<"public", any
44
44
  export declare const observe: import("convex/server").RegisteredAction<"public", any, Promise<{
45
45
  description: string;
46
46
  selector: string;
47
- method: string;
47
+ method: string | undefined;
48
48
  arguments: string[] | undefined;
49
+ backendNodeId: number | undefined;
49
50
  }[]>>;
50
51
  /**
51
52
  * Execute autonomous multi-step browser automation using an AI agent.
@@ -54,9 +55,26 @@ export declare const observe: import("convex/server").RegisteredAction<"public",
54
55
  * Otherwise, handles full session lifecycle.
55
56
  */
56
57
  export declare const agent: import("convex/server").RegisteredAction<"public", any, Promise<{
57
- actions: api.AgentAction[];
58
+ actions: {
59
+ type: any;
60
+ action: any;
61
+ reasoning: any;
62
+ timeMs: any;
63
+ taskCompleted: any;
64
+ pageText: any;
65
+ pageUrl: any;
66
+ instruction: any;
67
+ }[];
58
68
  completed: boolean;
59
69
  message: string;
60
70
  success: boolean;
71
+ metadata: Record<string, unknown> | undefined;
72
+ usage: {
73
+ input_tokens: number;
74
+ output_tokens: number;
75
+ reasoning_tokens: number | undefined;
76
+ cached_input_tokens: number | undefined;
77
+ inference_time_ms: number;
78
+ } | undefined;
61
79
  }>>;
62
80
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAsBhC;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;GAwDvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;GAkBrB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,OAAO,uEAoElB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,GAAG;;;;GAsEd,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;;;KAmElB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,KAAK;;;;;GAiFhB,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2HH,eAAO,MAAM,qBAAqB,4EAyChC,CAAC;AAEH,eAAO,MAAM,gBAAgB,wEAY3B,CAAC;AAoGH;;;GAGG;AACH,eAAO,MAAM,YAAY;;;GA0FvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;GAuBrB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,OAAO,2EAgIlB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,GAAG;;;;GAsId,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;;;;KAoIlB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;GAuLhB,CAAC"}