@workglow/browser-control 0.2.35 → 0.2.37

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 (57) hide show
  1. package/dist/defaults.d.ts +13 -0
  2. package/dist/defaults.d.ts.map +1 -0
  3. package/dist/task/register.d.ts +18 -18
  4. package/dist/task/register.d.ts.map +1 -1
  5. package/dist/task/tasks/BrowserAttributeTask.d.ts +1 -1
  6. package/dist/task/tasks/BrowserAttributeTask.d.ts.map +1 -1
  7. package/dist/task/tasks/BrowserBackTask.d.ts +1 -1
  8. package/dist/task/tasks/BrowserBackTask.d.ts.map +1 -1
  9. package/dist/task/tasks/BrowserClickTask.d.ts +1 -1
  10. package/dist/task/tasks/BrowserClickTask.d.ts.map +1 -1
  11. package/dist/task/tasks/BrowserCloseTabTask.d.ts +1 -1
  12. package/dist/task/tasks/BrowserCloseTabTask.d.ts.map +1 -1
  13. package/dist/task/tasks/BrowserCloseTask.d.ts +1 -1
  14. package/dist/task/tasks/BrowserCloseTask.d.ts.map +1 -1
  15. package/dist/task/tasks/BrowserEvaluateTask.d.ts +1 -1
  16. package/dist/task/tasks/BrowserEvaluateTask.d.ts.map +1 -1
  17. package/dist/task/tasks/BrowserExtractHtmlTask.d.ts +1 -1
  18. package/dist/task/tasks/BrowserExtractHtmlTask.d.ts.map +1 -1
  19. package/dist/task/tasks/BrowserExtractTextTask.d.ts +1 -1
  20. package/dist/task/tasks/BrowserExtractTextTask.d.ts.map +1 -1
  21. package/dist/task/tasks/BrowserFillTask.d.ts +1 -1
  22. package/dist/task/tasks/BrowserFillTask.d.ts.map +1 -1
  23. package/dist/task/tasks/BrowserForwardTask.d.ts +1 -1
  24. package/dist/task/tasks/BrowserForwardTask.d.ts.map +1 -1
  25. package/dist/task/tasks/BrowserHoverTask.d.ts +1 -1
  26. package/dist/task/tasks/BrowserHoverTask.d.ts.map +1 -1
  27. package/dist/task/tasks/BrowserLoginTask.d.ts.map +1 -1
  28. package/dist/task/tasks/BrowserNavigateTask.d.ts +1 -1
  29. package/dist/task/tasks/BrowserNavigateTask.d.ts.map +1 -1
  30. package/dist/task/tasks/BrowserNewTabTask.d.ts +1 -1
  31. package/dist/task/tasks/BrowserNewTabTask.d.ts.map +1 -1
  32. package/dist/task/tasks/BrowserPressKeyTask.d.ts +1 -1
  33. package/dist/task/tasks/BrowserPressKeyTask.d.ts.map +1 -1
  34. package/dist/task/tasks/BrowserQuerySelectorTask.d.ts +1 -1
  35. package/dist/task/tasks/BrowserQuerySelectorTask.d.ts.map +1 -1
  36. package/dist/task/tasks/BrowserReloadTask.d.ts +1 -1
  37. package/dist/task/tasks/BrowserReloadTask.d.ts.map +1 -1
  38. package/dist/task/tasks/BrowserScreenshotTask.d.ts +1 -1
  39. package/dist/task/tasks/BrowserScreenshotTask.d.ts.map +1 -1
  40. package/dist/task/tasks/BrowserScrollTask.d.ts +1 -1
  41. package/dist/task/tasks/BrowserScrollTask.d.ts.map +1 -1
  42. package/dist/task/tasks/BrowserSelectTask.d.ts +1 -1
  43. package/dist/task/tasks/BrowserSelectTask.d.ts.map +1 -1
  44. package/dist/task/tasks/BrowserSessionTask.d.ts.map +1 -1
  45. package/dist/task/tasks/BrowserSnapshotTask.d.ts +1 -1
  46. package/dist/task/tasks/BrowserSnapshotTask.d.ts.map +1 -1
  47. package/dist/task/tasks/BrowserSwitchTabTask.d.ts +1 -1
  48. package/dist/task/tasks/BrowserSwitchTabTask.d.ts.map +1 -1
  49. package/dist/task/tasks/BrowserTypeTask.d.ts +1 -1
  50. package/dist/task/tasks/BrowserTypeTask.d.ts.map +1 -1
  51. package/dist/task/tasks/BrowserUploadTask.d.ts +1 -1
  52. package/dist/task/tasks/BrowserUploadTask.d.ts.map +1 -1
  53. package/dist/task/tasks/BrowserWaitTask.d.ts +1 -1
  54. package/dist/task/tasks/BrowserWaitTask.d.ts.map +1 -1
  55. package/dist/task.js +53 -26
  56. package/dist/task.js.map +28 -28
  57. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserUploadTask.d.ts","sourceRoot":"","sources":["../../../src/task/tasks/BrowserUploadTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,eAAe,EACf,IAAI,EACJ,UAAU,EAEV,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAWnE,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAEjD,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,SAAS;qBACP,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,YAAY;qBACnB,WAAW,EAAE,4BAA4B;;iBAE3C,GAAG;qBACD,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,aAAa;qBACpB,WAAW,EAAE,+CAA+C;;iBAE9D,SAAS;qBACP,IAAI,EAAE,OAAO;qBACb,KAAK;yBACH,IAAI,EAAE,QAAQ;;qBAEhB,KAAK,EAAE,YAAY;qBACnB,WAAW,EAAE,gCAAgC;;;;;CAKhB,CAAC;AAEpC,QAAA,MAAM,YAAY;mBACV,QAAQ;;iBAEZ,SAAS;qBACP,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,YAAY;qBACnB,WAAW,EAAE,wBAAwB;;;;;CAKR,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AACpE,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtE,qBAAa,iBAAkB,SAAQ,IAAI,CACzC,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,CACxB;IACC,gBAAyB,IAAI,uBAAuB;IACpD,gBAAyB,QAAQ,aAAa;IAC9C,OAAuB,KAAK,SAAoB;IAChD,OAAuB,WAAW,SACmC;IACrE,gBAAyB,SAAS,SAAS;IAE3C,OAAuB,YAAY,IAAI,gBAAgB,CAMtD;IAED,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAED,OAAgB,WAAW;uBAjErB,QAAQ;;qBAEZ,SAAS;yBACP,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,YAAY;yBACnB,WAAW,EAAE,4BAA4B;;qBAE3C,GAAG;yBACD,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,aAAa;yBACpB,WAAW,EAAE,+CAA+C;;qBAE9D,SAAS;yBACP,IAAI,EAAE,OAAO;yBACb,KAAK;6BACH,IAAI,EAAE,QAAQ;;yBAEhB,KAAK,EAAE,YAAY;yBACnB,WAAW,EAAE,gCAAgC;;;;;MAiDhD;IAED,OAAgB,YAAY;uBA3CtB,QAAQ;;qBAEZ,SAAS;yBACP,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,YAAY;yBACnB,WAAW,EAAE,wBAAwB;;;;;MAwCxC;IAEc,OAAO,CACpB,KAAK,EAAE,sBAAsB,EAC7B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,uBAAuB,CAAC,CAIlC;CACF"}
1
+ {"version":3,"file":"BrowserUploadTask.d.ts","sourceRoot":"","sources":["../../../src/task/tasks/BrowserUploadTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,eAAe,EACf,IAAI,EACJ,UAAU,EAEV,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAWnE,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAEjD,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,SAAS;qBACP,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,YAAY;qBACnB,WAAW,EAAE,4BAA4B;;iBAE3C,GAAG;qBACD,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,aAAa;qBACpB,WAAW,EAAE,+CAA+C;;iBAE9D,SAAS;qBACP,IAAI,EAAE,OAAO;qBACb,KAAK;yBACH,IAAI,EAAE,QAAQ;;qBAEhB,KAAK,EAAE,YAAY;qBACnB,WAAW,EAAE,gCAAgC;;;;;CAKhB,CAAC;AAEpC,QAAA,MAAM,YAAY;mBACV,QAAQ;;iBAEZ,SAAS;qBACP,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,YAAY;qBACnB,WAAW,EAAE,wBAAwB;;;;;CAKR,CAAC;AAEpC,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AACpE,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtE,qBAAa,iBAAkB,SAAQ,IAAI,CACzC,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,CACxB;IACC,gBAAyB,IAAI,uBAAuB;IACpD,gBAAyB,QAAQ,aAAa;IAC9C,OAAuB,KAAK,SAAoB;IAChD,OAAuB,WAAW,SACmC;IACrE,gBAAyB,SAAS,SAAS;IAE3C,OAAuB,YAAY,IAAI,gBAAgB,CAMtD;IAED,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAED,OAAgB,WAAW;uBAjErB,QAAQ;;qBAEZ,SAAS;yBACP,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,YAAY;yBACnB,WAAW,EAAE,4BAA4B;;qBAE3C,GAAG;yBACD,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,aAAa;yBACpB,WAAW,EAAE,+CAA+C;;qBAE9D,SAAS;yBACP,IAAI,EAAE,OAAO;yBACb,KAAK;6BACH,IAAI,EAAE,QAAQ;;yBAEhB,KAAK,EAAE,YAAY;yBACnB,WAAW,EAAE,gCAAgC;;;;;MAiDhD;IAED,OAAgB,YAAY;uBA3CtB,QAAQ;;qBAEZ,SAAS;yBACP,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,YAAY;yBACnB,WAAW,EAAE,wBAAwB;;;;;MAwCxC;IAEc,OAAO,CACpB,KAAK,EAAE,sBAAsB,EAC7B,cAAc,EAAE,eAAe,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CAKlC;CACF"}
@@ -67,7 +67,7 @@ export declare class BrowserWaitTask extends Task<BrowserWaitTaskInput, BrowserW
67
67
  readonly required: readonly ["sessionId"];
68
68
  readonly additionalProperties: false;
69
69
  };
70
- execute(input: BrowserWaitTaskInput, _executeContext: IExecuteContext): Promise<BrowserWaitTaskOutput>;
70
+ execute(input: BrowserWaitTaskInput, executeContext: IExecuteContext): Promise<BrowserWaitTaskOutput>;
71
71
  }
72
72
  export {};
73
73
  //# sourceMappingURL=BrowserWaitTask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserWaitTask.d.ts","sourceRoot":"","sources":["../../../src/task/tasks/BrowserWaitTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA6BnE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG;IAC/C,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,SAAS;qBACP,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,YAAY;qBACnB,WAAW,EAAE,4BAA4B;;;;;CAKZ,CAAC;AAEpC,QAAA,MAAM,YAAY;mBACV,QAAQ;;iBAEZ,SAAS;qBACP,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,YAAY;qBACnB,WAAW,EAAE,wBAAwB;;;;;CAKR,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClE,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEpE,qBAAa,eAAgB,SAAQ,IAAI,CACvC,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,CACtB;IACC,gBAAyB,IAAI,qBAAqB;IAClD,gBAAyB,QAAQ,aAAa;IAC9C,OAAuB,KAAK,SAAkB;IAC9C,OAAuB,WAAW,SACyC;IAC3E,gBAAyB,SAAS,SAAS;IAE3C,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAED,OAAgB,WAAW;uBA5CrB,QAAQ;;qBAEZ,SAAS;yBACP,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,YAAY;yBACnB,WAAW,EAAE,4BAA4B;;;;;MAyC5C;IAED,OAAgB,YAAY;uBAnCtB,QAAQ;;qBAEZ,SAAS;yBACP,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,YAAY;yBACnB,WAAW,EAAE,wBAAwB;;;;;MAgCxC;IAEc,OAAO,CACpB,KAAK,EAAE,oBAAoB,EAC3B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAuBhC;CACF"}
1
+ {"version":3,"file":"BrowserWaitTask.d.ts","sourceRoot":"","sources":["../../../src/task/tasks/BrowserWaitTask.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AA6BnE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG;IAC/C,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,WAAW;mBACT,QAAQ;;iBAEZ,SAAS;qBACP,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,YAAY;qBACnB,WAAW,EAAE,4BAA4B;;;;;CAKZ,CAAC;AAEpC,QAAA,MAAM,YAAY;mBACV,QAAQ;;iBAEZ,SAAS;qBACP,IAAI,EAAE,QAAQ;qBACd,KAAK,EAAE,YAAY;qBACnB,WAAW,EAAE,wBAAwB;;;;;CAKR,CAAC;AAEpC,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClE,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAEpE,qBAAa,eAAgB,SAAQ,IAAI,CACvC,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,CACtB;IACC,gBAAyB,IAAI,qBAAqB;IAClD,gBAAyB,QAAQ,aAAa;IAC9C,OAAuB,KAAK,SAAkB;IAC9C,OAAuB,WAAW,SACyC;IAC3E,gBAAyB,SAAS,SAAS;IAE3C,OAAuB,YAAY,IAAI,cAAc,CAEpD;IAED,OAAgB,WAAW;uBA5CrB,QAAQ;;qBAEZ,SAAS;yBACP,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,YAAY;yBACnB,WAAW,EAAE,4BAA4B;;;;;MAyC5C;IAED,OAAgB,YAAY;uBAnCtB,QAAQ;;qBAEZ,SAAS;yBACP,IAAI,EAAE,QAAQ;yBACd,KAAK,EAAE,YAAY;yBACnB,WAAW,EAAE,wBAAwB;;;;;MAgCxC;IAEc,OAAO,CACpB,KAAK,EAAE,oBAAoB,EAC3B,cAAc,EAAE,eAAe,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAwBhC;CACF"}
package/dist/task.js CHANGED
@@ -685,10 +685,12 @@ class BrowserSessionTask extends Task {
685
685
  const ctx = deps.createContext(options);
686
686
  await ctx.connect(options);
687
687
  const sessionId = BrowserSessionRegistry.register(ctx);
688
- executeContext.resourceScope?.register(`browser:${sessionId}`, async () => {
688
+ const resourceKey = `browser:${sessionId}`;
689
+ executeContext.resourceScope?.register(resourceKey, async () => {
689
690
  await ctx.disconnect();
690
691
  BrowserSessionRegistry.unregister(sessionId);
691
692
  });
693
+ executeContext.resourceScope?.touch(resourceKey);
692
694
  return { sessionId };
693
695
  }
694
696
  }
@@ -727,7 +729,8 @@ class BrowserCloseTask extends Task2 {
727
729
  static outputSchema() {
728
730
  return outputSchema2;
729
731
  }
730
- async execute(input, _executeContext) {
732
+ async execute(input, executeContext) {
733
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
731
734
  const ctx = BrowserSessionRegistry.get(input.sessionId);
732
735
  await ctx.disconnect();
733
736
  BrowserSessionRegistry.unregister(input.sessionId);
@@ -817,7 +820,8 @@ class BrowserNavigateTask extends Task3 {
817
820
  ]
818
821
  };
819
822
  }
820
- async execute(input, _executeContext) {
823
+ async execute(input, executeContext) {
824
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
821
825
  const parsed = new URL(input.url, "https://placeholder");
822
826
  if (parsed.protocol === "javascript:") {
823
827
  throw new Error("BrowserNavigateTask: javascript: URLs are not allowed");
@@ -877,7 +881,8 @@ class BrowserBackTask extends Task4 {
877
881
  static outputSchema() {
878
882
  return outputSchema4;
879
883
  }
880
- async execute(input, _executeContext) {
884
+ async execute(input, executeContext) {
885
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
881
886
  const ctx = BrowserSessionRegistry.get(input.sessionId);
882
887
  await ctx.goBack();
883
888
  const url = await ctx.currentUrl();
@@ -931,7 +936,8 @@ class BrowserForwardTask extends Task5 {
931
936
  static outputSchema() {
932
937
  return outputSchema5;
933
938
  }
934
- async execute(input, _executeContext) {
939
+ async execute(input, executeContext) {
940
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
935
941
  const ctx = BrowserSessionRegistry.get(input.sessionId);
936
942
  await ctx.goForward();
937
943
  const url = await ctx.currentUrl();
@@ -980,7 +986,8 @@ class BrowserReloadTask extends Task6 {
980
986
  static outputSchema() {
981
987
  return outputSchema6;
982
988
  }
983
- async execute(input, _executeContext) {
989
+ async execute(input, executeContext) {
990
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
984
991
  const ctx = BrowserSessionRegistry.get(input.sessionId);
985
992
  await ctx.reload();
986
993
  return { sessionId: input.sessionId };
@@ -1034,7 +1041,8 @@ class BrowserSnapshotTask extends Task7 {
1034
1041
  static outputSchema() {
1035
1042
  return outputSchema7;
1036
1043
  }
1037
- async execute(input, _executeContext) {
1044
+ async execute(input, executeContext) {
1045
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1038
1046
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1039
1047
  const tree = await ctx.snapshot();
1040
1048
  return { sessionId: input.sessionId, tree };
@@ -1108,7 +1116,8 @@ class BrowserScreenshotTask extends Task8 {
1108
1116
  static outputSchema() {
1109
1117
  return outputSchema8;
1110
1118
  }
1111
- async execute(input, _executeContext) {
1119
+ async execute(input, executeContext) {
1120
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1112
1121
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1113
1122
  const format = this.config.format ?? "png";
1114
1123
  const fullPage = this.config.fullPage ?? false;
@@ -1189,7 +1198,8 @@ class BrowserClickTask extends Task9 {
1189
1198
  static outputSchema() {
1190
1199
  return outputSchema9;
1191
1200
  }
1192
- async execute(input, _executeContext) {
1201
+ async execute(input, executeContext) {
1202
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1193
1203
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1194
1204
  const opts = this.config.modifiers ? { modifiers: this.config.modifiers } : undefined;
1195
1205
  if (input.ref) {
@@ -1272,7 +1282,8 @@ class BrowserFillTask extends Task10 {
1272
1282
  static outputSchema() {
1273
1283
  return outputSchema10;
1274
1284
  }
1275
- async execute(input, _executeContext) {
1285
+ async execute(input, executeContext) {
1286
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1276
1287
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1277
1288
  if (input.ref) {
1278
1289
  await ctx.fill(input.ref, input.value);
@@ -1341,7 +1352,8 @@ class BrowserSelectTask extends Task11 {
1341
1352
  static outputSchema() {
1342
1353
  return outputSchema11;
1343
1354
  }
1344
- async execute(input, _executeContext) {
1355
+ async execute(input, executeContext) {
1356
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1345
1357
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1346
1358
  if (input.ref) {
1347
1359
  await ctx.selectOption(input.ref, input.value);
@@ -1408,7 +1420,8 @@ class BrowserHoverTask extends Task12 {
1408
1420
  static outputSchema() {
1409
1421
  return outputSchema12;
1410
1422
  }
1411
- async execute(input, _executeContext) {
1423
+ async execute(input, executeContext) {
1424
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1412
1425
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1413
1426
  if (input.ref) {
1414
1427
  await ctx.hover(input.ref);
@@ -1477,7 +1490,8 @@ class BrowserExtractTextTask extends Task13 {
1477
1490
  static outputSchema() {
1478
1491
  return outputSchema13;
1479
1492
  }
1480
- async execute(input, _executeContext) {
1493
+ async execute(input, executeContext) {
1494
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1481
1495
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1482
1496
  let ref = this.config.ref;
1483
1497
  if (!ref) {
@@ -1555,7 +1569,8 @@ class BrowserExtractHtmlTask extends Task14 {
1555
1569
  static outputSchema() {
1556
1570
  return outputSchema14;
1557
1571
  }
1558
- async execute(input, _executeContext) {
1572
+ async execute(input, executeContext) {
1573
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1559
1574
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1560
1575
  let ref = this.config.ref;
1561
1576
  if (!ref) {
@@ -1629,7 +1644,8 @@ class BrowserAttributeTask extends Task15 {
1629
1644
  static outputSchema() {
1630
1645
  return outputSchema15;
1631
1646
  }
1632
- async execute(input, _executeContext) {
1647
+ async execute(input, executeContext) {
1648
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1633
1649
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1634
1650
  const value = await ctx.attribute(input.ref, input.attribute);
1635
1651
  return { sessionId: input.sessionId, value };
@@ -1688,7 +1704,8 @@ class BrowserQuerySelectorTask extends Task16 {
1688
1704
  static outputSchema() {
1689
1705
  return outputSchema16;
1690
1706
  }
1691
- async execute(input, _executeContext) {
1707
+ async execute(input, executeContext) {
1708
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1692
1709
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1693
1710
  const refs = await ctx.querySelectorAll(input.selector);
1694
1711
  return { sessionId: input.sessionId, refs };
@@ -1759,7 +1776,8 @@ class BrowserEvaluateTask extends Task17 {
1759
1776
  ]
1760
1777
  };
1761
1778
  }
1762
- async execute(input, _executeContext) {
1779
+ async execute(input, executeContext) {
1780
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1763
1781
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1764
1782
  const result = await ctx.evaluate(input.expression);
1765
1783
  return { sessionId: input.sessionId, result };
@@ -1832,7 +1850,8 @@ class BrowserPressKeyTask extends Task18 {
1832
1850
  const modifiers = this.config.modifiers?.filter(Boolean) ?? [];
1833
1851
  return modifiers.length > 0 ? `${modifiers.join("+")}+${key}` : key;
1834
1852
  }
1835
- async execute(input, _executeContext) {
1853
+ async execute(input, executeContext) {
1854
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1836
1855
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1837
1856
  await ctx.pressKey(this.buildKeyChord(input.key));
1838
1857
  return { sessionId: input.sessionId };
@@ -1892,7 +1911,8 @@ class BrowserTypeTask extends Task19 {
1892
1911
  static outputSchema() {
1893
1912
  return outputSchema19;
1894
1913
  }
1895
- async execute(input, _executeContext) {
1914
+ async execute(input, executeContext) {
1915
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1896
1916
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1897
1917
  await ctx.type(input.text);
1898
1918
  return { sessionId: input.sessionId };
@@ -1964,7 +1984,8 @@ class BrowserScrollTask extends Task20 {
1964
1984
  static outputSchema() {
1965
1985
  return outputSchema20;
1966
1986
  }
1967
- async execute(input, _executeContext) {
1987
+ async execute(input, executeContext) {
1988
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
1968
1989
  const ctx = BrowserSessionRegistry.get(input.sessionId);
1969
1990
  await ctx.scroll(this.config.x ?? 0, this.config.y ?? 0, this.config.ref);
1970
1991
  return { sessionId: input.sessionId };
@@ -2043,7 +2064,8 @@ class BrowserUploadTask extends Task21 {
2043
2064
  static outputSchema() {
2044
2065
  return outputSchema21;
2045
2066
  }
2046
- async execute(input, _executeContext) {
2067
+ async execute(input, executeContext) {
2068
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
2047
2069
  const ctx = BrowserSessionRegistry.get(input.sessionId);
2048
2070
  await ctx.uploadFile(input.ref, input.filePaths);
2049
2071
  return { sessionId: input.sessionId };
@@ -2116,7 +2138,8 @@ class BrowserWaitTask extends Task22 {
2116
2138
  static outputSchema() {
2117
2139
  return outputSchema22;
2118
2140
  }
2119
- async execute(input, _executeContext) {
2141
+ async execute(input, executeContext) {
2142
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
2120
2143
  const ctx = BrowserSessionRegistry.get(input.sessionId);
2121
2144
  const waitFor = this.config.waitFor ?? "idle";
2122
2145
  const timeout = this.config.timeout ?? 30000;
@@ -2198,7 +2221,8 @@ class BrowserNewTabTask extends Task23 {
2198
2221
  static outputSchema() {
2199
2222
  return outputSchema23;
2200
2223
  }
2201
- async execute(input, _executeContext) {
2224
+ async execute(input, executeContext) {
2225
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
2202
2226
  const ctx = BrowserSessionRegistry.get(input.sessionId);
2203
2227
  const tabInfo = await ctx.newTab(input.url);
2204
2228
  return { sessionId: input.sessionId, tabId: tabInfo.tabId };
@@ -2258,7 +2282,8 @@ class BrowserSwitchTabTask extends Task24 {
2258
2282
  static outputSchema() {
2259
2283
  return outputSchema24;
2260
2284
  }
2261
- async execute(input, _executeContext) {
2285
+ async execute(input, executeContext) {
2286
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
2262
2287
  const ctx = BrowserSessionRegistry.get(input.sessionId);
2263
2288
  await ctx.switchTab(input.tabId);
2264
2289
  return { sessionId: input.sessionId };
@@ -2318,7 +2343,8 @@ class BrowserCloseTabTask extends Task25 {
2318
2343
  static outputSchema() {
2319
2344
  return outputSchema25;
2320
2345
  }
2321
- async execute(input, _executeContext) {
2346
+ async execute(input, executeContext) {
2347
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
2322
2348
  if (!this.config.tabId) {
2323
2349
  throw new Error("BrowserCloseTabTask requires config.tabId");
2324
2350
  }
@@ -2422,6 +2448,7 @@ class BrowserLoginTask extends Task26 {
2422
2448
  return base;
2423
2449
  }
2424
2450
  async execute(input, executeContext) {
2451
+ executeContext.resourceScope?.touch(`browser:${input.sessionId}`);
2425
2452
  const parsed = new URL(input.url, "https://placeholder");
2426
2453
  if (parsed.protocol === "javascript:") {
2427
2454
  throw new Error("BrowserLoginTask: javascript: URLs are not allowed");
@@ -2476,4 +2503,4 @@ export {
2476
2503
  BROWSER_CONTROL_TASK_DEPS
2477
2504
  };
2478
2505
 
2479
- //# debugId=BB75C3F860F618D964756E2164756E21
2506
+ //# debugId=4BCEBA1081A3483064756E2164756E21