donobu 2.12.1 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/assets/generated/version +1 -1
  2. package/dist/assets/playwright-json-to-markdown.js +1 -2
  3. package/dist/envVars.d.ts +26 -1
  4. package/dist/envVars.d.ts.map +1 -1
  5. package/dist/envVars.js +26 -1
  6. package/dist/envVars.js.map +1 -1
  7. package/dist/esm/assets/generated/version +1 -1
  8. package/dist/esm/assets/playwright-json-to-markdown.js +1 -2
  9. package/dist/esm/envVars.d.ts +26 -1
  10. package/dist/esm/envVars.d.ts.map +1 -1
  11. package/dist/esm/envVars.js +26 -1
  12. package/dist/esm/envVars.js.map +1 -1
  13. package/dist/esm/managers/CodeGenerator.d.ts +0 -5
  14. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  15. package/dist/esm/managers/CodeGenerator.js +4 -48
  16. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  17. package/dist/esm/managers/DonobuFlowsManager.d.ts +13 -0
  18. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  19. package/dist/esm/managers/DonobuFlowsManager.js +85 -14
  20. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  21. package/dist/esm/managers/TemplateInterpolator.d.ts +19 -0
  22. package/dist/esm/managers/TemplateInterpolator.d.ts.map +1 -0
  23. package/dist/esm/managers/TemplateInterpolator.js +86 -0
  24. package/dist/esm/managers/TemplateInterpolator.js.map +1 -0
  25. package/dist/esm/managers/ToolManager.d.ts +17 -1
  26. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  27. package/dist/esm/managers/ToolManager.js +53 -43
  28. package/dist/esm/managers/ToolManager.js.map +1 -1
  29. package/dist/esm/models/GptConfig.d.ts +2 -2
  30. package/dist/esm/models/GptConfig.d.ts.map +1 -1
  31. package/dist/esm/models/ResolverContext.d.ts +7 -0
  32. package/dist/esm/models/ResolverContext.d.ts.map +1 -0
  33. package/dist/esm/models/ResolverContext.js +3 -0
  34. package/dist/esm/models/ResolverContext.js.map +1 -0
  35. package/dist/esm/models/ToolCall.d.ts +4 -3
  36. package/dist/esm/models/ToolCall.d.ts.map +1 -1
  37. package/dist/esm/models/ToolTemplateDataSource.d.ts +36 -0
  38. package/dist/esm/models/ToolTemplateDataSource.d.ts.map +1 -0
  39. package/dist/esm/models/ToolTemplateDataSource.js +3 -0
  40. package/dist/esm/models/ToolTemplateDataSource.js.map +1 -0
  41. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.d.ts.map +1 -1
  42. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js +2 -2
  43. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
  44. package/dist/esm/playwrightTestExtensions.d.ts +15 -8
  45. package/dist/esm/playwrightTestExtensions.d.ts.map +1 -1
  46. package/dist/esm/playwrightTestExtensions.js +81 -37
  47. package/dist/esm/playwrightTestExtensions.js.map +1 -1
  48. package/dist/esm/tools/AssertPageTextTool.d.ts.map +1 -1
  49. package/dist/esm/tools/AssertPageTextTool.js +0 -1
  50. package/dist/esm/tools/AssertPageTextTool.js.map +1 -1
  51. package/dist/esm/tools/CreateBrowserCookieReportTool.d.ts.map +1 -1
  52. package/dist/esm/tools/CreateBrowserCookieReportTool.js +3 -1
  53. package/dist/esm/tools/CreateBrowserCookieReportTool.js.map +1 -1
  54. package/dist/esm/tools/DetectBrokenLinksTool.d.ts.map +1 -1
  55. package/dist/esm/tools/DetectBrokenLinksTool.js.map +1 -1
  56. package/dist/esm/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  57. package/dist/esm/tools/RunAccessibilityTestTool.js +41 -17
  58. package/dist/esm/tools/RunAccessibilityTestTool.js.map +1 -1
  59. package/dist/esm/utils/TemplateInterpolator.d.ts +29 -0
  60. package/dist/esm/utils/TemplateInterpolator.d.ts.map +1 -0
  61. package/dist/esm/utils/TemplateInterpolator.js +206 -0
  62. package/dist/esm/utils/TemplateInterpolator.js.map +1 -0
  63. package/dist/managers/CodeGenerator.d.ts +0 -5
  64. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  65. package/dist/managers/CodeGenerator.js +4 -48
  66. package/dist/managers/CodeGenerator.js.map +1 -1
  67. package/dist/managers/DonobuFlowsManager.d.ts +13 -0
  68. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  69. package/dist/managers/DonobuFlowsManager.js +85 -14
  70. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  71. package/dist/managers/TemplateInterpolator.d.ts +19 -0
  72. package/dist/managers/TemplateInterpolator.d.ts.map +1 -0
  73. package/dist/managers/TemplateInterpolator.js +86 -0
  74. package/dist/managers/TemplateInterpolator.js.map +1 -0
  75. package/dist/managers/ToolManager.d.ts +17 -1
  76. package/dist/managers/ToolManager.d.ts.map +1 -1
  77. package/dist/managers/ToolManager.js +53 -43
  78. package/dist/managers/ToolManager.js.map +1 -1
  79. package/dist/models/GptConfig.d.ts +2 -2
  80. package/dist/models/GptConfig.d.ts.map +1 -1
  81. package/dist/models/ResolverContext.d.ts +7 -0
  82. package/dist/models/ResolverContext.d.ts.map +1 -0
  83. package/dist/models/ResolverContext.js +3 -0
  84. package/dist/models/ResolverContext.js.map +1 -0
  85. package/dist/models/ToolCall.d.ts +4 -3
  86. package/dist/models/ToolCall.d.ts.map +1 -1
  87. package/dist/models/ToolTemplateDataSource.d.ts +36 -0
  88. package/dist/models/ToolTemplateDataSource.d.ts.map +1 -0
  89. package/dist/models/ToolTemplateDataSource.js +3 -0
  90. package/dist/models/ToolTemplateDataSource.js.map +1 -0
  91. package/dist/persistence/FlowsPersistenceFactoryImpl.d.ts.map +1 -1
  92. package/dist/persistence/FlowsPersistenceFactoryImpl.js +2 -2
  93. package/dist/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
  94. package/dist/playwrightTestExtensions.d.ts +15 -8
  95. package/dist/playwrightTestExtensions.d.ts.map +1 -1
  96. package/dist/playwrightTestExtensions.js +81 -37
  97. package/dist/playwrightTestExtensions.js.map +1 -1
  98. package/dist/tools/AssertPageTextTool.d.ts.map +1 -1
  99. package/dist/tools/AssertPageTextTool.js +0 -1
  100. package/dist/tools/AssertPageTextTool.js.map +1 -1
  101. package/dist/tools/CreateBrowserCookieReportTool.d.ts.map +1 -1
  102. package/dist/tools/CreateBrowserCookieReportTool.js +3 -1
  103. package/dist/tools/CreateBrowserCookieReportTool.js.map +1 -1
  104. package/dist/tools/DetectBrokenLinksTool.d.ts.map +1 -1
  105. package/dist/tools/DetectBrokenLinksTool.js.map +1 -1
  106. package/dist/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  107. package/dist/tools/RunAccessibilityTestTool.js +41 -17
  108. package/dist/tools/RunAccessibilityTestTool.js.map +1 -1
  109. package/dist/utils/TemplateInterpolator.d.ts +29 -0
  110. package/dist/utils/TemplateInterpolator.d.ts.map +1 -0
  111. package/dist/utils/TemplateInterpolator.js +211 -0
  112. package/dist/utils/TemplateInterpolator.js.map +1 -0
  113. package/package.json +3 -1
@@ -5,38 +5,62 @@ const Tool_1 = require("./Tool");
5
5
  const JsonUtils_1 = require("../utils/JsonUtils");
6
6
  class RunAccessibilityTestTool extends Tool_1.Tool {
7
7
  constructor() {
8
- super(RunAccessibilityTestTool.NAME, 'Run an web accessibility (i.e. axe-core) test on the current webpage.', 'RunAccessibilityTestToolCoreParameters', 'RunAccessibilityTestToolGptParameters');
8
+ super(RunAccessibilityTestTool.NAME, 'Run an web accessibility (axecore) test on the current webpage.', 'RunAccessibilityTestToolCoreParameters', 'RunAccessibilityTestToolGptParameters');
9
9
  }
10
10
  async call(context, _parameters) {
11
11
  const page = context.page;
12
- // Run the Axe-core analysis
13
- const fullResultStr = (await page.evaluate(() => {
14
- return window.axe.run().then((results) => {
15
- return JSON.stringify(results);
12
+ // Step 1: Run axe in the browser
13
+ const fullResultStr = (await page.evaluate(() => (async () => {
14
+ const axeResults = await window.axe.run();
15
+ const { violations = [], incomplete = [], passes = [], inapplicable = [], url, timestamp, } = axeResults;
16
+ return JSON.stringify({
17
+ url,
18
+ timestamp,
19
+ violations, // full detail
20
+ incomplete, // full detail (these need manual review)
21
+ passCount: passes.length, // just a count
22
+ ignoredRuleCount: inapplicable.length,
23
+ totalRuleCount: violations.length +
24
+ incomplete.length +
25
+ passes.length +
26
+ inapplicable.length,
16
27
  });
17
- }));
28
+ })()));
18
29
  const fullResult = JsonUtils_1.JsonUtils.jsonStringToJsonObject(fullResultStr);
19
- const violations = fullResult.violations;
20
- if (!violations || violations.length === 0) {
30
+ const { violations = [], incomplete = [], passes = [] } = fullResult;
31
+ const passCount = passes.length;
32
+ delete fullResult.passes;
33
+ fullResult.passCount = passCount;
34
+ // Step 2: If nothing to report, short‑circuit
35
+ if (violations.length === 0 && incomplete.length === 0) {
21
36
  return {
22
37
  isSuccessful: true,
23
- forLlm: 'No accessibility violations found.',
38
+ forLlm: `No accessibility violations or items needing review found. (${passCount} checks passed)`,
24
39
  metadata: fullResult,
25
40
  };
26
41
  }
27
- // Summarize the violations using "help" as the key
42
+ // Step 3: Summarise violations and incomplete items
43
+ const countByHelp = (items, map) => {
44
+ for (const item of items) {
45
+ map.set(item.help, (map.get(item.help) ?? 0) + item.nodes.length);
46
+ }
47
+ };
28
48
  const violationSummary = new Map();
29
- for (const violation of violations) {
30
- violationSummary.set(violation.help, (violationSummary.get(violation.help) ?? 0) + violation.nodes.length);
31
- }
32
- // Build the summary report
33
- const summaryReport = [];
49
+ const incompleteSummary = new Map();
50
+ countByHelp(violations, violationSummary);
51
+ countByHelp(incomplete, incompleteSummary);
52
+ // human‑readable summary
53
+ const summaryLines = [];
34
54
  violationSummary.forEach((count, helpText) => {
35
- summaryReport.push(`${count} violations found for: ${helpText}`);
55
+ summaryLines.push(`${count}× violations ${helpText}`);
56
+ });
57
+ incompleteSummary.forEach((count, helpText) => {
58
+ summaryLines.push(`${count}× needs manual review – ${helpText}`);
36
59
  });
60
+ summaryLines.push(`${passCount} checks passed`);
37
61
  return {
38
62
  isSuccessful: true,
39
- forLlm: summaryReport.join('\n'),
63
+ forLlm: summaryLines.join('\n'),
40
64
  metadata: fullResult,
41
65
  };
42
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RunAccessibilityTestTool.js","sourceRoot":"","sources":["../../../src/tools/RunAccessibilityTestTool.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAG9B,kDAA+C;AAQ/C,MAAa,wBAAyB,SAAQ,WAG7C;IAGC;QACE,KAAK,CACH,wBAAwB,CAAC,IAAI,EAC7B,uEAAuE,EACvE,wCAAwC,EACxC,uCAAuC,CACxC,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CACxB,OAAwB,EACxB,WAAmD;QAEnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,4BAA4B;QAC5B,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC9C,OAAQ,MAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,OAAY,EAAE,EAAE;gBACrD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAW,CAAC;QAEd,MAAM,UAAU,GAAG,qBAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QAEzC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,oCAAoC;gBAC5C,QAAQ,EAAE,UAAU;aACrB,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEnD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,gBAAgB,CAAC,GAAG,CAClB,SAAS,CAAC,IAAI,EACd,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CACrE,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC3C,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,QAAQ,EAAE,UAAU;SACrB,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,WAAW,CAC/B,OAAwB,EACxB,UAAiD;QAEjD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;;AApEH,4DAqEC;AAjEwB,6BAAI,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"RunAccessibilityTestTool.js","sourceRoot":"","sources":["../../../src/tools/RunAccessibilityTestTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Regular expression to match template JSON-path expressions inside of {{...}}
3
+ */
4
+ export declare const TEMPLATE_DATA_PATTERN: RegExp;
5
+ /**
6
+ * Resolve a JSONPath expression against the context
7
+ * @param expression - The JSONPath expression to evaluate
8
+ * @param dataSource - The data context to evaluate against
9
+ * @returns The resolved value or undefined if not found
10
+ */
11
+ export declare function resolveExpression(expression: string, dataSource: Record<string, unknown>): any;
12
+ /**
13
+ * Interpolate template strings using JSONPath expressions
14
+ * @param template - The template string with {{...}} expressions
15
+ * @param dataSource - The data context to interpolate from
16
+ * @returns The interpolated string
17
+ */
18
+ export declare function interpolateString(template: string, dataSource: Record<string, unknown>): string;
19
+ /**
20
+ * Interpolate the parameters object using JSONPath expressions. Any string values
21
+ * and keys in the object will be replaced with the corresponding values from the data source.
22
+ * Nested objects and arrays will be processed recursively.
23
+ *
24
+ * @param parameters - The original parameters object
25
+ * @param dataSource - The data context to interpolate from
26
+ * @returns A new parameters object with interpolated string values and keys
27
+ */
28
+ export declare function interpolateObject(parameters: any, dataSource: Record<string, unknown>): any;
29
+ //# sourceMappingURL=TemplateInterpolator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateInterpolator.d.ts","sourceRoot":"","sources":["../../../src/utils/TemplateInterpolator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAqB,CAAC;AA6ExD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,GAAG,CAmDL;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAkBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,GAAG,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,GAAG,CAiDL"}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TEMPLATE_DATA_PATTERN = void 0;
7
+ exports.resolveExpression = resolveExpression;
8
+ exports.interpolateString = interpolateString;
9
+ exports.interpolateObject = interpolateObject;
10
+ const Logger_1 = require("./Logger");
11
+ const jsonpath_1 = __importDefault(require("jsonpath"));
12
+ /**
13
+ * Regular expression to match template JSON-path expressions inside of {{...}}
14
+ */
15
+ exports.TEMPLATE_DATA_PATTERN = /\{\{([^}]+)\}\}/g;
16
+ /**
17
+ * Regular expression to detect expressions that need to be handled specially
18
+ * Matches patterns like: $..path[?(@.condition)][0] or $..path[?(@.condition)][index] or $..path[?(@.condition)][n:m]
19
+ */
20
+ const FILTER_WITH_INDEX_PATTERN = /(\[\?\(.*\)\])(\[-?\d+(\:\d+)?\])/;
21
+ const STANDALONE_NEGATIVE_INDEX_PATTERN = /(\$\.calls)\[(-\d+)\](?!\:)/;
22
+ /**
23
+ * Parse and modify JSONPath expressions to handle indexing after filter expressions
24
+ * @param expression - The JSONPath expression to process
25
+ * @returns A processed expression that works with the jsonpath library
26
+ */
27
+ function processJSONPathExpression(expression) {
28
+ // First check for filter followed by index pattern
29
+ const filterMatch = expression.match(FILTER_WITH_INDEX_PATTERN);
30
+ if (filterMatch) {
31
+ // Extract just the number from indexPart (remove the brackets)
32
+ const indexMatch = filterMatch[2].match(/\[(-?\d+)(\:\d+)?\]/);
33
+ if (indexMatch) {
34
+ // If it's a simple index (not a slice)
35
+ if (!indexMatch[2]) {
36
+ // Remove the index part from the expression
37
+ const baseExpression = expression.replace(filterMatch[2], '');
38
+ // Return the modified expression
39
+ return baseExpression;
40
+ }
41
+ }
42
+ }
43
+ // Check for standalone negative index pattern and convert it to slice notation
44
+ // since the jsonpath library doesn't support negative indices directly.
45
+ const negativeIndexMatch = expression.match(STANDALONE_NEGATIVE_INDEX_PATTERN);
46
+ if (negativeIndexMatch && negativeIndexMatch[2].startsWith('-')) {
47
+ // Convert the standalone negative index to slice notation
48
+ // For example: $.calls[-1] becomes $.calls[-1:]
49
+ const convertedExpression = expression.replace(`[${negativeIndexMatch[2]}]`, `[${negativeIndexMatch[2]}:]`);
50
+ return convertedExpression;
51
+ }
52
+ // If it doesn't match our patterns, return the original expression
53
+ return expression;
54
+ }
55
+ /**
56
+ * Format a value to string with special handling for objects and arrays
57
+ * @param value - The value to format
58
+ * @returns A string representation of the value
59
+ */
60
+ function formatValue(value) {
61
+ if (value === undefined || value === null) {
62
+ return '';
63
+ }
64
+ // Handle arrays by joining their string representations
65
+ if (Array.isArray(value)) {
66
+ return value.map(formatValue).join(',');
67
+ }
68
+ // Handle objects with proper JSON formatting
69
+ if (typeof value === 'object' && value !== null) {
70
+ return JSON.stringify(value);
71
+ }
72
+ // Default case
73
+ return String(value);
74
+ }
75
+ /**
76
+ * Resolve a JSONPath expression against the context
77
+ * @param expression - The JSONPath expression to evaluate
78
+ * @param dataSource - The data context to evaluate against
79
+ * @returns The resolved value or undefined if not found
80
+ */
81
+ function resolveExpression(expression, dataSource) {
82
+ try {
83
+ // Process the expression to handle special cases
84
+ const processedExpression = processJSONPathExpression(expression);
85
+ // Handle expressions with wildcards or recursive searches that might return arrays
86
+ const isWildcardOrRecursive = expression.includes('..') ||
87
+ expression.includes('*') ||
88
+ expression.includes('[:]');
89
+ // Use JSONPath to evaluate the expression against the context
90
+ const results = jsonpath_1.default.query(dataSource, processedExpression);
91
+ // Handle the indexing ourselves if needed
92
+ if (expression !== processedExpression) {
93
+ const match = expression.match(FILTER_WITH_INDEX_PATTERN);
94
+ if (match) {
95
+ const indexMatch = match[2].match(/\[(-?\d+)(\:\d+)?\]/);
96
+ if (indexMatch) {
97
+ const index = parseInt(indexMatch[1], 10);
98
+ // If we have results, handle both positive and negative indices
99
+ if (results && results.length > 0) {
100
+ // For negative indices, count from the end of the array
101
+ const actualIndex = index < 0 ? results.length + index : index;
102
+ // Return the result if the calculated index is valid
103
+ if (actualIndex >= 0 && actualIndex < results.length) {
104
+ return results[actualIndex];
105
+ }
106
+ }
107
+ return undefined;
108
+ }
109
+ }
110
+ }
111
+ // Return the entire array for expressions that clearly want multiple values
112
+ if (isWildcardOrRecursive && results.length > 1) {
113
+ return results;
114
+ }
115
+ // Default case - return the first result if available
116
+ if (results && results.length > 0) {
117
+ return results[0];
118
+ }
119
+ return undefined;
120
+ }
121
+ catch (error) {
122
+ throw new Error(`Failed to evaluate JSONPath expression: ${expression}. Error: ${error}`);
123
+ }
124
+ }
125
+ /**
126
+ * Interpolate template strings using JSONPath expressions
127
+ * @param template - The template string with {{...}} expressions
128
+ * @param dataSource - The data context to interpolate from
129
+ * @returns The interpolated string
130
+ */
131
+ function interpolateString(template, dataSource) {
132
+ return template.replace(exports.TEMPLATE_DATA_PATTERN, (match, expression) => {
133
+ try {
134
+ const value = resolveExpression(expression.trim(), dataSource);
135
+ // If the value is undefined or null, keep the original expression
136
+ if (value === undefined) {
137
+ return match; // Return the original {{expression}} string
138
+ }
139
+ return formatValue(value);
140
+ }
141
+ catch (error) {
142
+ Logger_1.appLogger.warn(`Error interpolating template: ${template}, expression: ${expression}, error: ${error}`);
143
+ return match; // Return the original {{expression}} string on error
144
+ }
145
+ });
146
+ }
147
+ /**
148
+ * Interpolate the parameters object using JSONPath expressions. Any string values
149
+ * and keys in the object will be replaced with the corresponding values from the data source.
150
+ * Nested objects and arrays will be processed recursively.
151
+ *
152
+ * @param parameters - The original parameters object
153
+ * @param dataSource - The data context to interpolate from
154
+ * @returns A new parameters object with interpolated string values and keys
155
+ */
156
+ function interpolateObject(parameters, dataSource) {
157
+ if (!parameters || typeof parameters !== 'object') {
158
+ return parameters;
159
+ }
160
+ // Create appropriate result container
161
+ const result = Array.isArray(parameters) ? [] : {};
162
+ // Process each key-value pair
163
+ if (Array.isArray(parameters)) {
164
+ // Handle array case
165
+ for (let i = 0; i < parameters.length; i++) {
166
+ const value = parameters[i];
167
+ if (typeof value === 'string') {
168
+ // Interpolate string values
169
+ result[i] = interpolateString(value, dataSource);
170
+ }
171
+ else if (typeof value === 'object' && value !== null) {
172
+ // Recursively process nested objects
173
+ result[i] = interpolateObject(value, dataSource);
174
+ }
175
+ else {
176
+ // Keep non-string values as is
177
+ result[i] = value;
178
+ }
179
+ }
180
+ }
181
+ else {
182
+ // Handle object case
183
+ for (const key in parameters) {
184
+ const value = parameters[key];
185
+ // Interpolate the key if it's a string and contains a template pattern
186
+ let processedKey = key;
187
+ if (typeof key === 'string' && exports.TEMPLATE_DATA_PATTERN.test(key)) {
188
+ processedKey = interpolateString(key, dataSource);
189
+ }
190
+ if (typeof value === 'string') {
191
+ // Interpolate string values
192
+ result[processedKey] = interpolateString(value, dataSource);
193
+ }
194
+ else if (typeof value === 'object' && value !== null) {
195
+ // Recursively process nested objects
196
+ result[processedKey] = interpolateObject(value, dataSource);
197
+ }
198
+ else {
199
+ // Keep non-string values as is
200
+ result[processedKey] = value;
201
+ }
202
+ }
203
+ }
204
+ return result;
205
+ }
206
+ //# sourceMappingURL=TemplateInterpolator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateInterpolator.js","sourceRoot":"","sources":["../../../src/utils/TemplateInterpolator.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,6 @@
1
1
  import { FlowMetadata } from '../models/FlowMetadata';
2
2
  import { ProposedToolCall } from '../models/ProposedToolCall';
3
- import { AgentsManager } from './AgentsManager';
4
- import { GptConfigsManager } from './GptConfigsManager';
5
3
  export declare class CodeGenerator {
6
- private readonly gptConfigsManager;
7
- private readonly agentsManager;
8
- constructor(gptConfigsManager: GptConfigsManager, agentsManager: AgentsManager);
9
4
  /** Creates a Node.js Microsoft Playwright script to replay the given flow. */
10
5
  getFlowAsPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall<any>[]): Promise<string>;
11
6
  /**
@@ -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;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAuB9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa;IAG/C,8EAA8E;IACjE,yBAAyB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC;IAsIlB;;;OAGG;WACW,uCAAuC,CACnD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,MAAM;YAmEK,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,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAyB9D,qBAAa,aAAa;IACxB,8EAA8E;IACjE,yBAAyB,CACpC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC;IA0FlB;;;OAGG;WACW,uCAAuC,CACnD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,MAAM;YAmEK,YAAY;IAY1B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;CASnC"}
@@ -25,10 +25,6 @@ const WaitTool_1 = require("../tools/WaitTool");
25
25
  const JsonUtils_1 = require("../utils/JsonUtils");
26
26
  const ToolManager_1 = require("./ToolManager");
27
27
  class CodeGenerator {
28
- constructor(gptConfigsManager, agentsManager) {
29
- this.gptConfigsManager = gptConfigsManager;
30
- this.agentsManager = agentsManager;
31
- }
32
28
  /** Creates a Node.js Microsoft Playwright script to replay the given flow. */
33
29
  async getFlowAsPlaywrightScript(flowMetadata, toolCalls) {
34
30
  // These tools are not supported in the generated script because they have
@@ -51,38 +47,11 @@ class CodeGenerator {
51
47
  .filter((tool) => {
52
48
  return tool?.requiresGpt;
53
49
  }).length > 0;
54
- let gptConfig = null;
55
- // Check if the flow metadata has a specific GPT config name.
56
- // If it does, try to get it from the GptConfigsManager.
57
- // If it doesn't, try to get the default GPT config from the AgentsManager.
58
- //
59
- // This is done so that we can generate code using the preferred GPT client.
60
- if (isGptClientRequired) {
61
- try {
62
- if (flowMetadata.gptConfigName) {
63
- gptConfig = await this.gptConfigsManager.get(flowMetadata.gptConfigName);
64
- }
65
- }
66
- catch (_error) {
67
- // This is expected if the config does not exist.
68
- }
69
- if (!gptConfig) {
70
- const gptConfigName = await this.agentsManager.get('flow-runner');
71
- if (gptConfigName) {
72
- try {
73
- gptConfig = await this.gptConfigsManager.get(gptConfigName);
74
- }
75
- catch (_error) {
76
- // This is expected if the config does not exist.
77
- }
78
- }
79
- }
80
- }
81
50
  const gptSetupNote = isGptClientRequired
82
51
  ? ` *
83
52
  * Also, since this test is using tools that require the usage of an LLM, be
84
53
  * sure to have an appropriate LLM API key available as an environment variable
85
- * (e.g. OPENAI_API_KEY, ANTHROPIC_API_KEY, etc).
54
+ * (e.g. OPENAI_API_KEY, ANTHROPIC_API_KEY, or GOOGLE_GENERATIVE_AI_API_KEY).
86
55
  `
87
56
  : ' ';
88
57
  const hasObjective = (flowMetadata.overallObjective?.trim().length ?? 0) > 0;
@@ -108,22 +77,9 @@ class CodeGenerator {
108
77
  const useStorageState = flowMetadata.browser && flowMetadata.browser.initialState
109
78
  ? `storageState: getBrowserStorageStateFixture(${JSON.stringify(flowMetadata.browser.initialState, null, 2)}),`
110
79
  : undefined;
111
- let useGptClientImport = undefined;
112
- let useGptClient = undefined;
113
- if (isGptClientRequired) {
114
- if (gptConfig && gptConfig.type === 'ANTHROPIC_AWS_BEDROCK') {
115
- useGptClientImport =
116
- "import { anthropicAwsBedrockClientFixture } from 'donobu';";
117
- useGptClient = `gptClient: anthropicAwsBedrockClientFixture('${gptConfig.modelName}', '${gptConfig.region}'),`;
118
- }
119
- else {
120
- useGptClientImport = "import { gptClientFixture } from 'donobu';";
121
- useGptClient = `gptClient: gptClientFixture(),`;
122
- }
123
- }
124
80
  let testExtension = '';
125
- if (useStorageState || useGptClient) {
126
- testExtension = `.extend({${useStorageState ?? ''}${useGptClient ?? ''}})`;
81
+ if (useStorageState) {
82
+ testExtension = `.extend({${useStorageState}})`;
127
83
  }
128
84
  const scriptedToolCalls = toolCalls
129
85
  .filter((toolCall) => !unsupportedToolsByName.has(toolCall.name))
@@ -143,7 +99,7 @@ testInfo.attach('extracted-object', { body: JSON.stringify(extractedObject), con
143
99
  * Also, be sure that Playwright's browsers are installed...
144
100
  * 'npx playwright install'
145
101
  ${gptSetupNote}*/
146
- import { test } from 'donobu';${useGptClientImport ? '\n' + useGptClientImport : ''}${useStorageState ? "\nimport { getBrowserStorageStateFixture } from 'donobu';" : ''}
102
+ import { test } from 'donobu';${useStorageState ? "\nimport { getBrowserStorageStateFixture } from 'donobu';" : ''}
147
103
 
148
104
  const testTitle = '${testName}';
149
105
  const testDetails = ${testDetails};
@@ -1 +1 @@
1
- {"version":3,"file":"CodeGenerator.js","sourceRoot":"","sources":["../../src/managers/CodeGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeGenerator.js","sourceRoot":"","sources":["../../src/managers/CodeGenerator.ts"],"names":[],"mappings":";;;AAEA,sEAAmE;AACnE,oEAAiE;AACjE,oDAAiD;AACjD,8EAA2E;AAC3E,4EAAyE;AACzE,kDAA+C;AAC/C,0FAAuF;AACvF,sEAAmE;AACnE,8DAA2D;AAC3D,wEAAqE;AACrE,8FAA2F;AAC3F,0DAAuD;AACvD,8DAA2D;AAC3D,kFAA+E;AAC/E,8FAA2F;AAC3F,wDAAqD;AACrD,4DAAyD;AACzD,gFAA6E;AAC7E,4DAAyD;AACzD,4EAAyE;AACzE,gDAA6C;AAC7C,kDAA+C;AAC/C,+CAA4C;AAE5C,MAAa,aAAa;IACxB,8EAA8E;IACvE,KAAK,CAAC,yBAAyB,CACpC,YAA0B,EAC1B,SAAkC;QAElC,0EAA0E;QAC1E,qEAAqE;QACrE,kBAAkB;QAClB,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;YACrC,iCAAe,CAAC,IAAI;YACpB,qDAAyB,CAAC,IAAI;YAC9B,iEAA+B,CAAC,IAAI;YACpC,+CAAsB,CAAC,IAAI;SAC5B,CAAC,CAAC;QACH,MAAM,mBAAmB,GACvB,YAAY,CAAC,gBAAgB;YAC7B,SAAS;iBACN,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAChB,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC;iBACD,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;gBACpB,OAAO,yBAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YACpE,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACf,OAAO,IAAI,EAAE,WAAW,CAAC;YAC3B,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAClB,MAAM,YAAY,GAAG,mBAAmB;YACtC,CAAC,CAAC;;;;EAIN;YACI,CAAC,CAAC,GAAG,CAAC;QACR,MAAM,YAAY,GAChB,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,YAAY;YAC9B,CAAC,CAAC;;;2BAGmB,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,gBAAiB,CAAC;;UAEhF;YACJ,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI;YAChC,CAAC,CAAC,YAAY,CAAC,IAAI;gBACf,4BAA4B;iBAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;gBACvB,wBAAwB;iBACvB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;gBACrB,mBAAmB;iBAClB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;gBACtB,2BAA2B;iBAC1B,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;YAC1B,CAAC,CAAC,YAAY,YAAY,CAAC,aAAa,EAAE,CAAC;QAC7C,MAAM,eAAe,GACnB,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,YAAY;YACvD,CAAC,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;YAC/G,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,IAAI,eAAe,EAAE,CAAC;YACpB,aAAa,GAAG,YAAY,eAAe,IAAI,CAAC;QAClD,CAAC;QAED,MAAM,iBAAiB,GAAG,SAAS;aAChC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAChE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChB,OAAO,aAAa,CAAC,uCAAuC,CAAC,QAAQ,CAAC,CAAC;QACzE,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB;YAC9C,CAAC,CAAC;sDAC8C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC;iHACc;YAC3G,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,MAAM,GAAG;;;;;;EAMjB,YAAY;gCACkB,eAAe,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,EAAE;;qBAE7F,QAAQ;sBACP,WAAW;MAC3B,aAAa,2CAA2C,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;EAC7G,iBAAiB;EACjB,UAAU;;CAEX,CAAC;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,uCAAuC,CACnD,gBAAuC;QAEvC,MAAM,SAAS,GAAG,qBAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACtE,MAAM,SAAS,GACb,SAAS,CAAC,SAAS,IAAK,SAAS,CAAC,SAAoB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACtE,CAAC,CAAE,SAAS,CAAC,SAAoB;iBAC5B,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;iBAClC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI;YACtB,CAAC,CAAC,EAAE,CAAC;QACT,oDAAoD;QACpD,OAAO,SAAS,CAAC,SAAS,CAAC;QAC3B,OAAO,SAAS,CAAC,iBAAiB,CAAC;QACnC,OAAO,SAAS,CAAC,UAAU,CAAC;QAC5B,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE5D,QAAQ,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC9B,KAAK,uBAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrB,OAAO,GAAG,SAAS,6BAA6B,gBAAgB,IAAI,CAAC;YACvE,CAAC;YACD,KAAK,iDAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClC,OAAO,GAAG,SAAS,8DAA8D,SAAS,CAAC,MAAM,KAAK,CAAC;YACzG,CAAC;YACD,KAAK,+CAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjC,OAAO,GAAG,SAAS,iCAAiC,gBAAgB,IAAI,CAAC;YAC3E,CAAC;YACD,KAAK,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpB,OAAO,GAAG,SAAS,2BAA2B,gBAAgB,IAAI,CAAC;YACrE,CAAC;YACD,KAAK,yCAAmB,CAAC,IAAI;gBAC3B,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO,GAAG,SAAS,yBAAyB,CAAC;gBAC/C,CAAC;qBAAM,IAAI,SAAS,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;oBAC1C,OAAO,GAAG,SAAS,sBAAsB,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CACb,WAAW,yCAAmB,CAAC,IAAI,YAAY,gBAAgB,EAAE,CAClE,CAAC;gBACJ,CAAC;YACH,KAAK,iCAAe,CAAC,IAAI;gBACvB,OAAO,GAAG,SAAS,oBAAoB,SAAS,CAAC,GAAG,KAAK,CAAC;YAC5D,KAAK,+BAAc,CAAC,IAAI;gBACtB,OAAO,GAAG,SAAS,sBAAsB,CAAC;YAC5C,KAAK,+BAAc,CAAC,IAAI;gBACtB,OAAO,GAAG,SAAS,qBAAqB,gBAAgB,IAAI,CAAC;YAC/D,KAAK,mBAAQ,CAAC,IAAI;gBAChB,OAAO,GAAG,SAAS,6BAA6B,SAAS,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC;YAC/E,8CAA8C;YAC9C,KAAK,yCAAmB,CAAC,IAAI,CAAC;YAC9B,KAAK,uCAAkB,CAAC,IAAI,CAAC;YAC7B,KAAK,6DAA6B,CAAC,IAAI,CAAC;YACxC,KAAK,2CAAoB,CAAC,IAAI,CAAC;YAC/B,KAAK,iEAA+B,CAAC,IAAI,CAAC;YAC1C,KAAK,6BAAa,CAAC,IAAI,CAAC;YACxB,KAAK,2BAAY,CAAC,IAAI,CAAC;YACvB,KAAK,mDAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnC,OAAO,GAAG,SAAS,cAAc,gBAAgB,CAAC,IAAI,IAAI,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YAC9G,CAAC;YACD;gBACE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC;gBACvC,MAAM,cAAc,GAAG,qBAAqB;oBAC1C,CAAC,CAAC,GAAG,SAAS,mBAAmB,QAAQ,MAAM,gBAAgB,IAAI;oBACnE,CAAC,CAAC,GAAG,SAAS,mBAAmB,QAAQ,KAAK,CAAC;gBACjD,OAAO,cAAc,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAY;QACrC,iEAAiE;QACjE,kDAAkD;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;YAC1C,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACK,0BAA0B,CAAC,UAAkB;QACnD,OAAO,CACL,UAAU;YACR,2DAA2D;aAC1D,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;YACrB,yDAAyD;aACxD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAC3B,CAAC;IACJ,CAAC;CACF;AApMD,sCAoMC"}
@@ -106,8 +106,21 @@ export declare class DonobuFlowsManager {
106
106
  private validateFlowParams;
107
107
  private setupAllowedTools;
108
108
  private prepareInitialToolCalls;
109
+ /**
110
+ * This method creates a temporary directory for the flow with the given ID,
111
+ * returning the path to the directory.
112
+ */
109
113
  private createTempDirectoryForFlow;
114
+ /**
115
+ * Searches the given directory for the largest video file and sets it as the
116
+ * flow's video. This should be called after the flow has completed.
117
+ */
118
+ private setFlowVideo;
110
119
  private runFlow;
120
+ /**
121
+ * Returns the largest video file in the given directory, or null if no
122
+ * video files are found.
123
+ */
111
124
  private findLargestVideo;
112
125
  private isLocallyRunning;
113
126
  private checkIfAnyToolsRequireGpt;
@@ -1 +1 @@
1
- {"version":3,"file":"DonobuFlowsManager.d.ts","sourceRoot":"","sources":["../../src/managers/DonobuFlowsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DonobuFlowsManager.d.ts","sourceRoot":"","sources":["../../src/managers/DonobuFlowsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AASjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAuB,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAQ9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAEL,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AAUzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAIpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAOlD;;GAEG;AACH,MAAM,WAAW,UAAU;IAEzB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAGhC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAgBD,qBAAa,kBAAkB;IAkB3B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IApB1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAQ;IACzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAM;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAQpB;IAC1B,gBAAuB,8BAA8B,uBAAuB;IAE5E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBAG3B,qBAAqB,EAAE,2BAA2B,EAClD,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa,EAC5B,uBAAuB,EAAE,uBAAuB;IAKnE;;;OAGG;IACU,UAAU,CACrB,UAAU,EAAE,gBAAgB,EAC5B,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,UAAU,CAAC;IAmItB;;;;;;OAMG;IACU,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwBtE,6EAA6E;IAChE,eAAe,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;IAqBhB;;;;;;OAMG;IACI,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAahD;;OAEG;IACU,gBAAgB,CAC3B,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,oBAAoB,CAAC;IAwFhC;;;;;OAKG;IACU,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAsBnE;;OAEG;IACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAcnE,+DAA+D;IAClD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA4B9D;;;;OAIG;IACU,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB1D;;;;OAIG;IACU,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmB9D,8EAA8E;IACjE,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAavE;;;;;;;QAOI;IACS,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;QAClE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;QAC9B,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;KAC7B,CAAC;IAmGF;;;OAGG;IACU,sBAAsB,CACjC,eAAe,EAAE,qBAAqB,GACrC,OAAO,CAAC,mBAAmB,CAAC;IAsC/B,OAAO,CAAC,kBAAkB;IA8F1B,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,uBAAuB;IAsB/B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAMlC;;;OAGG;YACW,YAAY;YAaZ,OAAO;IA2BrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,wBAAwB;IA0DhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IAYvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAGjC"}