donobu 2.27.1 → 2.27.2

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 (59) hide show
  1. package/dist/apis/FlowsApi.d.ts.map +1 -1
  2. package/dist/apis/FlowsApi.js +12 -3
  3. package/dist/apis/FlowsApi.js.map +1 -1
  4. package/dist/assets/generated/version +1 -1
  5. package/dist/esm/apis/FlowsApi.d.ts.map +1 -1
  6. package/dist/esm/apis/FlowsApi.js +12 -3
  7. package/dist/esm/apis/FlowsApi.js.map +1 -1
  8. package/dist/esm/assets/generated/version +1 -1
  9. package/dist/esm/lib/utils/selfHealing.d.ts.map +1 -1
  10. package/dist/esm/lib/utils/selfHealing.js +6 -2
  11. package/dist/esm/lib/utils/selfHealing.js.map +1 -1
  12. package/dist/esm/managers/CodeGenerator.d.ts +34 -0
  13. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  14. package/dist/esm/managers/CodeGenerator.js +124 -13
  15. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  16. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  17. package/dist/esm/managers/DonobuFlow.js +6 -4
  18. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  19. package/dist/esm/managers/DonobuFlowsManager.d.ts +6 -6
  20. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  21. package/dist/esm/managers/DonobuFlowsManager.js +7 -72
  22. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  23. package/dist/esm/managers/ToolManager.js +2 -2
  24. package/dist/esm/managers/ToolManager.js.map +1 -1
  25. package/dist/esm/models/CodeGenerationOptions.d.ts +13 -0
  26. package/dist/esm/models/CodeGenerationOptions.d.ts.map +1 -0
  27. package/dist/esm/models/CodeGenerationOptions.js +9 -0
  28. package/dist/esm/models/CodeGenerationOptions.js.map +1 -0
  29. package/dist/esm/tools/InputRandomizedEmailAddressTool.d.ts +6 -6
  30. package/dist/esm/tools/ReplayableInteraction.d.ts +100 -5
  31. package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
  32. package/dist/esm/tools/ReplayableInteraction.js +133 -2
  33. package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
  34. package/dist/lib/utils/selfHealing.d.ts.map +1 -1
  35. package/dist/lib/utils/selfHealing.js +6 -2
  36. package/dist/lib/utils/selfHealing.js.map +1 -1
  37. package/dist/managers/CodeGenerator.d.ts +34 -0
  38. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  39. package/dist/managers/CodeGenerator.js +124 -13
  40. package/dist/managers/CodeGenerator.js.map +1 -1
  41. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  42. package/dist/managers/DonobuFlow.js +6 -4
  43. package/dist/managers/DonobuFlow.js.map +1 -1
  44. package/dist/managers/DonobuFlowsManager.d.ts +6 -6
  45. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  46. package/dist/managers/DonobuFlowsManager.js +7 -72
  47. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  48. package/dist/managers/ToolManager.js +2 -2
  49. package/dist/managers/ToolManager.js.map +1 -1
  50. package/dist/models/CodeGenerationOptions.d.ts +13 -0
  51. package/dist/models/CodeGenerationOptions.d.ts.map +1 -0
  52. package/dist/models/CodeGenerationOptions.js +9 -0
  53. package/dist/models/CodeGenerationOptions.js.map +1 -0
  54. package/dist/tools/InputRandomizedEmailAddressTool.d.ts +6 -6
  55. package/dist/tools/ReplayableInteraction.d.ts +100 -5
  56. package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
  57. package/dist/tools/ReplayableInteraction.js +133 -2
  58. package/dist/tools/ReplayableInteraction.js.map +1 -1
  59. package/package.json +1 -1
@@ -6,11 +6,11 @@ export declare const InputRandomizedEmailAddressCoreSchema: z.ZodObject<{
6
6
  baseEmail: z.ZodString;
7
7
  finalizeWithSubmit: z.ZodBoolean;
8
8
  }, "strip", z.ZodTypeAny, {
9
- finalizeWithSubmit: boolean;
10
9
  baseEmail: string;
11
- }, {
12
10
  finalizeWithSubmit: boolean;
11
+ }, {
13
12
  baseEmail: string;
13
+ finalizeWithSubmit: boolean;
14
14
  }>;
15
15
  export declare const InputRandomizedEmailAddressNonGptSchema: z.ZodObject<{
16
16
  selector: z.ZodObject<{
@@ -31,15 +31,15 @@ export declare const InputRandomizedEmailAddressNonGptSchema: z.ZodObject<{
31
31
  frame: string | null;
32
32
  element: string[];
33
33
  };
34
- finalizeWithSubmit: boolean;
35
34
  baseEmail: string;
35
+ finalizeWithSubmit: boolean;
36
36
  }, {
37
37
  selector: {
38
38
  frame: string | null;
39
39
  element: string[];
40
40
  };
41
- finalizeWithSubmit: boolean;
42
41
  baseEmail: string;
42
+ finalizeWithSubmit: boolean;
43
43
  }>;
44
44
  export declare const InputRandomizedEmailAddressGptSchema: z.ZodObject<{
45
45
  rationale: z.ZodString;
@@ -53,14 +53,14 @@ export declare const InputRandomizedEmailAddressGptSchema: z.ZodObject<{
53
53
  annotation: string;
54
54
  rationale: string;
55
55
  whyThisAnnotation: string;
56
- finalizeWithSubmit: boolean;
57
56
  baseEmail: string;
57
+ finalizeWithSubmit: boolean;
58
58
  }, {
59
59
  annotation: string;
60
60
  rationale: string;
61
61
  whyThisAnnotation: string;
62
- finalizeWithSubmit: boolean;
63
62
  baseEmail: string;
63
+ finalizeWithSubmit: boolean;
64
64
  }>;
65
65
  export declare class InputRandomizedEmailAddressTool extends ReplayableInteraction<typeof InputRandomizedEmailAddressCoreSchema, typeof InputRandomizedEmailAddressNonGptSchema, typeof InputRandomizedEmailAddressGptSchema> {
66
66
  static readonly NAME = "inputRandomizedEmailAddress";
@@ -3,6 +3,17 @@ import { ToolCallContext } from '../models/ToolCallContext';
3
3
  import { ToolCallResult } from '../models/ToolCallResult';
4
4
  import { Tool } from './Tool';
5
5
  import { z } from 'zod';
6
+ import { ProposedToolCall } from '../models/ProposedToolCall';
7
+ import { ToolCall } from '../main';
8
+ import { CodeGenerationOptions } from '../models/CodeGenerationOptions';
9
+ /**
10
+ * Schema containing the minimal, deterministic selector information
11
+ * necessary to -locate an element on the page.
12
+ *
13
+ * Used when a human or an autonomous run has already produced an exact
14
+ * `{ frame, element }` selector pair and we simply want to replay that
15
+ * interaction without any involvement from an LLM.
16
+ */
6
17
  export declare const SelectorBasedSchema: z.ZodObject<{
7
18
  selector: z.ZodObject<{
8
19
  element: z.ZodArray<z.ZodString, "many">;
@@ -25,6 +36,19 @@ export declare const SelectorBasedSchema: z.ZodObject<{
25
36
  element: string[];
26
37
  };
27
38
  }>;
39
+ /**
40
+ * Schema used when the LLM chooses an element by its numbered Donobu
41
+ * annotation.
42
+ *
43
+ * The LLM supplies:
44
+ * * `annotation - the chosen annotation number rendered in the
45
+ * Donobu overlay.
46
+ * * `whyThisAnnotation - a natural-language explanation that is surfaced
47
+ * to users (and logged) to aid debugging and transparency.
48
+ *
49
+ * During replay these two properties are stripped out and replaced by a
50
+ * deterministic selector derived from the element actually found on-screen.
51
+ */
28
52
  export declare const AnnotationBasedSchema: z.ZodObject<{
29
53
  rationale: z.ZodString;
30
54
  } & {
@@ -47,8 +71,38 @@ type SelectorLocator = {
47
71
  locator: Locator;
48
72
  };
49
73
  /**
50
- * Tools that specify a numbered Donobu annotation to indicate which element to
51
- * interact with and support deterministic reruns should extend this interface.
74
+ * Abstract base class for all “selector-driven” browser interactions that
75
+ * can be *replayed deterministically*.
76
+ *
77
+ * A concrete subclass represents a single kind of user action (e.g.
78
+ * clicking, typing, etc). The class handles the tedious parts:
79
+ *
80
+ * 1. **Element discovery.**
81
+ * From a set of candidate CSS selectors (and an optional frame selector)
82
+ * it produces one or more `Locator` objects ordered by how specific they
83
+ * are. The first uniquely matching locator is preferred.
84
+ *
85
+ * 2. **Resilience.**
86
+ * When an element is missing, off-screen, or quickly detaches, the class
87
+ * automatically falls back to the next best locator until all options are
88
+ * exhausted.
89
+ *
90
+ * 3. **Replay support.**
91
+ * Every successful call stores selector metadata inside the returned
92
+ * {@link ToolCallResult}. The static {@link remapForRerun} helper can
93
+ * later turn that metadata into a fresh {@link ProposedToolCall} so the
94
+ * exact same element can be located in a future run without LLM input.
95
+ *
96
+ * ### Type Parameters
97
+ * | Name | Meaning |
98
+ * |----------------|----------------------------------------------------------------------------|
99
+ * | `CoreSchema` | Zod schema describing *core* parameters consumed by the concrete tool |
100
+ * | `NonGptSchema` | Schema for deterministic invocations (extends {@link SelectorBasedSchema}) |
101
+ * | `GptSchema` | Schema for LLM-driven invocations (extends {@link AnnotationBasedSchema}) |
102
+ *
103
+ * Subclasses **only** need to implement {@link invoke}, which receives a
104
+ * *resolved* locator and may perform the actual browser operation (e.g.
105
+ * click, type, etc).
52
106
  */
53
107
  export declare abstract class ReplayableInteraction<CoreSchema extends z.ZodObject<any>, NonGptSchema extends typeof SelectorBasedSchema, GptSchema extends typeof AnnotationBasedSchema> extends Tool<NonGptSchema, GptSchema> {
54
108
  readonly coreSchema: CoreSchema;
@@ -57,9 +111,14 @@ export declare abstract class ReplayableInteraction<CoreSchema extends z.ZodObje
57
111
  call(context: ToolCallContext, parameters: z.infer<NonGptSchema>): Promise<ToolCallResult>;
58
112
  callFromGpt(context: ToolCallContext, parameters: z.infer<GptSchema>): Promise<ToolCallResult>;
59
113
  /**
60
- * Apply an operation to the given element. The returned string will be
61
- * concatonated with the HTML snippet of the given element and passed back to
62
- * the LLM.
114
+ * **Concrete subclasses implement the actual user action here.**
115
+ *
116
+ * @param context - The active {@link ToolCallContext}.
117
+ * @param parameter - The validated *core* parameters for this tool.
118
+ * @param elemen - A Playwright `Locator` that is guaranteed to reference
119
+ * a *single* DOM element (or its associated `<label>`).
120
+ * @returns A string that will be prepended to an HTML snippet and surfaced
121
+ * to the LLM (e.g. “CLICKED OK <button>”).
63
122
  */
64
123
  protected abstract invoke(context: ToolCallContext, parameters: z.infer<CoreSchema>, element: Locator): Promise<string>;
65
124
  private callCore;
@@ -99,6 +158,42 @@ export declare abstract class ReplayableInteraction<CoreSchema extends z.ZodObje
99
158
  * reliable and specific for targeting elements in a user interface.
100
159
  */
101
160
  static selectorTiebreakerPriority(sel: string): number;
161
+ /**
162
+ * Transform a historical {@link ToolCall} into a replay-ready
163
+ * {@link ProposedToolCall}.
164
+ *
165
+ * The original execution stored selector metadata inside
166
+ * `toolCall.outcome.metadata`. This helper:
167
+ *
168
+ * 1. **Validates** that the metadata is present and still contains a
169
+ * deterministic selector.
170
+ * 2. **Builds** a new `parameters` object which:
171
+ * * Moves the recorded selector into the expected `selector` slot.
172
+ * * Removes any `annotation` / `whyThisAnnotation` properties (they are
173
+ * meaningless for deterministic replays).
174
+ * 3. **Returns** a ready-to-run {@link ProposedToolCall} that points to the
175
+ * same tool (`toolName`) with the adjusted parameters.
176
+ *
177
+ * If the historical call did **not** record selector metadata, replaying
178
+ * would be impossible and the method throws an `Error` so the caller can
179
+ * handle this situation explicitly (e.g. fall back to a fresh LLM
180
+ * invocation or surface an error to the user).
181
+ *
182
+ * @param toolCall - The historical {@link ToolCall}.
183
+ * @param options - Behaviour switches:
184
+ * * `areElementIdsVolatile` - If `true`, ID-only selectors
185
+ * (e.g. `#submit-btn`) are *dropped* because the element’s `id`
186
+ * attribute is considered volatile.
187
+ * When every candidate is ID-based the list is left unchanged
188
+ * (replay is better than nothing).
189
+ * * `useSelectorFailover` - If `false`, only the **first** selector
190
+ * (the most specific one) is kept, disabling automatic fail-over to
191
+ * broader selectors.
192
+ *
193
+ * @returns A {@link ProposedToolCall} that can be executed in a fresh run.
194
+ * @throws Error if the original call lacks selector metadata.
195
+ */
196
+ static prepareToolCallForRerun(toolCall: ToolCall, options: CodeGenerationOptions): ProposedToolCall;
102
197
  }
103
198
  export {};
104
199
  //# sourceMappingURL=ReplayableInteraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReplayableInteraction.d.ts","sourceRoot":"","sources":["../../../src/tools/ReplayableInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAQ9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAE9B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;EAOhC,CAAC;AAEH;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,qBAAqB,CACzC,UAAU,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EACnC,YAAY,SAAS,OAAO,mBAAmB,EAC/C,SAAS,SAAS,OAAO,qBAAqB,CAC9C,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;aAMnB,UAAU,EAAE,UAAU;IALxC,gBAAuB,uBAAuB,KAAK;gBAGjD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACH,UAAU,EAAE,UAAU,EACtC,WAAW,EAAE,YAAY,EACzB,iBAAiB,EAAE,SAAS,EAC5B,WAAW,UAAQ;IAKC,IAAI,CACxB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAChC,OAAO,CAAC,cAAc,CAAC;IAmBb,WAAW,CACtB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,cAAc,CAAC;IA0D1B;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAC/B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;YAEJ,QAAQ;IAkGtB;;;;;;;;;;;;;;;;;;;;;OAqBG;WACU,8BAA8B,CACzC,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,kBAAkB,EAAE,MAAM,EAAE,GAC3B,OAAO,CAAC,eAAe,EAAE,CAAC;IAuG7B;;;OAGG;WACU,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA4IrE;;;;;;OAMG;IACH,MAAM,CAAC,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CA0BvD"}
1
+ {"version":3,"file":"ReplayableInteraction.d.ts","sourceRoot":"","sources":["../../../src/tools/ReplayableInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAQ9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAE9B,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;EAOhC,CAAC;AAEH;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,8BAAsB,qBAAqB,CACzC,UAAU,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EACnC,YAAY,SAAS,OAAO,mBAAmB,EAC/C,SAAS,SAAS,OAAO,qBAAqB,CAC9C,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;aAMnB,UAAU,EAAE,UAAU;IALxC,gBAAuB,uBAAuB,KAAK;gBAGjD,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACH,UAAU,EAAE,UAAU,EACtC,WAAW,EAAE,YAAY,EACzB,iBAAiB,EAAE,SAAS,EAC5B,WAAW,UAAQ;IAKC,IAAI,CACxB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAChC,OAAO,CAAC,cAAc,CAAC;IAmBb,WAAW,CACtB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAC7B,OAAO,CAAC,cAAc,CAAC;IA0D1B;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAC/B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;YAEJ,QAAQ;IAkGtB;;;;;;;;;;;;;;;;;;;;;OAqBG;WACU,8BAA8B,CACzC,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,kBAAkB,EAAE,MAAM,EAAE,GAC3B,OAAO,CAAC,eAAe,EAAE,CAAC;IAuG7B;;;OAGG;WACU,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA4IrE;;;;;;OAMG;IACH,MAAM,CAAC,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IA2BtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;WACW,uBAAuB,CACnC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,qBAAqB,GAC7B,gBAAgB;CA8DpB"}
@@ -8,9 +8,30 @@ const Logger_1 = require("../utils/Logger");
8
8
  const PageClosedException_1 = require("../exceptions/PageClosedException");
9
9
  const ToolSchema_1 = require("../models/ToolSchema");
10
10
  const zod_1 = require("zod");
11
+ /**
12
+ * Schema containing the minimal, deterministic selector information
13
+ * necessary to -locate an element on the page.
14
+ *
15
+ * Used when a human or an autonomous run has already produced an exact
16
+ * `{ frame, element }` selector pair and we simply want to replay that
17
+ * interaction without any involvement from an LLM.
18
+ */
11
19
  exports.SelectorBasedSchema = zod_1.z.object({
12
20
  selector: ElementSelector_1.ElementSelectorSchema,
13
21
  });
22
+ /**
23
+ * Schema used when the LLM chooses an element by its numbered Donobu
24
+ * annotation.
25
+ *
26
+ * The LLM supplies:
27
+ * * `annotation - the chosen annotation number rendered in the
28
+ * Donobu overlay.
29
+ * * `whyThisAnnotation - a natural-language explanation that is surfaced
30
+ * to users (and logged) to aid debugging and transparency.
31
+ *
32
+ * During replay these two properties are stripped out and replaced by a
33
+ * deterministic selector derived from the element actually found on-screen.
34
+ */
14
35
  exports.AnnotationBasedSchema = ToolSchema_1.BaseGptArgsSchema.extend({
15
36
  whyThisAnnotation: zod_1.z
16
37
  .string()
@@ -20,8 +41,38 @@ exports.AnnotationBasedSchema = ToolSchema_1.BaseGptArgsSchema.extend({
20
41
  .describe('The numbered annotation of the element to click.'),
21
42
  });
22
43
  /**
23
- * Tools that specify a numbered Donobu annotation to indicate which element to
24
- * interact with and support deterministic reruns should extend this interface.
44
+ * Abstract base class for all “selector-driven” browser interactions that
45
+ * can be *replayed deterministically*.
46
+ *
47
+ * A concrete subclass represents a single kind of user action (e.g.
48
+ * clicking, typing, etc). The class handles the tedious parts:
49
+ *
50
+ * 1. **Element discovery.**
51
+ * From a set of candidate CSS selectors (and an optional frame selector)
52
+ * it produces one or more `Locator` objects ordered by how specific they
53
+ * are. The first uniquely matching locator is preferred.
54
+ *
55
+ * 2. **Resilience.**
56
+ * When an element is missing, off-screen, or quickly detaches, the class
57
+ * automatically falls back to the next best locator until all options are
58
+ * exhausted.
59
+ *
60
+ * 3. **Replay support.**
61
+ * Every successful call stores selector metadata inside the returned
62
+ * {@link ToolCallResult}. The static {@link remapForRerun} helper can
63
+ * later turn that metadata into a fresh {@link ProposedToolCall} so the
64
+ * exact same element can be located in a future run without LLM input.
65
+ *
66
+ * ### Type Parameters
67
+ * | Name | Meaning |
68
+ * |----------------|----------------------------------------------------------------------------|
69
+ * | `CoreSchema` | Zod schema describing *core* parameters consumed by the concrete tool |
70
+ * | `NonGptSchema` | Schema for deterministic invocations (extends {@link SelectorBasedSchema}) |
71
+ * | `GptSchema` | Schema for LLM-driven invocations (extends {@link AnnotationBasedSchema}) |
72
+ *
73
+ * Subclasses **only** need to implement {@link invoke}, which receives a
74
+ * *resolved* locator and may perform the actual browser operation (e.g.
75
+ * click, type, etc).
25
76
  */
26
77
  class ReplayableInteraction extends Tool_1.Tool {
27
78
  constructor(name, description, coreSchema, inputSchema, inputSchemaForGpt, requiresGpt = false) {
@@ -410,6 +461,86 @@ class ReplayableInteraction extends Tool_1.Tool {
410
461
  // Any other selector types (lowest priority = 5)
411
462
  return 5;
412
463
  }
464
+ /**
465
+ * Transform a historical {@link ToolCall} into a replay-ready
466
+ * {@link ProposedToolCall}.
467
+ *
468
+ * The original execution stored selector metadata inside
469
+ * `toolCall.outcome.metadata`. This helper:
470
+ *
471
+ * 1. **Validates** that the metadata is present and still contains a
472
+ * deterministic selector.
473
+ * 2. **Builds** a new `parameters` object which:
474
+ * * Moves the recorded selector into the expected `selector` slot.
475
+ * * Removes any `annotation` / `whyThisAnnotation` properties (they are
476
+ * meaningless for deterministic replays).
477
+ * 3. **Returns** a ready-to-run {@link ProposedToolCall} that points to the
478
+ * same tool (`toolName`) with the adjusted parameters.
479
+ *
480
+ * If the historical call did **not** record selector metadata, replaying
481
+ * would be impossible and the method throws an `Error` so the caller can
482
+ * handle this situation explicitly (e.g. fall back to a fresh LLM
483
+ * invocation or surface an error to the user).
484
+ *
485
+ * @param toolCall - The historical {@link ToolCall}.
486
+ * @param options - Behaviour switches:
487
+ * * `areElementIdsVolatile` - If `true`, ID-only selectors
488
+ * (e.g. `#submit-btn`) are *dropped* because the element’s `id`
489
+ * attribute is considered volatile.
490
+ * When every candidate is ID-based the list is left unchanged
491
+ * (replay is better than nothing).
492
+ * * `useSelectorFailover` - If `false`, only the **first** selector
493
+ * (the most specific one) is kept, disabling automatic fail-over to
494
+ * broader selectors.
495
+ *
496
+ * @returns A {@link ProposedToolCall} that can be executed in a fresh run.
497
+ * @throws Error if the original call lacks selector metadata.
498
+ */
499
+ static prepareToolCallForRerun(toolCall, options) {
500
+ if (!toolCall.outcome.metadata) {
501
+ throw new Error(`Failed to prepare tool call for rerun: result metadata is missing. Original call: ${JSON.stringify(toolCall)}`);
502
+ }
503
+ if (!toolCall.outcome.metadata.element) {
504
+ throw new Error(`Failed to prepare tool call for rerun: selector data is absent in metadata. Original call: ${JSON.stringify(toolCall)}`);
505
+ }
506
+ // Parse and clone the stored selector ------------------------------------
507
+ const originalSelector = ElementSelector_1.ElementSelectorSchema.parse(toolCall.outcome.metadata);
508
+ let selectorCandidates = [...originalSelector.element];
509
+ // 1) Drop ID-based selectors if requested --------------------------------
510
+ if (options.areElementIdsVolatile) {
511
+ const nonId = selectorCandidates.filter((sel) => {
512
+ const trimmed = sel.trim();
513
+ const isHashId = /^#/.test(trimmed);
514
+ const isAttrId = /\[id\s*=\s*['"]?[^\]]+['"]?\]/i.test(trimmed) ||
515
+ /@id\s*=\s*['"]?[^\]]+['"]?/i.test(trimmed);
516
+ return !(isHashId || isAttrId);
517
+ });
518
+ // Use the filtered list only if something remains; otherwise keep the
519
+ // original list to avoid total selector loss.
520
+ if (nonId.length > 0) {
521
+ selectorCandidates = nonId;
522
+ }
523
+ }
524
+ // 2) Disable fail-over if requested --------------------------------------
525
+ if (options.disableSelectorFailover && selectorCandidates.length > 1) {
526
+ selectorCandidates = [selectorCandidates[0]];
527
+ }
528
+ const modifiedSelector = {
529
+ element: selectorCandidates,
530
+ frame: originalSelector.frame,
531
+ };
532
+ // Build the new parameter object ----------------------------------------
533
+ const revisedArgs = {
534
+ ...toolCall.parameters,
535
+ selector: modifiedSelector,
536
+ annotation: undefined,
537
+ whyThisAnnotation: undefined,
538
+ };
539
+ return {
540
+ name: toolCall.toolName,
541
+ parameters: revisedArgs,
542
+ };
543
+ }
413
544
  }
414
545
  exports.ReplayableInteraction = ReplayableInteraction;
415
546
  ReplayableInteraction.MAX_LOCATOR_MATCH_COUNT = 5;
@@ -1 +1 @@
1
- {"version":3,"file":"ReplayableInteraction.js","sourceRoot":"","sources":["../../../src/tools/ReplayableInteraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReplayableInteraction.js","sourceRoot":"","sources":["../../../src/tools/ReplayableInteraction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"selfHealing.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AA4BpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAwIf"}
1
+ {"version":3,"file":"selfHealing.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AA4BpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK3D;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CA4If"}
@@ -62,6 +62,7 @@ const WaitTool_1 = require("../../tools/WaitTool");
62
62
  const SolveMfaChallenge_1 = require("../../tools/SolveMfaChallenge");
63
63
  const ToolManager_1 = require("../../managers/ToolManager");
64
64
  const BrowserUtils_1 = require("../../utils/BrowserUtils");
65
+ const DonobuFlowsManager_1 = require("../../managers/DonobuFlowsManager");
65
66
  /**
66
67
  * Self-heals a test that has failed by creating and running a new autonomous
67
68
  * flow using the failed test's code as part of the overall objective. If the
@@ -117,7 +118,7 @@ ${originalTestCode}
117
118
  customTools: donobuFlowMetadata.customTools ?? undefined,
118
119
  allowedTools: allowedTools,
119
120
  callbackUrl: undefined,
120
- maxToolCalls: 30,
121
+ maxToolCalls: DonobuFlowsManager_1.DonobuFlowsManager.DEFAULT_MAX_TOOL_CALLS,
121
122
  gptConfigNameOverride: undefined,
122
123
  defaultMessageDuration: undefined,
123
124
  initialRunMode: 'AUTONOMOUS',
@@ -140,7 +141,10 @@ ${originalTestCode}
140
141
  });
141
142
  if (newFlow.donobuFlow.metadata.state === 'SUCCESS') {
142
143
  Logger_1.appLogger.info('Self-heal succeeded! The new autonomous flow completed successfully. Generating revised test...');
143
- const newTestCode = await donobu.flowsManager.getFlowAsPlaywrightScript(newFlow.donobuFlow.metadata.id);
144
+ const newTestCode = await donobu.flowsManager.getFlowAsPlaywrightScript(newFlow.donobuFlow.metadata.id, {
145
+ areElementIdsVolatile: false,
146
+ disableSelectorFailover: false,
147
+ });
144
148
  // Save the fixed test as an attachment
145
149
  await testInfo.attach('fixed-test.ts', {
146
150
  body: newTestCode,
@@ -1 +1 @@
1
- {"version":3,"file":"selfHealing.js","sourceRoot":"","sources":["../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selfHealing.js","sourceRoot":"","sources":["../../../src/lib/utils/selfHealing.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import { CodeGenerationOptions } from '../models/CodeGenerationOptions';
1
2
  import { FlowMetadata } from '../models/FlowMetadata';
2
3
  import { ProposedToolCall } from '../models/ProposedToolCall';
4
+ import { ToolCall } from '../models/ToolCall';
3
5
  export interface ProjectFile {
4
6
  path: string;
5
7
  content: string;
@@ -23,6 +25,7 @@ export declare class CodeGenerator {
23
25
  * the `DonobuExtendedPage` extension.
24
26
  */
25
27
  private convertProposedToolCallToPlaywrightCode;
28
+ private generateGitIgnore;
26
29
  /**
27
30
  * Generates the playwright.config.ts file with project dependencies
28
31
  */
@@ -64,5 +67,36 @@ export declare class CodeGenerator {
64
67
  * @returns The sanitized string that can be safely used within backticks
65
68
  */
66
69
  private sanitizeForTemplateLiteral;
70
+ private isGptClientRequired;
71
+ /**
72
+ * Convert an *executed* list of {@link ToolCall}s into a list of
73
+ * {@link ProposedToolCall}s that can be replayed in a fresh browser
74
+ * session.
75
+ *
76
+ * ### What happens?
77
+ * 1. **Identify calls that need selector-remapping.**
78
+ * Some tools (e.g. {@link ClickTool}, {@link InputTextTool}) rely on a
79
+ * deterministic selector captured at runtime. These tool names live in
80
+ * `toolsThatNeedRemappedInputs`.
81
+ * 2. **Attempt remap with {@link ReplayableInteraction.prepareToolCallForRerun}.**
82
+ * If a call belongs to that set, we delegate to
83
+ * `ReplayableInteraction.remapForRerun` to inject the stored selector and
84
+ * strip any transient GPT-only fields.
85
+ * 3. **Pass through other calls unchanged.**
86
+ * Tools that have no UI footprint (e.g. navigation helpers, assertions)
87
+ * are copied verbatim.
88
+ * 4. **Error handling.**
89
+ * When remapping fails (e.g. selector metadata missing) we *skip* the
90
+ * offending call, emit a warning via `appLogger`, and continue processing
91
+ * the remainder so that a “best-effort” replay is still possible.
92
+ *
93
+ * The resulting array preserves the original order **minus** any calls that
94
+ * could not be remapped.
95
+ *
96
+ * @param toolCalls – The chronologically ordered list of executed
97
+ * {@link ToolCall}s.
98
+ * @returns A list of {@link ProposedToolCall}s ready for replay.
99
+ */
100
+ static prepareToolCallsForRerun(toolCalls: ToolCall[], options: CodeGenerationOptions): Promise<ProposedToolCall[]>;
67
101
  }
68
102
  //# sourceMappingURL=CodeGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeGenerator.d.ts","sourceRoot":"","sources":["../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AA0C9D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,8EAA8E;IACjE,yBAAyB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC;IAsGlB;;OAEG;IACU,eAAe,CAC1B,kBAAkB,EAAE,KAAK,CAAC;QACxB,QAAQ,EAAE,YAAY,CAAC;QACvB,SAAS,EAAE,gBAAgB,EAAE,CAAC;KAC/B,CAAC,GACD,OAAO,CAAC,gBAAgB,CAAC;IAsC5B,OAAO,CAAC,6BAA6B;IAwCrC;;;OAGG;IACH,OAAO,CAAC,uCAAuC;IAqG/C;;OAEG;YACW,wBAAwB;IAkCtC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;YACW,iBAAiB;IAqB/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,eAAe;YAKT,YAAY;IAY1B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;CASnC"}
1
+ {"version":3,"file":"CodeGenerator.d.ts","sourceRoot":"","sources":["../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA4C9C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,qBAAa,aAAa;IACxB,8EAA8E;IACjE,yBAAyB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC;IA6FlB;;OAEG;IACU,eAAe,CAC1B,kBAAkB,EAAE,KAAK,CAAC;QACxB,QAAQ,EAAE,YAAY,CAAC;QACvB,SAAS,EAAE,gBAAgB,EAAE,CAAC;KAC/B,CAAC,GACD,OAAO,CAAC,gBAAgB,CAAC;IA2C5B,OAAO,CAAC,6BAA6B;IAmErC;;;OAGG;IACH,OAAO,CAAC,uCAAuC;IAqG/C,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;YACW,wBAAwB;IAuCtC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;YACW,iBAAiB;IAqB/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,eAAe;YAKT,YAAY;IAY1B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;YAUpB,mBAAmB;IAoBjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;WACiB,wBAAwB,CAC1C,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAyC/B"}