test-wuying-agentbay-sdk 0.13.0-beta.20251210151030 → 0.13.0-beta.20251210170519
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/index.cjs +406 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +152 -18
- package/dist/index.d.ts +152 -18
- package/dist/index.mjs +405 -59
- package/dist/index.mjs.map +1 -1
- package/docs/api/README.md +2 -0
- package/docs/api/common-features/advanced/agent.md +7 -63
- package/docs/api/common-features/advanced/browser-use-agent.md +113 -0
- package/docs/api/common-features/advanced/computer-use-agent.md +79 -0
- package/docs/examples/common-features/advanced/agent-module-example.ts +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -3718,9 +3718,9 @@ init_esm_shims();
|
|
|
3718
3718
|
|
|
3719
3719
|
// src/agent/agent.ts
|
|
3720
3720
|
init_esm_shims();
|
|
3721
|
-
var
|
|
3721
|
+
var _ComputerUseAgent = class _ComputerUseAgent {
|
|
3722
3722
|
/**
|
|
3723
|
-
* Initialize an Agent object.
|
|
3723
|
+
* Initialize an Computer Agent object.
|
|
3724
3724
|
*
|
|
3725
3725
|
* @param session - The Session instance that this Agent belongs to.
|
|
3726
3726
|
*/
|
|
@@ -3732,16 +3732,17 @@ var _Agent = class _Agent {
|
|
|
3732
3732
|
*
|
|
3733
3733
|
* @param task - Task description in human language.
|
|
3734
3734
|
* @param maxTryTimes - Maximum number of retry attempts.
|
|
3735
|
-
* @returns ExecutionResult containing success status, task output, and error
|
|
3735
|
+
* @returns ExecutionResult containing success status, task output, and error
|
|
3736
|
+
* message if any.
|
|
3736
3737
|
*
|
|
3737
3738
|
* @example
|
|
3738
3739
|
* ```typescript
|
|
3739
3740
|
* const agentBay = new AgentBay({ apiKey: 'your_api_key' });
|
|
3740
3741
|
* const result = await agentBay.create({ imageId: 'windows_latest' });
|
|
3741
3742
|
* if (result.success) {
|
|
3742
|
-
* const taskResult = await result.session.agent.executeTask('Open
|
|
3743
|
-
*
|
|
3744
|
-
*
|
|
3743
|
+
* const taskResult = await result.session.agent.computer.executeTask('Open
|
|
3744
|
+
* notepad', 10); console.log(`Task status: ${taskResult.taskStatus}`); await
|
|
3745
|
+
* result.session.delete();
|
|
3745
3746
|
* }
|
|
3746
3747
|
* ```
|
|
3747
3748
|
*/
|
|
@@ -3755,7 +3756,8 @@ var _Agent = class _Agent {
|
|
|
3755
3756
|
success: false,
|
|
3756
3757
|
errorMessage: result.errorMessage,
|
|
3757
3758
|
taskStatus: "failed",
|
|
3758
|
-
taskId: ""
|
|
3759
|
+
taskId: "",
|
|
3760
|
+
taskResult: "Task Failed"
|
|
3759
3761
|
};
|
|
3760
3762
|
}
|
|
3761
3763
|
let content;
|
|
@@ -3767,7 +3769,8 @@ var _Agent = class _Agent {
|
|
|
3767
3769
|
success: false,
|
|
3768
3770
|
errorMessage: `Failed to parse response: ${err}`,
|
|
3769
3771
|
taskStatus: "failed",
|
|
3770
|
-
taskId: ""
|
|
3772
|
+
taskId: "",
|
|
3773
|
+
taskResult: "Invalid execution response."
|
|
3771
3774
|
};
|
|
3772
3775
|
}
|
|
3773
3776
|
const taskId = content.task_id;
|
|
@@ -3777,7 +3780,8 @@ var _Agent = class _Agent {
|
|
|
3777
3780
|
success: false,
|
|
3778
3781
|
errorMessage: "Task ID not found in response",
|
|
3779
3782
|
taskStatus: "failed",
|
|
3780
|
-
taskId: ""
|
|
3783
|
+
taskId: "",
|
|
3784
|
+
taskResult: "Invalid task ID."
|
|
3781
3785
|
};
|
|
3782
3786
|
}
|
|
3783
3787
|
let triedTime = 0;
|
|
@@ -3785,59 +3789,355 @@ var _Agent = class _Agent {
|
|
|
3785
3789
|
const query = await this.getTaskStatus(taskId);
|
|
3786
3790
|
if (!query.success) {
|
|
3787
3791
|
return {
|
|
3788
|
-
requestId:
|
|
3792
|
+
requestId: query.requestId,
|
|
3789
3793
|
success: false,
|
|
3790
3794
|
errorMessage: query.errorMessage,
|
|
3791
3795
|
taskStatus: "failed",
|
|
3792
|
-
taskId
|
|
3796
|
+
taskId,
|
|
3797
|
+
taskResult: ""
|
|
3793
3798
|
};
|
|
3794
3799
|
}
|
|
3795
|
-
|
|
3796
|
-
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
|
|
3800
|
+
switch (query.taskStatus) {
|
|
3801
|
+
case "finished":
|
|
3802
|
+
return {
|
|
3803
|
+
requestId: query.requestId,
|
|
3804
|
+
success: true,
|
|
3805
|
+
errorMessage: "",
|
|
3806
|
+
taskId,
|
|
3807
|
+
taskStatus: "finished",
|
|
3808
|
+
taskResult: query.taskProduct
|
|
3809
|
+
};
|
|
3810
|
+
case "failed":
|
|
3811
|
+
return {
|
|
3812
|
+
requestId: query.requestId,
|
|
3813
|
+
success: false,
|
|
3814
|
+
errorMessage: query.errorMessage || "Failed to execute task.",
|
|
3815
|
+
taskId,
|
|
3816
|
+
taskStatus: "failed",
|
|
3817
|
+
taskResult: ""
|
|
3818
|
+
};
|
|
3819
|
+
case "unsupported":
|
|
3820
|
+
return {
|
|
3821
|
+
requestId: query.requestId,
|
|
3822
|
+
success: false,
|
|
3823
|
+
errorMessage: query.errorMessage || "Unsupported task.",
|
|
3824
|
+
taskId,
|
|
3825
|
+
taskStatus: "unsupported",
|
|
3826
|
+
taskResult: ""
|
|
3827
|
+
};
|
|
3806
3828
|
}
|
|
3807
|
-
|
|
3808
|
-
|
|
3829
|
+
logDebug(`Task ${taskId} is still running, please wait for a while.`);
|
|
3830
|
+
await new Promise((resolve2) => setTimeout(resolve2, 3e3));
|
|
3831
|
+
triedTime++;
|
|
3832
|
+
}
|
|
3833
|
+
return {
|
|
3834
|
+
requestId: result.requestId,
|
|
3835
|
+
success: false,
|
|
3836
|
+
errorMessage: "Task execution timed out",
|
|
3837
|
+
taskStatus: "timeout",
|
|
3838
|
+
taskId,
|
|
3839
|
+
taskResult: "Task Timed Out"
|
|
3840
|
+
};
|
|
3841
|
+
} catch (error) {
|
|
3842
|
+
return {
|
|
3843
|
+
requestId: "",
|
|
3844
|
+
success: false,
|
|
3845
|
+
errorMessage: `Failed to execute: ${error}`,
|
|
3846
|
+
taskStatus: "failed",
|
|
3847
|
+
taskId: "",
|
|
3848
|
+
taskResult: "Task Failed"
|
|
3849
|
+
};
|
|
3850
|
+
}
|
|
3851
|
+
}
|
|
3852
|
+
/**
|
|
3853
|
+
* Get the status of the task with the given task ID.
|
|
3854
|
+
*
|
|
3855
|
+
* @param taskId - Task ID
|
|
3856
|
+
* @returns QueryResult containing the task status
|
|
3857
|
+
*
|
|
3858
|
+
* @example
|
|
3859
|
+
* ```typescript
|
|
3860
|
+
* const agentBay = new AgentBay({ apiKey: 'your_api_key' });
|
|
3861
|
+
* const result = await agentBay.create({ imageId: 'windows_latest' });
|
|
3862
|
+
* if (result.success) {
|
|
3863
|
+
* const taskResult = await result.session.agent.computer.executeTask('Open
|
|
3864
|
+
* calculator', 10); const statusResult = await
|
|
3865
|
+
* result.session.agent.computer.getTaskStatus(taskResult.taskId);
|
|
3866
|
+
* console.log(`Status:
|
|
3867
|
+
* ${JSON.parse(statusResult.output).status}`); await result.session.delete();
|
|
3868
|
+
* }
|
|
3869
|
+
* ```
|
|
3870
|
+
*/
|
|
3871
|
+
async getTaskStatus(taskId) {
|
|
3872
|
+
try {
|
|
3873
|
+
const args = { task_id: taskId };
|
|
3874
|
+
const result = await this.session.callMcpTool("flux_get_task_status", args);
|
|
3875
|
+
if (!result.success) {
|
|
3876
|
+
return {
|
|
3877
|
+
requestId: result.requestId,
|
|
3878
|
+
success: false,
|
|
3879
|
+
errorMessage: result.errorMessage,
|
|
3880
|
+
taskAction: "",
|
|
3881
|
+
taskProduct: "",
|
|
3882
|
+
taskStatus: "failed"
|
|
3883
|
+
};
|
|
3884
|
+
}
|
|
3885
|
+
let queryResult;
|
|
3886
|
+
try {
|
|
3887
|
+
queryResult = JSON.parse(result.data);
|
|
3888
|
+
return {
|
|
3889
|
+
requestId: result.requestId,
|
|
3890
|
+
success: true,
|
|
3891
|
+
errorMessage: "",
|
|
3892
|
+
taskAction: queryResult.action || "",
|
|
3893
|
+
taskProduct: queryResult.product || "",
|
|
3894
|
+
taskStatus: queryResult.status || "failed"
|
|
3895
|
+
};
|
|
3896
|
+
} catch (error) {
|
|
3897
|
+
return {
|
|
3898
|
+
requestId: result.requestId,
|
|
3899
|
+
success: false,
|
|
3900
|
+
errorMessage: `Failed to get task status: ${error}`,
|
|
3901
|
+
taskAction: "",
|
|
3902
|
+
taskProduct: "",
|
|
3903
|
+
taskStatus: "failed"
|
|
3904
|
+
};
|
|
3905
|
+
}
|
|
3906
|
+
} catch (error) {
|
|
3907
|
+
return {
|
|
3908
|
+
requestId: "",
|
|
3909
|
+
success: false,
|
|
3910
|
+
errorMessage: `Failed to get task status: ${error}`,
|
|
3911
|
+
taskAction: "",
|
|
3912
|
+
taskProduct: "",
|
|
3913
|
+
taskStatus: "failed"
|
|
3914
|
+
};
|
|
3915
|
+
}
|
|
3916
|
+
}
|
|
3917
|
+
/**
|
|
3918
|
+
* Terminate a task with a specified task ID.
|
|
3919
|
+
*
|
|
3920
|
+
* @param taskId - The ID of the running task.
|
|
3921
|
+
* @returns ExecutionResult containing success status, task output, and
|
|
3922
|
+
* error message if any.
|
|
3923
|
+
*
|
|
3924
|
+
* @example
|
|
3925
|
+
* ```typescript
|
|
3926
|
+
* const agentBay = new AgentBay({ apiKey: 'your_api_key' });
|
|
3927
|
+
* const result = await agentBay.create({ imageId: 'windows_latest' });
|
|
3928
|
+
* if (result.success) {
|
|
3929
|
+
* const taskResult = await
|
|
3930
|
+
* result.session.agent.computer.executeTask('Open notepad', 5); const
|
|
3931
|
+
* terminateResult = await
|
|
3932
|
+
* result.session.agent.computer.terminateTask(taskResult.taskId);
|
|
3933
|
+
* console.log(`Terminated: ${terminateResult.taskStatus}`);
|
|
3934
|
+
* await result.session.delete();
|
|
3935
|
+
* }
|
|
3936
|
+
* ```
|
|
3937
|
+
*/
|
|
3938
|
+
async terminateTask(taskId) {
|
|
3939
|
+
logDebug("Terminating task");
|
|
3940
|
+
try {
|
|
3941
|
+
const args = { task_id: taskId };
|
|
3942
|
+
const result = await this.session.callMcpTool("flux_terminate_task", args);
|
|
3943
|
+
let content;
|
|
3944
|
+
try {
|
|
3945
|
+
content = JSON.parse(result.data);
|
|
3946
|
+
} catch (err) {
|
|
3947
|
+
return {
|
|
3948
|
+
requestId: result.requestId,
|
|
3949
|
+
success: false,
|
|
3950
|
+
errorMessage: `Failed to parse response: ${err}`,
|
|
3951
|
+
taskId,
|
|
3952
|
+
taskStatus: "failed",
|
|
3953
|
+
taskResult: ""
|
|
3954
|
+
};
|
|
3955
|
+
}
|
|
3956
|
+
const terminatedTaskId = content.task_id || taskId;
|
|
3957
|
+
const status = content.status || "unknown";
|
|
3958
|
+
if (result.success) {
|
|
3959
|
+
return {
|
|
3960
|
+
requestId: result.requestId,
|
|
3961
|
+
success: true,
|
|
3962
|
+
errorMessage: "",
|
|
3963
|
+
taskId: terminatedTaskId,
|
|
3964
|
+
taskStatus: status,
|
|
3965
|
+
taskResult: ""
|
|
3966
|
+
};
|
|
3967
|
+
}
|
|
3968
|
+
return {
|
|
3969
|
+
requestId: result.requestId,
|
|
3970
|
+
success: false,
|
|
3971
|
+
errorMessage: result.errorMessage,
|
|
3972
|
+
taskId: terminatedTaskId,
|
|
3973
|
+
taskStatus: status,
|
|
3974
|
+
taskResult: ""
|
|
3975
|
+
};
|
|
3976
|
+
} catch (error) {
|
|
3977
|
+
return {
|
|
3978
|
+
requestId: "",
|
|
3979
|
+
success: false,
|
|
3980
|
+
errorMessage: `Failed to terminate: ${error}`,
|
|
3981
|
+
taskId,
|
|
3982
|
+
taskStatus: "failed",
|
|
3983
|
+
taskResult: ""
|
|
3984
|
+
};
|
|
3985
|
+
}
|
|
3986
|
+
}
|
|
3987
|
+
};
|
|
3988
|
+
__name(_ComputerUseAgent, "ComputerUseAgent");
|
|
3989
|
+
var ComputerUseAgent = _ComputerUseAgent;
|
|
3990
|
+
var _BrowserUseAgent = class _BrowserUseAgent {
|
|
3991
|
+
/**
|
|
3992
|
+
* Initialize an Browser Agent object.
|
|
3993
|
+
* @description Browser Use Agent is in BETA ⚠️ .
|
|
3994
|
+
*
|
|
3995
|
+
* @param session - The Session instance that this Agent belongs to.
|
|
3996
|
+
*/
|
|
3997
|
+
constructor(session) {
|
|
3998
|
+
this.session = session;
|
|
3999
|
+
}
|
|
4000
|
+
/**
|
|
4001
|
+
* Initialize the browser agent with specific options.
|
|
4002
|
+
* @param options - agent initialization options
|
|
4003
|
+
* @returns InitializationResult containing success status, task output,
|
|
4004
|
+
* and error message if any.
|
|
4005
|
+
*
|
|
4006
|
+
* @example
|
|
4007
|
+
* ```typescript
|
|
4008
|
+
* const agentBay = new AgentBay({ apiKey: 'your_api_key' });
|
|
4009
|
+
* const result = await agentBay.create({ imageId: 'linux_latest' });
|
|
4010
|
+
* if (result.success) {
|
|
4011
|
+
* options:AgentOptions = new AgentOptions(use_vision=False,
|
|
4012
|
+
* output_schema=""); const initResult = await
|
|
4013
|
+
* result.session.agent.browser.initialize(options); console.log(`Initialize
|
|
4014
|
+
* success: ${initResult.success}`); await result.session.delete();
|
|
4015
|
+
* }
|
|
4016
|
+
* ```
|
|
4017
|
+
*/
|
|
4018
|
+
async initialize(options) {
|
|
4019
|
+
const args = {
|
|
4020
|
+
use_vision: options.use_vision,
|
|
4021
|
+
output_schema: options.output_schema
|
|
4022
|
+
};
|
|
4023
|
+
try {
|
|
4024
|
+
const result = await this.session.callMcpTool("browser_use_initialize", args);
|
|
4025
|
+
if (!result.success) {
|
|
4026
|
+
return {
|
|
4027
|
+
success: false,
|
|
4028
|
+
errorMessage: result.errorMessage
|
|
4029
|
+
};
|
|
4030
|
+
} else {
|
|
4031
|
+
return {
|
|
4032
|
+
success: true,
|
|
4033
|
+
errorMessage: ""
|
|
4034
|
+
};
|
|
4035
|
+
}
|
|
4036
|
+
} catch (error) {
|
|
4037
|
+
return {
|
|
4038
|
+
success: false,
|
|
4039
|
+
errorMessage: `Failed to initialize: ${error}`
|
|
4040
|
+
};
|
|
4041
|
+
}
|
|
4042
|
+
}
|
|
4043
|
+
/**
|
|
4044
|
+
* Execute a specific task described in human language.
|
|
4045
|
+
*
|
|
4046
|
+
* @param task - Task description in human language.
|
|
4047
|
+
* @param maxTryTimes - Maximum number of retry attempts.
|
|
4048
|
+
* @returns ExecutionResult containing success status, task output, and
|
|
4049
|
+
* error message if any.
|
|
4050
|
+
*
|
|
4051
|
+
* @example
|
|
4052
|
+
* ```typescript
|
|
4053
|
+
* const agentBay = new AgentBay({ apiKey: 'your_api_key' });
|
|
4054
|
+
* const result = await agentBay.create({ imageId: 'linux_latest' });
|
|
4055
|
+
* if (result.success) {
|
|
4056
|
+
* const taskResult = await
|
|
4057
|
+
* result.session.agent.browser.executeTask('Navigate to baidu and query the
|
|
4058
|
+
* weather of Shanghai', 10); console.log(`Task status:
|
|
4059
|
+
* ${taskResult.taskStatus}`); await result.session.delete();
|
|
4060
|
+
* }
|
|
4061
|
+
* ```
|
|
4062
|
+
*/
|
|
4063
|
+
async executeTask(task, maxTryTimes) {
|
|
4064
|
+
try {
|
|
4065
|
+
const args = { task, max_try_times: maxTryTimes };
|
|
4066
|
+
const result = await this.session.callMcpTool("browser_use_execute_task", args);
|
|
4067
|
+
if (!result.success) {
|
|
4068
|
+
return {
|
|
4069
|
+
requestId: result.requestId,
|
|
4070
|
+
success: false,
|
|
4071
|
+
errorMessage: result.errorMessage,
|
|
4072
|
+
taskStatus: "failed",
|
|
4073
|
+
taskId: "",
|
|
4074
|
+
taskResult: "Task Failed"
|
|
4075
|
+
};
|
|
4076
|
+
}
|
|
4077
|
+
let content;
|
|
4078
|
+
try {
|
|
4079
|
+
content = JSON.parse(result.data);
|
|
4080
|
+
} catch (err) {
|
|
4081
|
+
return {
|
|
4082
|
+
requestId: result.requestId,
|
|
4083
|
+
success: false,
|
|
4084
|
+
errorMessage: `Failed to parse response: ${err}`,
|
|
4085
|
+
taskStatus: "failed",
|
|
4086
|
+
taskId: "",
|
|
4087
|
+
taskResult: "Invalid execution response."
|
|
4088
|
+
};
|
|
4089
|
+
}
|
|
4090
|
+
const taskId = content.task_id;
|
|
4091
|
+
if (!taskId) {
|
|
4092
|
+
return {
|
|
4093
|
+
requestId: result.requestId,
|
|
4094
|
+
success: false,
|
|
4095
|
+
errorMessage: "Task ID not found in response",
|
|
4096
|
+
taskStatus: "failed",
|
|
4097
|
+
taskId: "",
|
|
4098
|
+
taskResult: "Invalid task ID."
|
|
4099
|
+
};
|
|
4100
|
+
}
|
|
4101
|
+
let triedTime = 0;
|
|
4102
|
+
while (triedTime < maxTryTimes) {
|
|
4103
|
+
const query = await this.getTaskStatus(taskId);
|
|
4104
|
+
if (!query.success) {
|
|
3809
4105
|
return {
|
|
3810
|
-
requestId:
|
|
4106
|
+
requestId: query.requestId,
|
|
3811
4107
|
success: false,
|
|
3812
|
-
errorMessage:
|
|
4108
|
+
errorMessage: query.errorMessage,
|
|
3813
4109
|
taskStatus: "failed",
|
|
3814
|
-
taskId
|
|
4110
|
+
taskId,
|
|
4111
|
+
taskResult: ""
|
|
3815
4112
|
};
|
|
3816
4113
|
}
|
|
3817
|
-
switch (taskStatus) {
|
|
4114
|
+
switch (query.taskStatus) {
|
|
3818
4115
|
case "finished":
|
|
3819
4116
|
return {
|
|
3820
|
-
requestId:
|
|
4117
|
+
requestId: query.requestId,
|
|
3821
4118
|
success: true,
|
|
3822
4119
|
errorMessage: "",
|
|
3823
4120
|
taskId,
|
|
3824
|
-
taskStatus
|
|
4121
|
+
taskStatus: "finished",
|
|
4122
|
+
taskResult: query.taskProduct
|
|
3825
4123
|
};
|
|
3826
4124
|
case "failed":
|
|
3827
4125
|
return {
|
|
3828
|
-
requestId:
|
|
4126
|
+
requestId: query.requestId,
|
|
3829
4127
|
success: false,
|
|
3830
|
-
errorMessage: "Failed to execute task.",
|
|
4128
|
+
errorMessage: query.errorMessage || "Failed to execute task.",
|
|
3831
4129
|
taskId,
|
|
3832
|
-
taskStatus
|
|
4130
|
+
taskStatus: "failed",
|
|
4131
|
+
taskResult: ""
|
|
3833
4132
|
};
|
|
3834
4133
|
case "unsupported":
|
|
3835
4134
|
return {
|
|
3836
|
-
requestId:
|
|
4135
|
+
requestId: query.requestId,
|
|
3837
4136
|
success: false,
|
|
3838
|
-
errorMessage: "Unsupported task.",
|
|
4137
|
+
errorMessage: query.errorMessage || "Unsupported task.",
|
|
3839
4138
|
taskId,
|
|
3840
|
-
taskStatus
|
|
4139
|
+
taskStatus: "unsupported",
|
|
4140
|
+
taskResult: ""
|
|
3841
4141
|
};
|
|
3842
4142
|
}
|
|
3843
4143
|
logDebug(`Task ${taskId} is still running, please wait for a while.`);
|
|
@@ -3849,7 +4149,8 @@ var _Agent = class _Agent {
|
|
|
3849
4149
|
success: false,
|
|
3850
4150
|
errorMessage: "Task execution timed out",
|
|
3851
4151
|
taskStatus: "timeout",
|
|
3852
|
-
taskId
|
|
4152
|
+
taskId,
|
|
4153
|
+
taskResult: "Task Timed Out"
|
|
3853
4154
|
};
|
|
3854
4155
|
} catch (error) {
|
|
3855
4156
|
return {
|
|
@@ -3857,7 +4158,8 @@ var _Agent = class _Agent {
|
|
|
3857
4158
|
success: false,
|
|
3858
4159
|
errorMessage: `Failed to execute: ${error}`,
|
|
3859
4160
|
taskStatus: "failed",
|
|
3860
|
-
taskId: ""
|
|
4161
|
+
taskId: "",
|
|
4162
|
+
taskResult: "Task Failed"
|
|
3861
4163
|
};
|
|
3862
4164
|
}
|
|
3863
4165
|
}
|
|
@@ -3872,37 +4174,59 @@ var _Agent = class _Agent {
|
|
|
3872
4174
|
* const agentBay = new AgentBay({ apiKey: 'your_api_key' });
|
|
3873
4175
|
* const result = await agentBay.create({ imageId: 'windows_latest' });
|
|
3874
4176
|
* if (result.success) {
|
|
3875
|
-
* const taskResult = await
|
|
3876
|
-
*
|
|
3877
|
-
*
|
|
3878
|
-
*
|
|
4177
|
+
* const taskResult = await
|
|
4178
|
+
* result.session.agent.browser.executeTask(Navigate to baidu and query the
|
|
4179
|
+
* weather of Shanghai, 10); const statusResult = await
|
|
4180
|
+
* result.session.agent.browser.getTaskStatus(taskResult.taskId);
|
|
4181
|
+
* console.log(`Status:
|
|
4182
|
+
* ${JSON.parse(statusResult.output).status}`); await
|
|
4183
|
+
* result.session.delete();
|
|
3879
4184
|
* }
|
|
3880
4185
|
* ```
|
|
3881
4186
|
*/
|
|
3882
4187
|
async getTaskStatus(taskId) {
|
|
3883
4188
|
try {
|
|
3884
4189
|
const args = { task_id: taskId };
|
|
3885
|
-
const result = await this.session.callMcpTool("
|
|
4190
|
+
const result = await this.session.callMcpTool("browser_use_get_task_status", args);
|
|
3886
4191
|
if (!result.success) {
|
|
3887
4192
|
return {
|
|
3888
4193
|
requestId: result.requestId,
|
|
3889
4194
|
success: false,
|
|
3890
4195
|
errorMessage: result.errorMessage,
|
|
3891
|
-
|
|
4196
|
+
taskAction: "",
|
|
4197
|
+
taskProduct: "",
|
|
4198
|
+
taskStatus: "failed"
|
|
4199
|
+
};
|
|
4200
|
+
}
|
|
4201
|
+
let queryResult;
|
|
4202
|
+
try {
|
|
4203
|
+
queryResult = JSON.parse(result.data);
|
|
4204
|
+
return {
|
|
4205
|
+
requestId: result.requestId,
|
|
4206
|
+
success: true,
|
|
4207
|
+
errorMessage: "",
|
|
4208
|
+
taskAction: queryResult.action || "",
|
|
4209
|
+
taskProduct: queryResult.product || "",
|
|
4210
|
+
taskStatus: queryResult.status || "failed"
|
|
4211
|
+
};
|
|
4212
|
+
} catch (error) {
|
|
4213
|
+
return {
|
|
4214
|
+
requestId: result.requestId,
|
|
4215
|
+
success: false,
|
|
4216
|
+
errorMessage: `Failed to get task status: ${error}`,
|
|
4217
|
+
taskAction: "",
|
|
4218
|
+
taskProduct: "",
|
|
4219
|
+
taskStatus: "failed"
|
|
3892
4220
|
};
|
|
3893
4221
|
}
|
|
3894
|
-
return {
|
|
3895
|
-
requestId: result.requestId,
|
|
3896
|
-
success: true,
|
|
3897
|
-
output: result.data,
|
|
3898
|
-
errorMessage: ""
|
|
3899
|
-
};
|
|
3900
4222
|
} catch (error) {
|
|
3901
4223
|
return {
|
|
3902
4224
|
requestId: "",
|
|
3903
4225
|
success: false,
|
|
3904
4226
|
errorMessage: `Failed to get task status: ${error}`,
|
|
3905
|
-
|
|
4227
|
+
taskAction: "",
|
|
4228
|
+
taskProduct: "",
|
|
4229
|
+
taskStatus: "failed"
|
|
3906
4230
|
};
|
|
3907
4231
|
}
|
|
3908
4232
|
}
|
|
@@ -3910,15 +4234,18 @@ var _Agent = class _Agent {
|
|
|
3910
4234
|
* Terminate a task with a specified task ID.
|
|
3911
4235
|
*
|
|
3912
4236
|
* @param taskId - The ID of the running task.
|
|
3913
|
-
* @returns ExecutionResult containing success status, task output, and
|
|
4237
|
+
* @returns ExecutionResult containing success status, task output, and
|
|
4238
|
+
* error message if any.
|
|
3914
4239
|
*
|
|
3915
4240
|
* @example
|
|
3916
4241
|
* ```typescript
|
|
3917
4242
|
* const agentBay = new AgentBay({ apiKey: 'your_api_key' });
|
|
3918
4243
|
* const result = await agentBay.create({ imageId: 'windows_latest' });
|
|
3919
4244
|
* if (result.success) {
|
|
3920
|
-
* const taskResult = await
|
|
3921
|
-
*
|
|
4245
|
+
* const taskResult = await
|
|
4246
|
+
* result.session.agent.browser.executeTask(Navigate to baidu and query the
|
|
4247
|
+
* weather of Shanghai, 10); const terminateResult = await
|
|
4248
|
+
* result.session.agent.browser.terminateTask(taskResult.taskId);
|
|
3922
4249
|
* console.log(`Terminated: ${terminateResult.taskStatus}`);
|
|
3923
4250
|
* await result.session.delete();
|
|
3924
4251
|
* }
|
|
@@ -3928,7 +4255,7 @@ var _Agent = class _Agent {
|
|
|
3928
4255
|
logDebug("Terminating task");
|
|
3929
4256
|
try {
|
|
3930
4257
|
const args = { task_id: taskId };
|
|
3931
|
-
const result = await this.session.callMcpTool("
|
|
4258
|
+
const result = await this.session.callMcpTool("browser_use_terminate_task", args);
|
|
3932
4259
|
let content;
|
|
3933
4260
|
try {
|
|
3934
4261
|
content = JSON.parse(result.data);
|
|
@@ -3938,7 +4265,8 @@ var _Agent = class _Agent {
|
|
|
3938
4265
|
success: false,
|
|
3939
4266
|
errorMessage: `Failed to parse response: ${err}`,
|
|
3940
4267
|
taskId,
|
|
3941
|
-
taskStatus: "failed"
|
|
4268
|
+
taskStatus: "failed",
|
|
4269
|
+
taskResult: ""
|
|
3942
4270
|
};
|
|
3943
4271
|
}
|
|
3944
4272
|
const terminatedTaskId = content.task_id || taskId;
|
|
@@ -3949,7 +4277,8 @@ var _Agent = class _Agent {
|
|
|
3949
4277
|
success: true,
|
|
3950
4278
|
errorMessage: "",
|
|
3951
4279
|
taskId: terminatedTaskId,
|
|
3952
|
-
taskStatus: status
|
|
4280
|
+
taskStatus: status,
|
|
4281
|
+
taskResult: ""
|
|
3953
4282
|
};
|
|
3954
4283
|
}
|
|
3955
4284
|
return {
|
|
@@ -3957,7 +4286,8 @@ var _Agent = class _Agent {
|
|
|
3957
4286
|
success: false,
|
|
3958
4287
|
errorMessage: result.errorMessage,
|
|
3959
4288
|
taskId: terminatedTaskId,
|
|
3960
|
-
taskStatus: status
|
|
4289
|
+
taskStatus: status,
|
|
4290
|
+
taskResult: ""
|
|
3961
4291
|
};
|
|
3962
4292
|
} catch (error) {
|
|
3963
4293
|
return {
|
|
@@ -3965,11 +4295,25 @@ var _Agent = class _Agent {
|
|
|
3965
4295
|
success: false,
|
|
3966
4296
|
errorMessage: `Failed to terminate: ${error}`,
|
|
3967
4297
|
taskId,
|
|
3968
|
-
taskStatus: "failed"
|
|
4298
|
+
taskStatus: "failed",
|
|
4299
|
+
taskResult: ""
|
|
3969
4300
|
};
|
|
3970
4301
|
}
|
|
3971
4302
|
}
|
|
3972
4303
|
};
|
|
4304
|
+
__name(_BrowserUseAgent, "BrowserUseAgent");
|
|
4305
|
+
var BrowserUseAgent = _BrowserUseAgent;
|
|
4306
|
+
var _Agent = class _Agent {
|
|
4307
|
+
/**
|
|
4308
|
+
* Initialize an Agent object.
|
|
4309
|
+
*
|
|
4310
|
+
* @param session - The Session instance that this Agent belongs to.
|
|
4311
|
+
*/
|
|
4312
|
+
constructor(session) {
|
|
4313
|
+
this.computer = new ComputerUseAgent(session);
|
|
4314
|
+
this.browser = new BrowserUseAgent(session);
|
|
4315
|
+
}
|
|
4316
|
+
};
|
|
3973
4317
|
__name(_Agent, "Agent");
|
|
3974
4318
|
var Agent = _Agent;
|
|
3975
4319
|
|
|
@@ -13337,6 +13681,7 @@ export {
|
|
|
13337
13681
|
BrowserFingerprintGenerator,
|
|
13338
13682
|
BrowserOptionClass,
|
|
13339
13683
|
BrowserProxyClass,
|
|
13684
|
+
BrowserUseAgent,
|
|
13340
13685
|
CallMcpToolRequest,
|
|
13341
13686
|
CallMcpToolResponse,
|
|
13342
13687
|
CallMcpToolResponseBody,
|
|
@@ -13347,6 +13692,7 @@ export {
|
|
|
13347
13692
|
Code,
|
|
13348
13693
|
Command,
|
|
13349
13694
|
Computer,
|
|
13695
|
+
ComputerUseAgent,
|
|
13350
13696
|
Context,
|
|
13351
13697
|
ContextManager,
|
|
13352
13698
|
ContextService,
|