browser-use-sdk 2.0.13 → 2.0.14

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.
Files changed (130) hide show
  1. package/dist/cjs/Client.d.ts +0 -3
  2. package/dist/cjs/Client.js +2 -7
  3. package/dist/cjs/api/resources/browsers/client/requests/CreateBrowserSessionRequest.d.ts +2 -0
  4. package/dist/cjs/api/resources/index.d.ts +0 -2
  5. package/dist/cjs/api/resources/index.js +1 -3
  6. package/dist/cjs/api/resources/sessions/client/Client.d.ts +1 -0
  7. package/dist/cjs/api/resources/sessions/client/Client.js +3 -0
  8. package/dist/cjs/api/resources/sessions/client/requests/CreateSessionRequest.d.ts +4 -0
  9. package/dist/cjs/api/resources/skills/client/Client.d.ts +37 -0
  10. package/dist/cjs/api/resources/skills/client/Client.js +160 -0
  11. package/dist/cjs/api/resources/skills/client/requests/GetSkillExecutionOutputSkillsSkillIdExecutionsExecutionIdOutputGetRequest.d.ts +11 -0
  12. package/dist/cjs/api/resources/skills/client/requests/ListSkillExecutionsSkillsSkillIdExecutionsGetRequest.d.ts +11 -0
  13. package/dist/cjs/api/resources/skills/client/requests/index.d.ts +2 -0
  14. package/dist/cjs/api/resources/tasks/client/Client.d.ts +7 -4
  15. package/dist/cjs/api/resources/tasks/client/Client.js +7 -4
  16. package/dist/cjs/api/resources/workflows/client/Client.d.ts +1 -29
  17. package/dist/cjs/api/resources/workflows/client/Client.js +1 -85
  18. package/dist/cjs/api/resources/workflows/client/requests/index.d.ts +0 -1
  19. package/dist/cjs/api/types/BrowserSessionItemView.d.ts +6 -0
  20. package/dist/cjs/api/types/BrowserSessionView.d.ts +6 -0
  21. package/dist/cjs/api/types/CustomProxy.d.ts +13 -0
  22. package/dist/cjs/api/types/SessionItemView.d.ts +6 -0
  23. package/dist/cjs/api/types/SessionView.d.ts +6 -0
  24. package/dist/cjs/api/types/SkillExecutionListResponse.d.ts +14 -0
  25. package/dist/cjs/api/types/SkillExecutionOutputResponse.d.ts +7 -0
  26. package/dist/cjs/api/types/SkillExecutionView.d.ts +21 -0
  27. package/dist/cjs/api/types/SupportedLlMs.d.ts +2 -0
  28. package/dist/cjs/api/types/SupportedLlMs.js +2 -0
  29. package/dist/cjs/api/types/TaskItemView.d.ts +2 -0
  30. package/dist/cjs/api/types/TaskView.d.ts +2 -0
  31. package/dist/cjs/api/types/WorkflowExecutionResponse.d.ts +0 -4
  32. package/dist/cjs/api/types/WorkflowExecutionStateView.d.ts +0 -4
  33. package/dist/cjs/api/types/WorkflowExecutionStepView.d.ts +4 -4
  34. package/dist/cjs/api/types/WorkflowGenerationStateView.d.ts +0 -6
  35. package/dist/cjs/api/types/WorkflowItemView.d.ts +0 -7
  36. package/dist/cjs/api/types/WorkflowResponse.d.ts +0 -2
  37. package/dist/cjs/api/types/WorkflowYamlPresignedUploadResponse.d.ts +1 -8
  38. package/dist/cjs/api/types/WorkflowYamlPresignedUploadResponse.js +0 -8
  39. package/dist/cjs/api/types/index.d.ts +4 -19
  40. package/dist/cjs/api/types/index.js +4 -19
  41. package/dist/cjs/version.d.ts +1 -1
  42. package/dist/cjs/version.js +1 -1
  43. package/dist/esm/Client.d.mts +0 -3
  44. package/dist/esm/Client.mjs +2 -7
  45. package/dist/esm/api/resources/browsers/client/requests/CreateBrowserSessionRequest.d.mts +2 -0
  46. package/dist/esm/api/resources/index.d.mts +0 -2
  47. package/dist/esm/api/resources/index.mjs +0 -2
  48. package/dist/esm/api/resources/sessions/client/Client.d.mts +1 -0
  49. package/dist/esm/api/resources/sessions/client/Client.mjs +3 -0
  50. package/dist/esm/api/resources/sessions/client/requests/CreateSessionRequest.d.mts +4 -0
  51. package/dist/esm/api/resources/skills/client/Client.d.mts +37 -0
  52. package/dist/esm/api/resources/skills/client/Client.mjs +160 -0
  53. package/dist/esm/api/resources/skills/client/requests/GetSkillExecutionOutputSkillsSkillIdExecutionsExecutionIdOutputGetRequest.d.mts +11 -0
  54. package/dist/esm/api/resources/skills/client/requests/ListSkillExecutionsSkillsSkillIdExecutionsGetRequest.d.mts +11 -0
  55. package/dist/esm/api/resources/skills/client/requests/index.d.mts +2 -0
  56. package/dist/esm/api/resources/tasks/client/Client.d.mts +7 -4
  57. package/dist/esm/api/resources/tasks/client/Client.mjs +7 -4
  58. package/dist/esm/api/resources/workflows/client/Client.d.mts +1 -29
  59. package/dist/esm/api/resources/workflows/client/Client.mjs +1 -85
  60. package/dist/esm/api/resources/workflows/client/requests/index.d.mts +0 -1
  61. package/dist/esm/api/types/BrowserSessionItemView.d.mts +6 -0
  62. package/dist/esm/api/types/BrowserSessionView.d.mts +6 -0
  63. package/dist/esm/api/types/CustomProxy.d.mts +13 -0
  64. package/dist/esm/api/types/SessionItemView.d.mts +6 -0
  65. package/dist/esm/api/types/SessionView.d.mts +6 -0
  66. package/dist/esm/api/types/SkillExecutionListResponse.d.mts +14 -0
  67. package/dist/esm/api/types/SkillExecutionOutputResponse.d.mts +7 -0
  68. package/dist/esm/api/types/SkillExecutionView.d.mts +21 -0
  69. package/dist/esm/api/types/SupportedLlMs.d.mts +2 -0
  70. package/dist/esm/api/types/SupportedLlMs.mjs +2 -0
  71. package/dist/esm/api/types/TaskItemView.d.mts +2 -0
  72. package/dist/esm/api/types/TaskView.d.mts +2 -0
  73. package/dist/esm/api/types/WorkflowExecutionResponse.d.mts +0 -4
  74. package/dist/esm/api/types/WorkflowExecutionStateView.d.mts +0 -4
  75. package/dist/esm/api/types/WorkflowExecutionStepView.d.mts +4 -4
  76. package/dist/esm/api/types/WorkflowGenerationStateView.d.mts +0 -6
  77. package/dist/esm/api/types/WorkflowItemView.d.mts +0 -7
  78. package/dist/esm/api/types/WorkflowResponse.d.mts +0 -2
  79. package/dist/esm/api/types/WorkflowYamlPresignedUploadResponse.d.mts +1 -8
  80. package/dist/esm/api/types/WorkflowYamlPresignedUploadResponse.mjs +1 -7
  81. package/dist/esm/api/types/index.d.mts +4 -19
  82. package/dist/esm/api/types/index.mjs +4 -19
  83. package/dist/esm/version.d.mts +1 -1
  84. package/dist/esm/version.mjs +1 -1
  85. package/package.json +82 -83
  86. package/reference.md +43 -1051
  87. package/dist/cjs/api/resources/skillsMarketplace/client/requests/GetSkillMarketplaceSkillsSkillIdGetRequest.d.ts +0 -9
  88. package/dist/cjs/api/resources/workflows/client/requests/WorkflowCreateFromTaskRequest.d.ts +0 -18
  89. package/dist/cjs/api/resources/workflows/types/ExecuteWorkflowWorkflowsWorkflowIdExecutePostResponse.d.ts +0 -2
  90. package/dist/cjs/api/resources/workflows/types/index.d.ts +0 -1
  91. package/dist/cjs/api/resources/workflows/types/index.js +0 -17
  92. package/dist/cjs/api/types/AppApiV2MarketplaceSkillsViewsParameterSchema.d.ts +0 -11
  93. package/dist/cjs/api/types/AppApiV2MarketplaceSkillsViewsParameterType.d.ts +0 -9
  94. package/dist/cjs/api/types/AppApiV2MarketplaceSkillsViewsParameterType.js +0 -12
  95. package/dist/cjs/api/types/AppApiV2SkillsViewsParameterSchema.d.ts +0 -11
  96. package/dist/cjs/api/types/AppApiV2SkillsViewsParameterType.d.ts +0 -10
  97. package/dist/cjs/api/types/AppApiV2SkillsViewsParameterType.js +0 -13
  98. package/dist/cjs/api/types/ExecutionMode.d.ts +0 -12
  99. package/dist/cjs/api/types/ExecutionMode.js +0 -15
  100. package/dist/cjs/api/types/InsufficientCreditsError.d.ts +0 -6
  101. package/dist/cjs/api/types/WorkflowCreateFromTaskResponse.d.ts +0 -11
  102. package/dist/cjs/api/types/WorkflowCreateFromTaskResponse.js +0 -3
  103. package/dist/esm/api/resources/skillsMarketplace/client/requests/GetSkillMarketplaceSkillsSkillIdGetRequest.d.mts +0 -9
  104. package/dist/esm/api/resources/workflows/client/requests/WorkflowCreateFromTaskRequest.d.mts +0 -18
  105. package/dist/esm/api/resources/workflows/types/ExecuteWorkflowWorkflowsWorkflowIdExecutePostResponse.d.mts +0 -2
  106. package/dist/esm/api/resources/workflows/types/index.d.mts +0 -1
  107. package/dist/esm/api/resources/workflows/types/index.mjs +0 -1
  108. package/dist/esm/api/types/AppApiV2MarketplaceSkillsViewsParameterSchema.d.mts +0 -11
  109. package/dist/esm/api/types/AppApiV2MarketplaceSkillsViewsParameterType.d.mts +0 -9
  110. package/dist/esm/api/types/AppApiV2MarketplaceSkillsViewsParameterType.mjs +0 -9
  111. package/dist/esm/api/types/AppApiV2SkillsViewsParameterSchema.d.mts +0 -11
  112. package/dist/esm/api/types/AppApiV2SkillsViewsParameterType.d.mts +0 -10
  113. package/dist/esm/api/types/AppApiV2SkillsViewsParameterType.mjs +0 -10
  114. package/dist/esm/api/types/ExecutionMode.d.mts +0 -12
  115. package/dist/esm/api/types/ExecutionMode.mjs +0 -12
  116. package/dist/esm/api/types/InsufficientCreditsError.d.mts +0 -6
  117. package/dist/esm/api/types/WorkflowCreateFromTaskResponse.d.mts +0 -11
  118. package/dist/esm/api/types/WorkflowCreateFromTaskResponse.mjs +0 -2
  119. /package/dist/cjs/api/resources/{skillsMarketplace/client/requests/GetSkillMarketplaceSkillsSkillIdGetRequest.js → skills/client/requests/GetSkillExecutionOutputSkillsSkillIdExecutionsExecutionIdOutputGetRequest.js} +0 -0
  120. /package/dist/cjs/api/resources/{workflows/client/requests/WorkflowCreateFromTaskRequest.js → skills/client/requests/ListSkillExecutionsSkillsSkillIdExecutionsGetRequest.js} +0 -0
  121. /package/dist/cjs/api/{resources/workflows/types/ExecuteWorkflowWorkflowsWorkflowIdExecutePostResponse.js → types/CustomProxy.js} +0 -0
  122. /package/dist/cjs/api/types/{AppApiV2MarketplaceSkillsViewsParameterSchema.js → SkillExecutionListResponse.js} +0 -0
  123. /package/dist/cjs/api/types/{AppApiV2SkillsViewsParameterSchema.js → SkillExecutionOutputResponse.js} +0 -0
  124. /package/dist/cjs/api/types/{InsufficientCreditsError.js → SkillExecutionView.js} +0 -0
  125. /package/dist/esm/api/resources/{skillsMarketplace/client/requests/GetSkillMarketplaceSkillsSkillIdGetRequest.mjs → skills/client/requests/GetSkillExecutionOutputSkillsSkillIdExecutionsExecutionIdOutputGetRequest.mjs} +0 -0
  126. /package/dist/esm/api/resources/{workflows/client/requests/WorkflowCreateFromTaskRequest.mjs → skills/client/requests/ListSkillExecutionsSkillsSkillIdExecutionsGetRequest.mjs} +0 -0
  127. /package/dist/esm/api/{resources/workflows/types/ExecuteWorkflowWorkflowsWorkflowIdExecutePostResponse.mjs → types/CustomProxy.mjs} +0 -0
  128. /package/dist/esm/api/types/{AppApiV2MarketplaceSkillsViewsParameterSchema.mjs → SkillExecutionListResponse.mjs} +0 -0
  129. /package/dist/esm/api/types/{AppApiV2SkillsViewsParameterSchema.mjs → SkillExecutionOutputResponse.mjs} +0 -0
  130. /package/dist/esm/api/types/{InsufficientCreditsError.mjs → SkillExecutionView.mjs} +0 -0
@@ -122,7 +122,9 @@ export class Skills {
122
122
  * @param {Skills.RequestOptions} requestOptions - Request-specific configuration.
123
123
  *
124
124
  * @throws {@link BrowserUse.BadRequestError}
125
+ * @throws {@link BrowserUse.PaymentRequiredError}
125
126
  * @throws {@link BrowserUse.UnprocessableEntityError}
127
+ * @throws {@link BrowserUse.TooManyRequestsError}
126
128
  *
127
129
  * @example
128
130
  * await client.skills.createSkill({
@@ -158,8 +160,12 @@ export class Skills {
158
160
  switch (_response.error.statusCode) {
159
161
  case 400:
160
162
  throw new BrowserUse.BadRequestError(_response.error.body, _response.rawResponse);
163
+ case 402:
164
+ throw new BrowserUse.PaymentRequiredError(_response.error.body, _response.rawResponse);
161
165
  case 422:
162
166
  throw new BrowserUse.UnprocessableEntityError(_response.error.body, _response.rawResponse);
167
+ case 429:
168
+ throw new BrowserUse.TooManyRequestsError(_response.error.body, _response.rawResponse);
163
169
  default:
164
170
  throw new errors.BrowserUseError({
165
171
  statusCode: _response.error.statusCode,
@@ -545,6 +551,7 @@ export class Skills {
545
551
  * @throws {@link BrowserUse.PaymentRequiredError}
546
552
  * @throws {@link BrowserUse.NotFoundError}
547
553
  * @throws {@link BrowserUse.UnprocessableEntityError}
554
+ * @throws {@link BrowserUse.TooManyRequestsError}
548
555
  *
549
556
  * @example
550
557
  * await client.skills.executeSkill({
@@ -587,6 +594,8 @@ export class Skills {
587
594
  throw new BrowserUse.NotFoundError(_response.error.body, _response.rawResponse);
588
595
  case 422:
589
596
  throw new BrowserUse.UnprocessableEntityError(_response.error.body, _response.rawResponse);
597
+ case 429:
598
+ throw new BrowserUse.TooManyRequestsError(_response.error.body, _response.rawResponse);
590
599
  default:
591
600
  throw new errors.BrowserUseError({
592
601
  statusCode: _response.error.statusCode,
@@ -621,6 +630,7 @@ export class Skills {
621
630
  * @throws {@link BrowserUse.BadRequestError}
622
631
  * @throws {@link BrowserUse.NotFoundError}
623
632
  * @throws {@link BrowserUse.UnprocessableEntityError}
633
+ * @throws {@link BrowserUse.TooManyRequestsError}
624
634
  *
625
635
  * @example
626
636
  * await client.skills.refineSkill({
@@ -661,6 +671,8 @@ export class Skills {
661
671
  throw new BrowserUse.NotFoundError(_response.error.body, _response.rawResponse);
662
672
  case 422:
663
673
  throw new BrowserUse.UnprocessableEntityError(_response.error.body, _response.rawResponse);
674
+ case 429:
675
+ throw new BrowserUse.TooManyRequestsError(_response.error.body, _response.rawResponse);
664
676
  default:
665
677
  throw new errors.BrowserUseError({
666
678
  statusCode: _response.error.statusCode,
@@ -686,6 +698,154 @@ export class Skills {
686
698
  }
687
699
  });
688
700
  }
701
+ /**
702
+ * List executions for a specific skill.
703
+ *
704
+ * @param {BrowserUse.ListSkillExecutionsSkillsSkillIdExecutionsGetRequest} request
705
+ * @param {Skills.RequestOptions} requestOptions - Request-specific configuration.
706
+ *
707
+ * @throws {@link BrowserUse.NotFoundError}
708
+ * @throws {@link BrowserUse.UnprocessableEntityError}
709
+ *
710
+ * @example
711
+ * await client.skills.listSkillExecutions({
712
+ * skill_id: "skill_id"
713
+ * })
714
+ */
715
+ listSkillExecutions(request, requestOptions) {
716
+ return core.HttpResponsePromise.fromPromise(this.__listSkillExecutions(request, requestOptions));
717
+ }
718
+ __listSkillExecutions(request, requestOptions) {
719
+ return __awaiter(this, void 0, void 0, function* () {
720
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
721
+ const { skill_id: skillId, pageSize, pageNumber } = request;
722
+ const _queryParams = {};
723
+ if (pageSize != null) {
724
+ _queryParams.pageSize = pageSize.toString();
725
+ }
726
+ if (pageNumber != null) {
727
+ _queryParams.pageNumber = pageNumber.toString();
728
+ }
729
+ const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders(Object.assign({}, (yield this._getCustomAuthorizationHeaders()))), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
730
+ const _response = yield core.fetcher({
731
+ url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.BrowserUseEnvironment.Production, `skills/${core.url.encodePathParam(skillId)}/executions`),
732
+ method: "GET",
733
+ headers: _headers,
734
+ queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
735
+ timeoutMs: ((_f = (_d = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _d !== void 0 ? _d : (_e = this._options) === null || _e === void 0 ? void 0 : _e.timeoutInSeconds) !== null && _f !== void 0 ? _f : 60) * 1000,
736
+ maxRetries: (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.maxRetries,
737
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
738
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
739
+ logging: this._options.logging,
740
+ });
741
+ if (_response.ok) {
742
+ return {
743
+ data: _response.body,
744
+ rawResponse: _response.rawResponse,
745
+ };
746
+ }
747
+ if (_response.error.reason === "status-code") {
748
+ switch (_response.error.statusCode) {
749
+ case 404:
750
+ throw new BrowserUse.NotFoundError(_response.error.body, _response.rawResponse);
751
+ case 422:
752
+ throw new BrowserUse.UnprocessableEntityError(_response.error.body, _response.rawResponse);
753
+ default:
754
+ throw new errors.BrowserUseError({
755
+ statusCode: _response.error.statusCode,
756
+ body: _response.error.body,
757
+ rawResponse: _response.rawResponse,
758
+ });
759
+ }
760
+ }
761
+ switch (_response.error.reason) {
762
+ case "non-json":
763
+ throw new errors.BrowserUseError({
764
+ statusCode: _response.error.statusCode,
765
+ body: _response.error.rawBody,
766
+ rawResponse: _response.rawResponse,
767
+ });
768
+ case "timeout":
769
+ throw new errors.BrowserUseTimeoutError("Timeout exceeded when calling GET /skills/{skill_id}/executions.");
770
+ case "unknown":
771
+ throw new errors.BrowserUseError({
772
+ message: _response.error.errorMessage,
773
+ rawResponse: _response.rawResponse,
774
+ });
775
+ }
776
+ });
777
+ }
778
+ /**
779
+ * Get presigned URL for downloading skill execution output.
780
+ *
781
+ * @param {BrowserUse.GetSkillExecutionOutputSkillsSkillIdExecutionsExecutionIdOutputGetRequest} request
782
+ * @param {Skills.RequestOptions} requestOptions - Request-specific configuration.
783
+ *
784
+ * @throws {@link BrowserUse.NotFoundError}
785
+ * @throws {@link BrowserUse.UnprocessableEntityError}
786
+ *
787
+ * @example
788
+ * await client.skills.getSkillExecutionOutput({
789
+ * skill_id: "skill_id",
790
+ * execution_id: "execution_id"
791
+ * })
792
+ */
793
+ getSkillExecutionOutput(request, requestOptions) {
794
+ return core.HttpResponsePromise.fromPromise(this.__getSkillExecutionOutput(request, requestOptions));
795
+ }
796
+ __getSkillExecutionOutput(request, requestOptions) {
797
+ return __awaiter(this, void 0, void 0, function* () {
798
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
799
+ const { skill_id: skillId, execution_id: executionId } = request;
800
+ const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders(Object.assign({}, (yield this._getCustomAuthorizationHeaders()))), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
801
+ const _response = yield core.fetcher({
802
+ url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.BrowserUseEnvironment.Production, `skills/${core.url.encodePathParam(skillId)}/executions/${core.url.encodePathParam(executionId)}/output`),
803
+ method: "GET",
804
+ headers: _headers,
805
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
806
+ timeoutMs: ((_f = (_d = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _d !== void 0 ? _d : (_e = this._options) === null || _e === void 0 ? void 0 : _e.timeoutInSeconds) !== null && _f !== void 0 ? _f : 60) * 1000,
807
+ maxRetries: (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.maxRetries,
808
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
809
+ fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
810
+ logging: this._options.logging,
811
+ });
812
+ if (_response.ok) {
813
+ return {
814
+ data: _response.body,
815
+ rawResponse: _response.rawResponse,
816
+ };
817
+ }
818
+ if (_response.error.reason === "status-code") {
819
+ switch (_response.error.statusCode) {
820
+ case 404:
821
+ throw new BrowserUse.NotFoundError(_response.error.body, _response.rawResponse);
822
+ case 422:
823
+ throw new BrowserUse.UnprocessableEntityError(_response.error.body, _response.rawResponse);
824
+ default:
825
+ throw new errors.BrowserUseError({
826
+ statusCode: _response.error.statusCode,
827
+ body: _response.error.body,
828
+ rawResponse: _response.rawResponse,
829
+ });
830
+ }
831
+ }
832
+ switch (_response.error.reason) {
833
+ case "non-json":
834
+ throw new errors.BrowserUseError({
835
+ statusCode: _response.error.statusCode,
836
+ body: _response.error.rawBody,
837
+ rawResponse: _response.rawResponse,
838
+ });
839
+ case "timeout":
840
+ throw new errors.BrowserUseTimeoutError("Timeout exceeded when calling GET /skills/{skill_id}/executions/{execution_id}/output.");
841
+ case "unknown":
842
+ throw new errors.BrowserUseError({
843
+ message: _response.error.errorMessage,
844
+ rawResponse: _response.rawResponse,
845
+ });
846
+ }
847
+ });
848
+ }
689
849
  _getCustomAuthorizationHeaders() {
690
850
  return __awaiter(this, void 0, void 0, function* () {
691
851
  const apiKeyValue = yield core.Supplier.get(this._options.apiKey);
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * skill_id: "skill_id",
5
+ * execution_id: "execution_id"
6
+ * }
7
+ */
8
+ export interface GetSkillExecutionOutputSkillsSkillIdExecutionsExecutionIdOutputGetRequest {
9
+ skill_id: string;
10
+ execution_id: string;
11
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * skill_id: "skill_id"
5
+ * }
6
+ */
7
+ export interface ListSkillExecutionsSkillsSkillIdExecutionsGetRequest {
8
+ skill_id: string;
9
+ pageSize?: number;
10
+ pageNumber?: number;
11
+ }
@@ -2,7 +2,9 @@ export type { CancelGenerationSkillsSkillIdCancelPostRequest } from "./CancelGen
2
2
  export type { CreateSkillRequest } from "./CreateSkillRequest.mjs";
3
3
  export type { DeleteSkillSkillsSkillIdDeleteRequest } from "./DeleteSkillSkillsSkillIdDeleteRequest.mjs";
4
4
  export type { ExecuteSkillSkillsSkillIdExecutePostRequest } from "./ExecuteSkillSkillsSkillIdExecutePostRequest.mjs";
5
+ export type { GetSkillExecutionOutputSkillsSkillIdExecutionsExecutionIdOutputGetRequest } from "./GetSkillExecutionOutputSkillsSkillIdExecutionsExecutionIdOutputGetRequest.mjs";
5
6
  export type { GetSkillSkillsSkillIdGetRequest } from "./GetSkillSkillsSkillIdGetRequest.mjs";
7
+ export type { ListSkillExecutionsSkillsSkillIdExecutionsGetRequest } from "./ListSkillExecutionsSkillsSkillIdExecutionsGetRequest.mjs";
6
8
  export type { ListSkillsSkillsGetRequest } from "./ListSkillsSkillsGetRequest.mjs";
7
9
  export type { RefineSkillRequest } from "./RefineSkillRequest.mjs";
8
10
  export type { RollbackSkillSkillsSkillIdRollbackPostRequest } from "./RollbackSkillSkillsSkillIdRollbackPostRequest.mjs";
@@ -27,12 +27,15 @@ export declare class Tasks {
27
27
  * Create and start a new task.
28
28
  *
29
29
  * You can either:
30
- * 1. Start a new task without a sessionId (auto-creates a session with US proxy by default)
30
+ * 1. Start a new task without a sessionId (auto-creates a session with US proxy by default).
31
+ * Note: Tasks without a sessionId are one-off tasks that automatically close the session
32
+ * upon completion (keep_alive=false).
31
33
  * 2. Start a new task in an existing session (reuse for follow-up tasks or custom configuration)
32
34
  *
33
- * Important: Proxy configuration (proxyCountryCode) is a session-level setting, not a task-level setting.
34
- * To use a custom proxy location, create a session first via POST /sessions with your desired proxyCountryCode,
35
- * then pass that sessionId when creating tasks.
35
+ * Important: Proxy configuration (proxyCountryCode) and other session settings (like keep_alive) are
36
+ * session-level settings, not task-level settings. For full control over session configuration,
37
+ * create a session first via POST /sessions with your desired settings, then pass that sessionId
38
+ * when creating tasks.
36
39
  *
37
40
  * @param {BrowserUse.CreateTaskRequest} request
38
41
  * @param {Tasks.RequestOptions} requestOptions - Request-specific configuration.
@@ -113,12 +113,15 @@ export class Tasks {
113
113
  * Create and start a new task.
114
114
  *
115
115
  * You can either:
116
- * 1. Start a new task without a sessionId (auto-creates a session with US proxy by default)
116
+ * 1. Start a new task without a sessionId (auto-creates a session with US proxy by default).
117
+ * Note: Tasks without a sessionId are one-off tasks that automatically close the session
118
+ * upon completion (keep_alive=false).
117
119
  * 2. Start a new task in an existing session (reuse for follow-up tasks or custom configuration)
118
120
  *
119
- * Important: Proxy configuration (proxyCountryCode) is a session-level setting, not a task-level setting.
120
- * To use a custom proxy location, create a session first via POST /sessions with your desired proxyCountryCode,
121
- * then pass that sessionId when creating tasks.
121
+ * Important: Proxy configuration (proxyCountryCode) and other session settings (like keep_alive) are
122
+ * session-level settings, not task-level settings. For full control over session configuration,
123
+ * create a session first via POST /sessions with your desired settings, then pass that sessionId
124
+ * when creating tasks.
122
125
  *
123
126
  * @param {BrowserUse.CreateTaskRequest} request
124
127
  * @param {Tasks.RequestOptions} requestOptions - Request-specific configuration.
@@ -9,7 +9,7 @@ export declare namespace Workflows {
9
9
  }
10
10
  export declare class Workflows {
11
11
  protected readonly _options: Workflows.Options;
12
- constructor(_options?: Workflows.Options);
12
+ constructor(_options: Workflows.Options);
13
13
  /**
14
14
  * Get paginated list of workflows with optional filtering.
15
15
  *
@@ -102,34 +102,6 @@ export declare class Workflows {
102
102
  */
103
103
  getWorkflowGenerationState(request: BrowserUse.GetWorkflowGenerationStateWorkflowsWorkflowIdGenerationStateGetRequest, requestOptions?: Workflows.RequestOptions): core.HttpResponsePromise<BrowserUse.WorkflowGenerationStateView>;
104
104
  private __getWorkflowGenerationState;
105
- /**
106
- * Create a workflow from an existing agent task's recorded history.
107
- *
108
- * This endpoint creates a workflow by using the browser-use rerun history
109
- * feature. The task must have completed with history stored in S3.
110
- *
111
- * The workflow creation process:
112
- * 1. Creates a new workflow record in pending state
113
- * 2. Triggers an Inngest event to process the task history
114
- * 3. The Inngest handler downloads history, detects variables, and updates the workflow
115
- *
116
- * Use GET /workflows/{workflow_id} to poll for creation completion.
117
- *
118
- * @param {BrowserUse.WorkflowCreateFromTaskRequest} request
119
- * @param {Workflows.RequestOptions} requestOptions - Request-specific configuration.
120
- *
121
- * @throws {@link BrowserUse.NotFoundError}
122
- * @throws {@link BrowserUse.UnprocessableEntityError}
123
- *
124
- * @example
125
- * await client.workflows.createWorkflowFromTask({
126
- * name: "name",
127
- * taskId: "taskId",
128
- * sessionId: "sessionId"
129
- * })
130
- */
131
- createWorkflowFromTask(request: BrowserUse.WorkflowCreateFromTaskRequest, requestOptions?: Workflows.RequestOptions): core.HttpResponsePromise<BrowserUse.WorkflowCreateFromTaskResponse>;
132
- private __createWorkflowFromTask;
133
105
  /**
134
106
  * Get a presigned URL to upload workflow YAML directly to S3 from the browser.
135
107
  *
@@ -25,7 +25,7 @@ import * as environments from "../../../../environments.mjs";
25
25
  import * as errors from "../../../../errors/index.mjs";
26
26
  import * as BrowserUse from "../../../index.mjs";
27
27
  export class Workflows {
28
- constructor(_options = {}) {
28
+ constructor(_options) {
29
29
  this._options = _options;
30
30
  }
31
31
  /**
@@ -435,90 +435,6 @@ export class Workflows {
435
435
  }
436
436
  });
437
437
  }
438
- /**
439
- * Create a workflow from an existing agent task's recorded history.
440
- *
441
- * This endpoint creates a workflow by using the browser-use rerun history
442
- * feature. The task must have completed with history stored in S3.
443
- *
444
- * The workflow creation process:
445
- * 1. Creates a new workflow record in pending state
446
- * 2. Triggers an Inngest event to process the task history
447
- * 3. The Inngest handler downloads history, detects variables, and updates the workflow
448
- *
449
- * Use GET /workflows/{workflow_id} to poll for creation completion.
450
- *
451
- * @param {BrowserUse.WorkflowCreateFromTaskRequest} request
452
- * @param {Workflows.RequestOptions} requestOptions - Request-specific configuration.
453
- *
454
- * @throws {@link BrowserUse.NotFoundError}
455
- * @throws {@link BrowserUse.UnprocessableEntityError}
456
- *
457
- * @example
458
- * await client.workflows.createWorkflowFromTask({
459
- * name: "name",
460
- * taskId: "taskId",
461
- * sessionId: "sessionId"
462
- * })
463
- */
464
- createWorkflowFromTask(request, requestOptions) {
465
- return core.HttpResponsePromise.fromPromise(this.__createWorkflowFromTask(request, requestOptions));
466
- }
467
- __createWorkflowFromTask(request, requestOptions) {
468
- return __awaiter(this, void 0, void 0, function* () {
469
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
470
- const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders(Object.assign({}, (yield this._getCustomAuthorizationHeaders()))), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
471
- const _response = yield core.fetcher({
472
- url: core.url.join((_c = (_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.BrowserUseEnvironment.Production, "workflows/from-task"),
473
- method: "POST",
474
- headers: _headers,
475
- contentType: "application/json",
476
- queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
477
- requestType: "json",
478
- body: request,
479
- timeoutMs: ((_f = (_d = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _d !== void 0 ? _d : (_e = this._options) === null || _e === void 0 ? void 0 : _e.timeoutInSeconds) !== null && _f !== void 0 ? _f : 60) * 1000,
480
- maxRetries: (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.maxRetries,
481
- abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
482
- fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
483
- logging: this._options.logging,
484
- });
485
- if (_response.ok) {
486
- return {
487
- data: _response.body,
488
- rawResponse: _response.rawResponse,
489
- };
490
- }
491
- if (_response.error.reason === "status-code") {
492
- switch (_response.error.statusCode) {
493
- case 404:
494
- throw new BrowserUse.NotFoundError(_response.error.body, _response.rawResponse);
495
- case 422:
496
- throw new BrowserUse.UnprocessableEntityError(_response.error.body, _response.rawResponse);
497
- default:
498
- throw new errors.BrowserUseError({
499
- statusCode: _response.error.statusCode,
500
- body: _response.error.body,
501
- rawResponse: _response.rawResponse,
502
- });
503
- }
504
- }
505
- switch (_response.error.reason) {
506
- case "non-json":
507
- throw new errors.BrowserUseError({
508
- statusCode: _response.error.statusCode,
509
- body: _response.error.rawBody,
510
- rawResponse: _response.rawResponse,
511
- });
512
- case "timeout":
513
- throw new errors.BrowserUseTimeoutError("Timeout exceeded when calling POST /workflows/from-task.");
514
- case "unknown":
515
- throw new errors.BrowserUseError({
516
- message: _response.error.errorMessage,
517
- rawResponse: _response.rawResponse,
518
- });
519
- }
520
- });
521
- }
522
438
  /**
523
439
  * Get a presigned URL to upload workflow YAML directly to S3 from the browser.
524
440
  *
@@ -9,7 +9,6 @@ export type { GetWorkflowWorkflowsWorkflowIdGetRequest } from "./GetWorkflowWork
9
9
  export type { ListAllExecutionsWorkflowsExecutionsGetRequest } from "./ListAllExecutionsWorkflowsExecutionsGetRequest.mjs";
10
10
  export type { ListWorkflowExecutionsWorkflowsWorkflowIdExecutionsGetRequest } from "./ListWorkflowExecutionsWorkflowsWorkflowIdExecutionsGetRequest.mjs";
11
11
  export type { ListWorkflowsWorkflowsGetRequest } from "./ListWorkflowsWorkflowsGetRequest.mjs";
12
- export type { WorkflowCreateFromTaskRequest } from "./WorkflowCreateFromTaskRequest.mjs";
13
12
  export type { WorkflowCreateRequest } from "./WorkflowCreateRequest.mjs";
14
13
  export type { WorkflowExecuteRequest } from "./WorkflowExecuteRequest.mjs";
15
14
  export type { WorkflowGenerateRequest } from "./WorkflowGenerateRequest.mjs";
@@ -17,4 +17,10 @@ export interface BrowserSessionItemView {
17
17
  startedAt: string;
18
18
  /** Timestamp when the session was stopped (None if still active) */
19
19
  finishedAt?: string | null;
20
+ /** Amount of proxy data used in MB */
21
+ proxyUsedMb?: string;
22
+ /** Cost of proxy usage in USD */
23
+ proxyCost?: string;
24
+ /** Cost of browser session hosting in USD */
25
+ browserCost?: string;
20
26
  }
@@ -17,4 +17,10 @@ export interface BrowserSessionView {
17
17
  startedAt: string;
18
18
  /** Timestamp when the session was stopped (None if still active) */
19
19
  finishedAt?: string | null;
20
+ /** Amount of proxy data used in MB */
21
+ proxyUsedMb?: string;
22
+ /** Cost of proxy usage in USD */
23
+ proxyCost?: string;
24
+ /** Cost of browser session hosting in USD */
25
+ browserCost?: string;
20
26
  }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Request model for creating a custom proxy.
3
+ */
4
+ export interface CustomProxy {
5
+ /** Host of the proxy. */
6
+ host: string;
7
+ /** Port of the proxy. */
8
+ port: number;
9
+ /** Username for proxy authentication. */
10
+ username?: string | null;
11
+ /** Password for proxy authentication. */
12
+ password?: string | null;
13
+ }
@@ -15,4 +15,10 @@ export interface SessionItemView {
15
15
  finishedAt?: string | null;
16
16
  /** Whether tasks in this session share memory and history with each other */
17
17
  persistMemory: boolean;
18
+ /** Whether the browser session stays alive after tasks complete */
19
+ keepAlive: boolean;
20
+ /** Amount of proxy data used in MB */
21
+ proxyUsedMb?: string;
22
+ /** Cost of proxy usage in USD */
23
+ proxyCost?: string;
18
24
  }
@@ -19,4 +19,10 @@ export interface SessionView {
19
19
  publicShareUrl?: string | null;
20
20
  /** Whether tasks in this session share memory and history with each other */
21
21
  persistMemory?: boolean;
22
+ /** Whether the browser session stays alive after tasks complete */
23
+ keepAlive?: boolean;
24
+ /** Amount of proxy data used in MB */
25
+ proxyUsedMb?: string;
26
+ /** Cost of proxy usage in USD */
27
+ proxyCost?: string;
22
28
  }
@@ -0,0 +1,14 @@
1
+ import type * as BrowserUse from "../index.mjs";
2
+ /**
3
+ * Response for listing skill executions.
4
+ */
5
+ export interface SkillExecutionListResponse {
6
+ /** List of executions */
7
+ items: BrowserUse.SkillExecutionView[];
8
+ /** Total number of items in the list */
9
+ totalItems: number;
10
+ /** Page number */
11
+ pageNumber: number;
12
+ /** Number of items per page */
13
+ pageSize: number;
14
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Response containing presigned URL for downloading execution output.
3
+ */
4
+ export interface SkillExecutionOutputResponse {
5
+ /** Presigned URL for downloading the execution output (valid for 5 minutes) */
6
+ downloadUrl: string;
7
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * View for a skill execution.
3
+ */
4
+ export interface SkillExecutionView {
5
+ /** Unique identifier for the execution */
6
+ id: string;
7
+ /** ID of the skill that was executed */
8
+ skillId: string;
9
+ /** Execution status (running, completed, failed) */
10
+ status: string;
11
+ /** Whether the execution succeeded */
12
+ success: boolean;
13
+ /** When the execution started */
14
+ startedAt: string;
15
+ /** When the execution finished */
16
+ finishedAt: string | null;
17
+ /** Execution latency in milliseconds */
18
+ latencyMs: number | null;
19
+ /** Whether output is available for download */
20
+ hasOutput: boolean;
21
+ }
@@ -1,5 +1,6 @@
1
1
  export declare const SupportedLlMs: {
2
2
  readonly BrowserUseLlm: "browser-use-llm";
3
+ readonly BrowserUse20: "browser-use-2.0";
3
4
  readonly Gpt41: "gpt-4.1";
4
5
  readonly Gpt41Mini: "gpt-4.1-mini";
5
6
  readonly O4Mini: "o4-mini";
@@ -7,6 +8,7 @@ export declare const SupportedLlMs: {
7
8
  readonly Gemini25Flash: "gemini-2.5-flash";
8
9
  readonly Gemini25Pro: "gemini-2.5-pro";
9
10
  readonly Gemini3ProPreview: "gemini-3-pro-preview";
11
+ readonly Gemini3FlashPreview: "gemini-3-flash-preview";
10
12
  readonly GeminiFlashLatest: "gemini-flash-latest";
11
13
  readonly GeminiFlashLiteLatest: "gemini-flash-lite-latest";
12
14
  readonly ClaudeSonnet420250514: "claude-sonnet-4-20250514";
@@ -1,6 +1,7 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  export const SupportedLlMs = {
3
3
  BrowserUseLlm: "browser-use-llm",
4
+ BrowserUse20: "browser-use-2.0",
4
5
  Gpt41: "gpt-4.1",
5
6
  Gpt41Mini: "gpt-4.1-mini",
6
7
  O4Mini: "o4-mini",
@@ -8,6 +9,7 @@ export const SupportedLlMs = {
8
9
  Gemini25Flash: "gemini-2.5-flash",
9
10
  Gemini25Pro: "gemini-2.5-pro",
10
11
  Gemini3ProPreview: "gemini-3-pro-preview",
12
+ Gemini3FlashPreview: "gemini-3-flash-preview",
11
13
  GeminiFlashLatest: "gemini-flash-latest",
12
14
  GeminiFlashLiteLatest: "gemini-flash-lite-latest",
13
15
  ClaudeSonnet420250514: "claude-sonnet-4-20250514",
@@ -30,4 +30,6 @@ export interface TaskItemView {
30
30
  judgement?: string | null;
31
31
  /** Judge verdict - True if the judge found the task to be successful, False otherwise (None if judge is not enabled) */
32
32
  judgeVerdict?: boolean | null;
33
+ /** Total cost of the task in USD. This is the sum of all step costs incurred during task execution. */
34
+ cost?: string | null;
33
35
  }
@@ -32,4 +32,6 @@ export interface TaskView {
32
32
  judgement?: string | null;
33
33
  /** Judge verdict - True if the judge found the task to be successful, False otherwise (None if judge is not enabled) */
34
34
  judgeVerdict?: boolean | null;
35
+ /** Total cost of the task in USD. This is the sum of all step costs incurred during task execution. */
36
+ cost?: string | null;
35
37
  }
@@ -33,10 +33,6 @@ export interface WorkflowExecutionResponse {
33
33
  executionMetadata?: Record<string, unknown> | null;
34
34
  /** Presigned URL to download execution logs */
35
35
  logsDownloadUrl?: string | null;
36
- /** AI-generated summary of the execution result */
37
- aiSummary?: string | null;
38
- /** AI's determination of whether execution succeeded */
39
- aiSuccess?: boolean | null;
40
36
  /** Naive UTC timestamp when execution was created */
41
37
  createdAt: string;
42
38
  }
@@ -25,8 +25,4 @@ export interface WorkflowExecutionStateView {
25
25
  createdAt: string;
26
26
  /** Live browser view URL (available during and up to 60s after execution) */
27
27
  liveUrl?: string | null;
28
- /** AI-generated summary of the execution result */
29
- aiSummary?: string | null;
30
- /** AI's determination of whether execution succeeded */
31
- aiSuccess?: boolean | null;
32
28
  }
@@ -3,13 +3,13 @@
3
3
  */
4
4
  export interface WorkflowExecutionStepView {
5
5
  /** Unique identifier for the step (execution_id-step-N) */
6
- id?: string;
6
+ id: string;
7
7
  /** Sequential step number (1-indexed) */
8
- stepNumber?: number;
8
+ stepNumber: number;
9
9
  /** Name of the step from workflow definition */
10
10
  stepName?: string | null;
11
11
  /** Description of what this step is doing */
12
- nextGoal?: string;
12
+ nextGoal: string;
13
13
  /** Whether the step has completed */
14
14
  isDone?: boolean;
15
15
  /** Whether the step succeeded (None if in progress) */
@@ -25,5 +25,5 @@ export interface WorkflowExecutionStepView {
25
25
  /** Error message if step failed */
26
26
  error?: string | null;
27
27
  /** ISO 8601 timestamp when step was executed */
28
- createdAt?: string;
28
+ createdAt: string;
29
29
  }