donobu 2.25.1 → 2.27.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 (179) hide show
  1. package/dist/apis/SpecialFlowsApi.d.ts.map +1 -1
  2. package/dist/apis/SpecialFlowsApi.js +60 -31
  3. package/dist/apis/SpecialFlowsApi.js.map +1 -1
  4. package/dist/apis/ToolsApi.d.ts +1 -6
  5. package/dist/apis/ToolsApi.d.ts.map +1 -1
  6. package/dist/apis/ToolsApi.js +4 -6
  7. package/dist/apis/ToolsApi.js.map +1 -1
  8. package/dist/assets/generated/version +1 -1
  9. package/dist/esm/apis/SpecialFlowsApi.d.ts.map +1 -1
  10. package/dist/esm/apis/SpecialFlowsApi.js +60 -31
  11. package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
  12. package/dist/esm/apis/ToolsApi.d.ts +1 -6
  13. package/dist/esm/apis/ToolsApi.d.ts.map +1 -1
  14. package/dist/esm/apis/ToolsApi.js +4 -6
  15. package/dist/esm/apis/ToolsApi.js.map +1 -1
  16. package/dist/esm/assets/generated/version +1 -1
  17. package/dist/esm/lib/fixtures/gptClients.js +1 -1
  18. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  19. package/dist/esm/lib/testExtension.js +9 -2
  20. package/dist/esm/lib/testExtension.js.map +1 -1
  21. package/dist/esm/lib/utils/selfHealing.d.ts.map +1 -1
  22. package/dist/esm/lib/utils/selfHealing.js +44 -45
  23. package/dist/esm/lib/utils/selfHealing.js.map +1 -1
  24. package/dist/esm/main.d.ts +2 -0
  25. package/dist/esm/main.d.ts.map +1 -1
  26. package/dist/esm/main.js +7 -0
  27. package/dist/esm/main.js.map +1 -1
  28. package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
  29. package/dist/esm/managers/AdminApiController.js +1 -2
  30. package/dist/esm/managers/AdminApiController.js.map +1 -1
  31. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  32. package/dist/esm/managers/CodeGenerator.js +2 -1
  33. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  34. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  35. package/dist/esm/managers/DonobuFlowsManager.js +17 -16
  36. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  37. package/dist/esm/managers/GptConfigsManager.d.ts.map +1 -1
  38. package/dist/esm/managers/GptConfigsManager.js +3 -6
  39. package/dist/esm/managers/GptConfigsManager.js.map +1 -1
  40. package/dist/esm/managers/PageInspector.d.ts.map +1 -1
  41. package/dist/esm/managers/PageInspector.js +4 -2
  42. package/dist/esm/managers/PageInspector.js.map +1 -1
  43. package/dist/esm/managers/PluginLoader.d.ts +4 -0
  44. package/dist/esm/managers/PluginLoader.d.ts.map +1 -0
  45. package/dist/esm/managers/PluginLoader.js +104 -0
  46. package/dist/esm/managers/PluginLoader.js.map +1 -0
  47. package/dist/esm/managers/ToolManager.d.ts +8 -2
  48. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  49. package/dist/esm/managers/ToolManager.js +99 -74
  50. package/dist/esm/managers/ToolManager.js.map +1 -1
  51. package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
  52. package/dist/esm/utils/PlaywrightUtils.js +42 -22
  53. package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
  54. package/dist/lib/fixtures/gptClients.js +1 -1
  55. package/dist/lib/testExtension.d.ts.map +1 -1
  56. package/dist/lib/testExtension.js +9 -2
  57. package/dist/lib/testExtension.js.map +1 -1
  58. package/dist/lib/utils/selfHealing.d.ts.map +1 -1
  59. package/dist/lib/utils/selfHealing.js +44 -45
  60. package/dist/lib/utils/selfHealing.js.map +1 -1
  61. package/dist/main.d.ts +2 -0
  62. package/dist/main.d.ts.map +1 -1
  63. package/dist/main.js +7 -0
  64. package/dist/main.js.map +1 -1
  65. package/dist/managers/AdminApiController.d.ts.map +1 -1
  66. package/dist/managers/AdminApiController.js +1 -2
  67. package/dist/managers/AdminApiController.js.map +1 -1
  68. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  69. package/dist/managers/CodeGenerator.js +2 -1
  70. package/dist/managers/CodeGenerator.js.map +1 -1
  71. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  72. package/dist/managers/DonobuFlowsManager.js +17 -16
  73. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  74. package/dist/managers/GptConfigsManager.d.ts.map +1 -1
  75. package/dist/managers/GptConfigsManager.js +3 -6
  76. package/dist/managers/GptConfigsManager.js.map +1 -1
  77. package/dist/managers/PageInspector.d.ts.map +1 -1
  78. package/dist/managers/PageInspector.js +4 -2
  79. package/dist/managers/PageInspector.js.map +1 -1
  80. package/dist/managers/PluginLoader.d.ts +4 -0
  81. package/dist/managers/PluginLoader.d.ts.map +1 -0
  82. package/dist/managers/PluginLoader.js +104 -0
  83. package/dist/managers/PluginLoader.js.map +1 -0
  84. package/dist/managers/ToolManager.d.ts +8 -2
  85. package/dist/managers/ToolManager.d.ts.map +1 -1
  86. package/dist/managers/ToolManager.js +99 -74
  87. package/dist/managers/ToolManager.js.map +1 -1
  88. package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
  89. package/dist/utils/PlaywrightUtils.js +42 -22
  90. package/dist/utils/PlaywrightUtils.js.map +1 -1
  91. package/package.json +3 -2
  92. package/dist/esm/lib/utils/SelfHealingDebugReporter.d.ts +0 -69
  93. package/dist/esm/lib/utils/SelfHealingDebugReporter.d.ts.map +0 -1
  94. package/dist/esm/lib/utils/SelfHealingDebugReporter.js +0 -486
  95. package/dist/esm/lib/utils/SelfHealingDebugReporter.js.map +0 -1
  96. package/dist/esm/lib/utils/SelfHealingTestUtils.d.ts +0 -55
  97. package/dist/esm/lib/utils/SelfHealingTestUtils.d.ts.map +0 -1
  98. package/dist/esm/lib/utils/SelfHealingTestUtils.js +0 -335
  99. package/dist/esm/lib/utils/SelfHealingTestUtils.js.map +0 -1
  100. package/dist/esm/lib/utils/VideoArtifactManager.d.ts +0 -57
  101. package/dist/esm/lib/utils/VideoArtifactManager.d.ts.map +0 -1
  102. package/dist/esm/lib/utils/VideoArtifactManager.js +0 -343
  103. package/dist/esm/lib/utils/VideoArtifactManager.js.map +0 -1
  104. package/dist/esm/plugin/PluginLoader.d.ts +0 -3
  105. package/dist/esm/plugin/PluginLoader.d.ts.map +0 -1
  106. package/dist/esm/plugin/PluginLoader.js +0 -44
  107. package/dist/esm/plugin/PluginLoader.js.map +0 -1
  108. package/dist/esm/plugin/PluginModule.d.ts +0 -9
  109. package/dist/esm/plugin/PluginModule.d.ts.map +0 -1
  110. package/dist/esm/plugin/PluginModule.js +0 -3
  111. package/dist/esm/plugin/PluginModule.js.map +0 -1
  112. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.d.ts +0 -22
  113. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.d.ts.map +0 -1
  114. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.js +0 -61
  115. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.js.map +0 -1
  116. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.d.ts +0 -62
  117. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.d.ts.map +0 -1
  118. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js +0 -164
  119. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js.map +0 -1
  120. package/dist/esm/tools/ExtractPaymentProviderKeyTool.d.ts +0 -81
  121. package/dist/esm/tools/ExtractPaymentProviderKeyTool.d.ts.map +0 -1
  122. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js +0 -316
  123. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js.map +0 -1
  124. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.d.ts +0 -39
  125. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.d.ts.map +0 -1
  126. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js +0 -228
  127. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js.map +0 -1
  128. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.d.ts +0 -47
  129. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.d.ts.map +0 -1
  130. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js +0 -126
  131. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js.map +0 -1
  132. package/dist/esm/tools/NavigateWithinStreetView.d.ts +0 -54
  133. package/dist/esm/tools/NavigateWithinStreetView.d.ts.map +0 -1
  134. package/dist/esm/tools/NavigateWithinStreetView.js +0 -119
  135. package/dist/esm/tools/NavigateWithinStreetView.js.map +0 -1
  136. package/dist/lib/utils/SelfHealingDebugReporter.d.ts +0 -69
  137. package/dist/lib/utils/SelfHealingDebugReporter.d.ts.map +0 -1
  138. package/dist/lib/utils/SelfHealingDebugReporter.js +0 -486
  139. package/dist/lib/utils/SelfHealingDebugReporter.js.map +0 -1
  140. package/dist/lib/utils/SelfHealingTestUtils.d.ts +0 -55
  141. package/dist/lib/utils/SelfHealingTestUtils.d.ts.map +0 -1
  142. package/dist/lib/utils/SelfHealingTestUtils.js +0 -335
  143. package/dist/lib/utils/SelfHealingTestUtils.js.map +0 -1
  144. package/dist/lib/utils/VideoArtifactManager.d.ts +0 -57
  145. package/dist/lib/utils/VideoArtifactManager.d.ts.map +0 -1
  146. package/dist/lib/utils/VideoArtifactManager.js +0 -343
  147. package/dist/lib/utils/VideoArtifactManager.js.map +0 -1
  148. package/dist/plugin/PluginLoader.d.ts +0 -3
  149. package/dist/plugin/PluginLoader.d.ts.map +0 -1
  150. package/dist/plugin/PluginLoader.js +0 -44
  151. package/dist/plugin/PluginLoader.js.map +0 -1
  152. package/dist/plugin/PluginModule.d.ts +0 -9
  153. package/dist/plugin/PluginModule.d.ts.map +0 -1
  154. package/dist/plugin/PluginModule.js +0 -3
  155. package/dist/plugin/PluginModule.js.map +0 -1
  156. package/dist/tools/AggregateExtractedStreetviewDataTool.d.ts +0 -22
  157. package/dist/tools/AggregateExtractedStreetviewDataTool.d.ts.map +0 -1
  158. package/dist/tools/AggregateExtractedStreetviewDataTool.js +0 -61
  159. package/dist/tools/AggregateExtractedStreetviewDataTool.js.map +0 -1
  160. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.d.ts +0 -62
  161. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.d.ts.map +0 -1
  162. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js +0 -164
  163. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js.map +0 -1
  164. package/dist/tools/ExtractPaymentProviderKeyTool.d.ts +0 -81
  165. package/dist/tools/ExtractPaymentProviderKeyTool.d.ts.map +0 -1
  166. package/dist/tools/ExtractPaymentProviderKeyTool.js +0 -316
  167. package/dist/tools/ExtractPaymentProviderKeyTool.js.map +0 -1
  168. package/dist/tools/ExtractPublicFacebookEntityDataTool.d.ts +0 -39
  169. package/dist/tools/ExtractPublicFacebookEntityDataTool.d.ts.map +0 -1
  170. package/dist/tools/ExtractPublicFacebookEntityDataTool.js +0 -228
  171. package/dist/tools/ExtractPublicFacebookEntityDataTool.js.map +0 -1
  172. package/dist/tools/GoToGoogleMapsStreetViewTool.d.ts +0 -47
  173. package/dist/tools/GoToGoogleMapsStreetViewTool.d.ts.map +0 -1
  174. package/dist/tools/GoToGoogleMapsStreetViewTool.js +0 -126
  175. package/dist/tools/GoToGoogleMapsStreetViewTool.js.map +0 -1
  176. package/dist/tools/NavigateWithinStreetView.d.ts +0 -54
  177. package/dist/tools/NavigateWithinStreetView.d.ts.map +0 -1
  178. package/dist/tools/NavigateWithinStreetView.js +0 -119
  179. package/dist/tools/NavigateWithinStreetView.js.map +0 -1
@@ -1,164 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExtractGoogleStreetviewEntityDataTool = exports.MetadataSchema = exports.ExtractGoogleStreetviewEntityDataGptSchema = exports.ExtractGoogleStreetviewEntityDataCoreSchema = exports.PropertyTypeSchema = void 0;
4
- const Tool_1 = require("./Tool");
5
- const PlaywrightUtils_1 = require("../utils/PlaywrightUtils");
6
- const MiscUtils_1 = require("../utils/MiscUtils");
7
- const NavigateWithinStreetView_1 = require("./NavigateWithinStreetView");
8
- const AggregateExtractedStreetviewDataTool_1 = require("./AggregateExtractedStreetviewDataTool");
9
- const zod_1 = require("zod");
10
- const ToolSchema_1 = require("../models/ToolSchema");
11
- exports.PropertyTypeSchema = zod_1.z.enum([
12
- 'RESIDENTIAL',
13
- 'RETAIL',
14
- 'OFFICE_BUILDING',
15
- 'INDUSTRIAL',
16
- 'EMPTY_LOT',
17
- ]);
18
- exports.ExtractGoogleStreetviewEntityDataCoreSchema = zod_1.z.object({
19
- entityName: zod_1.z
20
- .string()
21
- .describe('The target business/entity to keep a careful eye out for.'),
22
- });
23
- exports.ExtractGoogleStreetviewEntityDataGptSchema = ToolSchema_1.BaseGptArgsSchema.merge(exports.ExtractGoogleStreetviewEntityDataCoreSchema);
24
- const ExtractBusinessDataSchema = zod_1.z.object({
25
- businessSignage: zod_1.z
26
- .array(zod_1.z.string())
27
- .describe('A list of all of the business signage text'),
28
- otherSignage: zod_1.z
29
- .array(zod_1.z.string())
30
- .describe('A list of all of the non-business signage text'),
31
- typeOfProperty: exports.PropertyTypeSchema,
32
- recommendedNextStepForStreetViewNavigator: NavigateWithinStreetView_1.Action.describe('Recommended next step for street view navigation'),
33
- });
34
- const DoesBusinessExistSchema = zod_1.z.object({
35
- isBusinessMatch: zod_1.z
36
- .boolean()
37
- .describe('Set to true IF AND ONLY IF the business being sought exists in given business signage'),
38
- });
39
- exports.MetadataSchema = zod_1.z.object({
40
- businessSignage: zod_1.z.array(zod_1.z.string()),
41
- otherSignage: zod_1.z.array(zod_1.z.string()),
42
- isBusinessMatch: zod_1.z.boolean(),
43
- imageId: zod_1.z.string(),
44
- googleMapsStreetviewUrl: zod_1.z.string(),
45
- typeOfProperty: exports.PropertyTypeSchema,
46
- recommendedNextStepForStreetViewNavigator: NavigateWithinStreetView_1.Action,
47
- });
48
- /**
49
- * Extracts data from the current Google Maps Street View. If the current page is not a Google Maps
50
- * Street View, then the operation is undefined.
51
- */
52
- class ExtractGoogleStreetviewEntityDataTool extends Tool_1.Tool {
53
- constructor() {
54
- super(ExtractGoogleStreetviewEntityDataTool.NAME, `Extract business/entity data from the current Google Maps street view, paying particular attention for a given target
55
- business/entity. This tool should be called for each unique street view.`, exports.ExtractGoogleStreetviewEntityDataCoreSchema, exports.ExtractGoogleStreetviewEntityDataGptSchema, true);
56
- }
57
- async call(context, parameters) {
58
- const page = context.page.current;
59
- const firstCallForThisUrl = context.invokedToolCalls.find((tc) => tc.toolName === this.name && tc.page === page.url());
60
- // Remove Google Maps survey if present
61
- await NavigateWithinStreetView_1.NavigateWithinStreetViewTool.removeGoogleMapsSurvey(page);
62
- if (firstCallForThisUrl) {
63
- await context.interactionVisualizer.pointAt(page, page.locator('body'), `Skipping ${this.name} call since it has already extracted data for this view.`);
64
- const originalRec = firstCallForThisUrl.parameters
65
- .recommendedNextStepForStreetViewNavigator;
66
- const advice = !originalRec
67
- ? ''
68
- : `The prior recommendedNextStepForStreetViewNavigator was \`${originalRec}\`, maybe try something else.`;
69
- return {
70
- isSuccessful: true,
71
- forLlm: `Skipping ${this.name} call since it has already extracted data for this view.
72
- Call the ${NavigateWithinStreetView_1.NavigateWithinStreetViewTool.NAME} tool next!
73
- ${advice}`.trim(),
74
- metadata: null,
75
- };
76
- }
77
- else {
78
- const entityName = parameters.entityName.trim();
79
- await this.wiggleMouseThenPause(page);
80
- const screenshot = await PlaywrightUtils_1.PlaywrightUtils.takeViewportScreenshot(page);
81
- const screenshotFilename = await context.persistence.saveScreenShot(context.metadata.id, screenshot);
82
- const googleMapsStreetviewUrl = page.url();
83
- const entityData = await this.extractEntityData(context, screenshot);
84
- const filteredBusinessSignage = entityData.businessSignage.filter((sign) => sign && sign.trim() !== '');
85
- const otherSignage = entityData.otherSignage
86
- ? entityData.otherSignage.filter((sign) => sign && sign.trim() !== '')
87
- : [];
88
- const doesBusinessExistInSignage = await this.doesBusinessExistInSignage(context, entityName, filteredBusinessSignage);
89
- const metadata = {
90
- businessSignage: filteredBusinessSignage,
91
- otherSignage,
92
- isBusinessMatch: doesBusinessExistInSignage,
93
- imageId: screenshotFilename,
94
- googleMapsStreetviewUrl,
95
- typeOfProperty: entityData.typeOfProperty,
96
- recommendedNextStepForStreetViewNavigator: entityData.recommendedNextStepForStreetViewNavigator,
97
- };
98
- // Validate the metadata against our schema
99
- const validatedMetadata = exports.MetadataSchema.parse(metadata);
100
- if (doesBusinessExistInSignage) {
101
- context.proposedToolCalls.push({
102
- name: AggregateExtractedStreetviewDataTool_1.AggregateExtractedStreetviewDataTool.NAME,
103
- parameters: {},
104
- });
105
- }
106
- const dataForGpt = JSON.stringify(validatedMetadata, null, 2);
107
- return {
108
- isSuccessful: true,
109
- forLlm: dataForGpt,
110
- metadata: validatedMetadata,
111
- };
112
- }
113
- }
114
- callFromGpt(context, parameters) {
115
- return this.call(context, parameters);
116
- }
117
- async wiggleMouseThenPause(page) {
118
- const rand = Math.random();
119
- const x = 650 + Math.floor(rand * 10);
120
- const y = 550 + Math.floor(rand * 10);
121
- const wiggleDistance = 5 + Math.floor(rand * 5);
122
- await page.mouse.move(x, y);
123
- await page.waitForTimeout(10 + Math.floor(rand * 50));
124
- await page.mouse.move(x + wiggleDistance, y);
125
- await page.waitForTimeout(10 + Math.floor(rand * 50));
126
- await page.mouse.move(x, y + wiggleDistance);
127
- await page.waitForTimeout(10 + Math.floor(rand * 50));
128
- await page.mouse.move(x - wiggleDistance, y);
129
- await page.waitForTimeout(10 + Math.floor(rand * 50));
130
- await page.mouse.move(x, y - wiggleDistance);
131
- await page.waitForTimeout(5000);
132
- }
133
- async extractEntityData(context, screenshot) {
134
- const promptText = {
135
- type: 'text',
136
- text: 'You are a Google Maps street-view navigator. Extract the business data in this Google Maps street view and recommend next steps for street view navigator to view the building better.',
137
- };
138
- const userMessage = {
139
- type: 'user',
140
- items: [{ type: 'jpeg', bytes: screenshot }, promptText],
141
- };
142
- const gptResp = await context.gptClient.getStructuredOutput([userMessage], ExtractBusinessDataSchema);
143
- MiscUtils_1.MiscUtils.updateTokenCounts(gptResp, context.metadata);
144
- const validatedResponse = ExtractBusinessDataSchema.parse(gptResp.output);
145
- return validatedResponse;
146
- }
147
- async doesBusinessExistInSignage(context, businessName, businessSignage) {
148
- const promptText = {
149
- type: 'text',
150
- text: `Does the business/entity, ${businessName}, exist in this list of business signage? Signage: ${businessSignage}`,
151
- };
152
- const userMessage = {
153
- type: 'user',
154
- items: [promptText],
155
- };
156
- const gptResp = await context.gptClient.getStructuredOutput([userMessage], DoesBusinessExistSchema);
157
- MiscUtils_1.MiscUtils.updateTokenCounts(gptResp, context.metadata);
158
- const validatedResponse = DoesBusinessExistSchema.parse(gptResp.output);
159
- return validatedResponse.isBusinessMatch;
160
- }
161
- }
162
- exports.ExtractGoogleStreetviewEntityDataTool = ExtractGoogleStreetviewEntityDataTool;
163
- ExtractGoogleStreetviewEntityDataTool.NAME = 'extractGoogleStreetviewEntityData';
164
- //# sourceMappingURL=ExtractGoogleStreetviewEntityDataTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExtractGoogleStreetviewEntityDataTool.js","sourceRoot":"","sources":["../../../src/tools/ExtractGoogleStreetviewEntityDataTool.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- import { Tool } from './Tool';
2
- import { ToolCallContext } from '../models/ToolCallContext';
3
- import { ToolCallResult } from '../models/ToolCallResult';
4
- import { BaseGptArgsSchema, NoArgsSchema } from '../models/ToolSchema';
5
- import { z } from 'zod';
6
- /**
7
- * This tool scans the current web page for publishable payment
8
- * provider credentials and merchant IDs from the current page's inline `<script>` blocks.
9
- *
10
- * ### Supported providers
11
- * | Provider | Type | Regex | Example |
12
- * |----------|-------------|------------------------------------------|----------------------|
13
- * | Stripe | Publishable | `/pk_(test\|live)_[A-Za-z0-9]+/i` | `pk_test_51M…` |
14
- * | Stripe | Merchant ID | `/acct_[A-Za-z0-9]{8,}/i` | `acct_1AB23CD4` |
15
- * | PayPal | Client ID | `/A[A-Za-z0-9-_]{75,}/i` | `AUGIH…` |
16
- * | PayPal | Merchant ID | `merchant[-_]?id=([A-Z0-9]{13,17})` | `2WVSVREX9TL9J` |
17
- *
18
- * On **success** the tool returns a JSON object containing any discovered keys and the
19
- * URL of the page that was scanned. If **no keys** are found, `isSuccessful` is set to
20
- * `false` and a short error string is provided.
21
- *
22
- * ```json
23
- * {
24
- * "stripe": ["pk_test_123"],
25
- * "paypal": ["AUGIH…"],
26
- * "stripeMerchant": ["acct_1AB23CD4"],
27
- * "paypalMerchant": ["2WVSVREX9TL9J"],
28
- * "checkoutPageUrl": "https://shop.example.com/checkout"
29
- * }
30
- * ```
31
- */
32
- export declare class ExtractPaymentProviderKeyTool extends Tool<typeof NoArgsSchema, typeof BaseGptArgsSchema> {
33
- static readonly NAME = "extractPaymentProviderKey";
34
- private static readonly EXCLUDED_PATTERNS;
35
- private static readonly PAYPAL_CLIENT_ID_PATTERN;
36
- private static readonly PAYPAL_CONTEXT_INDICATORS;
37
- private static readonly PAYPAL_MERCHANT_CONTEXT_INDICATORS;
38
- private static readonly STRIPE_MERCHANT_CONTEXT_INDICATORS;
39
- constructor();
40
- call(context: ToolCallContext, _parameters: z.infer<typeof NoArgsSchema>): Promise<ToolCallResult>;
41
- callFromGpt(context: ToolCallContext, parameters: z.infer<typeof BaseGptArgsSchema>): Promise<ToolCallResult>;
42
- /**
43
- * Extract potential PayPal client ID candidates from script content
44
- */
45
- private extractPayPalCandidates;
46
- /**
47
- * Enhanced validation for PayPal client IDs
48
- */
49
- private isValidPayPalClientId;
50
- /**
51
- * Validate Stripe merchant IDs
52
- */
53
- private isValidStripeMerchantId;
54
- /**
55
- * Validate PayPal merchant IDs
56
- */
57
- private isValidPayPalMerchantId;
58
- /**
59
- * Check for strong PayPal contextual indicators near the candidate key
60
- */
61
- private hasStrongPayPalContext;
62
- /**
63
- * Check for Stripe contextual indicators near the merchant ID
64
- */
65
- private hasStripeContext;
66
- /**
67
- * Check for PayPal merchant contextual indicators near the merchant ID
68
- */
69
- private hasPayPalMerchantContext;
70
- /**
71
- * Check if the candidate appears in a structured context (assignments, objects, etc.)
72
- */
73
- private hasStructuredPayPalContext;
74
- /**
75
- * Collects text bodies for:
76
- * - all inline <script> blocks
77
- * - every <script src="…"> that is present in the DOM
78
- */
79
- private static getAllScriptSources;
80
- }
81
- //# sourceMappingURL=ExtractPaymentProviderKeyTool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExtractPaymentProviderKeyTool.d.ts","sourceRoot":"","sources":["../../../src/tools/ExtractPaymentProviderKeyTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,6BAA8B,SAAQ,IAAI,CACrD,OAAO,YAAY,EACnB,OAAO,iBAAiB,CACzB;IACC,gBAAuB,IAAI,+BAA+B;IAG1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAmBvC;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAA6B;IAG7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAW/C;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAWxD;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAUxD;;IAWoB,IAAI,CACxB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GACxC,OAAO,CAAC,cAAc,CAAC;IAsFJ,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GAC5C,OAAO,CAAC,cAAc,CAAC;IAI1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgB/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+B7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;;;OAIG;mBACkB,mBAAmB;CAkCzC"}
@@ -1,316 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExtractPaymentProviderKeyTool = void 0;
4
- const Tool_1 = require("./Tool");
5
- const ToolSchema_1 = require("../models/ToolSchema");
6
- /**
7
- * This tool scans the current web page for publishable payment
8
- * provider credentials and merchant IDs from the current page's inline `<script>` blocks.
9
- *
10
- * ### Supported providers
11
- * | Provider | Type | Regex | Example |
12
- * |----------|-------------|------------------------------------------|----------------------|
13
- * | Stripe | Publishable | `/pk_(test\|live)_[A-Za-z0-9]+/i` | `pk_test_51M…` |
14
- * | Stripe | Merchant ID | `/acct_[A-Za-z0-9]{8,}/i` | `acct_1AB23CD4` |
15
- * | PayPal | Client ID | `/A[A-Za-z0-9-_]{75,}/i` | `AUGIH…` |
16
- * | PayPal | Merchant ID | `merchant[-_]?id=([A-Z0-9]{13,17})` | `2WVSVREX9TL9J` |
17
- *
18
- * On **success** the tool returns a JSON object containing any discovered keys and the
19
- * URL of the page that was scanned. If **no keys** are found, `isSuccessful` is set to
20
- * `false` and a short error string is provided.
21
- *
22
- * ```json
23
- * {
24
- * "stripe": ["pk_test_123"],
25
- * "paypal": ["AUGIH…"],
26
- * "stripeMerchant": ["acct_1AB23CD4"],
27
- * "paypalMerchant": ["2WVSVREX9TL9J"],
28
- * "checkoutPageUrl": "https://shop.example.com/checkout"
29
- * }
30
- * ```
31
- */
32
- class ExtractPaymentProviderKeyTool extends Tool_1.Tool {
33
- constructor() {
34
- super(ExtractPaymentProviderKeyTool.NAME, 'Extract multiple publishable payment provider keys and merchant IDs from the current page.', ToolSchema_1.NoArgsSchema, ToolSchema_1.BaseGptArgsSchema);
35
- }
36
- async call(context, _parameters) {
37
- const page = context.page.current;
38
- // Retrieve all <script> tags' content, handling potential empty or null attributes
39
- const scriptContents = (await ExtractPaymentProviderKeyTool.getAllScriptSources(page)).join('\n');
40
- // Define regex patterns for different payment provider keys
41
- const stripePattern = /(pk_(test|live)_[A-Za-z0-9]+)/gi;
42
- const stripeMerchantPattern = /(acct_[A-Za-z0-9]{8,})/gi;
43
- const paypalMerchantPattern = /merchant[-_]?id\s*=\s*([A-Z0-9]{13,17})/gi;
44
- const stripeKeys = new Set();
45
- const paypalKeys = new Set();
46
- const stripeMerchantIds = new Set();
47
- const paypalMerchantIds = new Set();
48
- // Search for Stripe keys (these are well-defined and reliable)
49
- const stripeMatches = scriptContents.matchAll(stripePattern);
50
- for (const match of stripeMatches) {
51
- stripeKeys.add(match[1]);
52
- }
53
- // Search for Stripe merchant IDs
54
- const stripeMerchantMatches = scriptContents.matchAll(stripeMerchantPattern);
55
- for (const match of stripeMerchantMatches) {
56
- if (this.isValidStripeMerchantId(match[1], scriptContents)) {
57
- stripeMerchantIds.add(match[1]);
58
- }
59
- }
60
- // Search for PayPal client IDs with improved filtering
61
- const paypalCandidates = this.extractPayPalCandidates(scriptContents);
62
- for (const candidate of paypalCandidates) {
63
- if (this.isValidPayPalClientId(candidate, scriptContents)) {
64
- paypalKeys.add(candidate);
65
- }
66
- }
67
- // Search for PayPal merchant IDs
68
- const paypalMerchantMatches = scriptContents.matchAll(paypalMerchantPattern);
69
- for (const match of paypalMerchantMatches) {
70
- if (this.isValidPayPalMerchantId(match[1], scriptContents)) {
71
- paypalMerchantIds.add(match[1]);
72
- }
73
- }
74
- // If no keys were found, return failed result
75
- if (stripeKeys.size === 0 &&
76
- paypalKeys.size === 0 &&
77
- stripeMerchantIds.size === 0 &&
78
- paypalMerchantIds.size === 0) {
79
- const error = 'No publishable keys or merchant IDs found on the current page.';
80
- return {
81
- isSuccessful: false,
82
- forLlm: error,
83
- metadata: {
84
- error: error,
85
- },
86
- };
87
- }
88
- else {
89
- // Signal to end the flow
90
- context.metadata.nextState = 'SUCCESS';
91
- const result = {
92
- stripe: Array.from(stripeKeys),
93
- paypal: Array.from(paypalKeys),
94
- stripeMerchant: Array.from(stripeMerchantIds),
95
- paypalMerchant: Array.from(paypalMerchantIds),
96
- checkoutPageUrl: page.url(),
97
- };
98
- return {
99
- isSuccessful: true,
100
- forLlm: JSON.stringify(result, null, 2),
101
- metadata: result,
102
- };
103
- }
104
- }
105
- async callFromGpt(context, parameters) {
106
- return this.call(context, parameters);
107
- }
108
- /**
109
- * Extract potential PayPal client ID candidates from script content
110
- */
111
- extractPayPalCandidates(scriptContents) {
112
- // Look for strings that start with 'A' and are 75+ characters long
113
- const candidatePattern = /\bA[A-Za-z0-9_-]{75,}\b/g;
114
- const candidates = Array.from(scriptContents.matchAll(candidatePattern))
115
- .map((match) => match[0])
116
- .filter((candidate) => {
117
- // Filter out obvious false positives
118
- return !ExtractPaymentProviderKeyTool.EXCLUDED_PATTERNS.some((pattern) => pattern.test(candidate));
119
- });
120
- // Remove duplicates
121
- return Array.from(new Set(candidates));
122
- }
123
- /**
124
- * Enhanced validation for PayPal client IDs
125
- */
126
- isValidPayPalClientId(candidate, scriptContents) {
127
- // Must match the expected pattern
128
- if (!ExtractPaymentProviderKeyTool.PAYPAL_CLIENT_ID_PATTERN.test(candidate)) {
129
- return false;
130
- }
131
- // Must not be a Stripe key
132
- if (candidate.match(/pk_(test|live)_/i)) {
133
- return false;
134
- }
135
- // Must have strong contextual evidence
136
- const hasStrongContext = this.hasStrongPayPalContext(candidate, scriptContents);
137
- // Additional validation: check if it appears in a structured context
138
- const hasStructuredContext = this.hasStructuredPayPalContext(candidate, scriptContents);
139
- return hasStrongContext && hasStructuredContext;
140
- }
141
- /**
142
- * Validate Stripe merchant IDs
143
- */
144
- isValidStripeMerchantId(candidate, scriptContents) {
145
- // Must start with 'acct_' and be at least 8 characters after prefix
146
- if (!/^acct_[A-Za-z0-9]{8,}$/i.test(candidate)) {
147
- return false;
148
- }
149
- // Check for Stripe contextual indicators
150
- return this.hasStripeContext(candidate, scriptContents);
151
- }
152
- /**
153
- * Validate PayPal merchant IDs
154
- */
155
- isValidPayPalMerchantId(candidate, scriptContents) {
156
- // Must be 13-17 characters long and contain only uppercase letters and numbers
157
- if (!/^[A-Z0-9]{13,17}$/.test(candidate)) {
158
- return false;
159
- }
160
- // Check for PayPal merchant contextual indicators
161
- return this.hasPayPalMerchantContext(candidate, scriptContents);
162
- }
163
- /**
164
- * Check for strong PayPal contextual indicators near the candidate key
165
- */
166
- hasStrongPayPalContext(candidate, scriptContents) {
167
- const escapedKey = candidate.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
168
- // Look for PayPal indicators within a reasonable distance (500 characters)
169
- for (const indicator of ExtractPaymentProviderKeyTool.PAYPAL_CONTEXT_INDICATORS) {
170
- const contextPattern = new RegExp(`(?:${indicator}[\\s\\S]{0,500}${escapedKey}|${escapedKey}[\\s\\S]{0,500}${indicator})`, 'i');
171
- if (contextPattern.test(scriptContents)) {
172
- return true;
173
- }
174
- }
175
- return false;
176
- }
177
- /**
178
- * Check for Stripe contextual indicators near the merchant ID
179
- */
180
- hasStripeContext(candidate, scriptContents) {
181
- const escapedKey = candidate.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
182
- // Look for Stripe indicators within a reasonable distance (500 characters)
183
- for (const indicator of ExtractPaymentProviderKeyTool.STRIPE_MERCHANT_CONTEXT_INDICATORS) {
184
- const contextPattern = new RegExp(`(?:${indicator}[\\s\\S]{0,500}${escapedKey}|${escapedKey}[\\s\\S]{0,500}${indicator})`, 'i');
185
- if (contextPattern.test(scriptContents)) {
186
- return true;
187
- }
188
- }
189
- return false;
190
- }
191
- /**
192
- * Check for PayPal merchant contextual indicators near the merchant ID
193
- */
194
- hasPayPalMerchantContext(candidate, scriptContents) {
195
- const escapedKey = candidate.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
196
- // Look for PayPal merchant indicators within a reasonable distance (500 characters)
197
- for (const indicator of ExtractPaymentProviderKeyTool.PAYPAL_MERCHANT_CONTEXT_INDICATORS) {
198
- const contextPattern = new RegExp(`(?:${indicator}[\\s\\S]{0,500}${escapedKey}|${escapedKey}[\\s\\S]{0,500}${indicator})`, 'i');
199
- if (contextPattern.test(scriptContents)) {
200
- return true;
201
- }
202
- }
203
- return false;
204
- }
205
- /**
206
- * Check if the candidate appears in a structured context (assignments, objects, etc.)
207
- */
208
- hasStructuredPayPalContext(candidate, scriptContents) {
209
- const escapedKey = candidate.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
210
- // Look for patterns that suggest this is a configured value
211
- const structuredPatterns = [
212
- // Direct assignment patterns
213
- new RegExp(`(?:client_?id|clientId)\\s*[:=]\\s*['"\`]${escapedKey}['"\`]`, 'i'),
214
- // Object property patterns
215
- new RegExp(`['"\`](?:client_?id|clientId)['"\`]\\s*:\\s*['"\`]${escapedKey}['"\`]`, 'i'),
216
- // PayPal SDK configuration patterns
217
- new RegExp(`paypal[\\s\\S]{0,200}['"\`]${escapedKey}['"\`]`, 'i'),
218
- // Data attribute patterns
219
- new RegExp(`data-[\\w-]*client[\\w-]*\\s*=\\s*['"\`]${escapedKey}['"\`]`, 'i'),
220
- ];
221
- return structuredPatterns.some((pattern) => pattern.test(scriptContents));
222
- }
223
- /**
224
- * Collects text bodies for:
225
- * - all inline <script> blocks
226
- * - every <script src="…"> that is present in the DOM
227
- */
228
- static async getAllScriptSources(page) {
229
- // 1 — inline scripts (fast, single browser-side pass)
230
- const inlineTexts = await page.$$eval('script:not([src])', (els) => els.map((s) => s.textContent ?? '').filter(Boolean));
231
- // 2 — external scripts
232
- const srcUrls = await page.$$eval('script[src]', (els) => els.map((s) => s.src));
233
- const contextRequest = page.context().request;
234
- const externalTexts = await Promise.all(srcUrls.map(async (url) => {
235
- try {
236
- // Playwright's request API bypasses CORS / CSP and honours cache validators.
237
- const resp = await contextRequest.get(url);
238
- if (!resp.ok() ||
239
- +(resp.headers()['content-length'] ?? 0) > 1000000) {
240
- return ''; // skip huge or bad responses
241
- }
242
- // Trim very large bodies in memory-friendly way
243
- const text = await resp.text();
244
- return text.slice(0, 1000000); // hard cap at 1 MB
245
- }
246
- catch {
247
- return '';
248
- }
249
- }));
250
- return [...inlineTexts, ...externalTexts.filter(Boolean)];
251
- }
252
- }
253
- exports.ExtractPaymentProviderKeyTool = ExtractPaymentProviderKeyTool;
254
- ExtractPaymentProviderKeyTool.NAME = 'extractPaymentProviderKey';
255
- // Common false positive patterns to exclude
256
- ExtractPaymentProviderKeyTool.EXCLUDED_PATTERNS = [
257
- /babel_runtime/i,
258
- /webpack/i,
259
- /__IMPORTED_MODULE/i,
260
- /defineProperty/i,
261
- /toConsumableArray/i,
262
- /stringify/i,
263
- /setTimeout/i,
264
- /indexOf/i,
265
- /concat/i,
266
- /assign/i,
267
- /isArray/i,
268
- /forEach/i,
269
- // Common base64/random data patterns
270
- /^[A-Za-z0-9+/=]{76,}$/, // Pure base64
271
- /^[A-Z]{10,}$/, // All caps strings
272
- // Google/Meta tracking IDs that might be long
273
- /^G-[A-Z0-9]{10}$/,
274
- /^UA-\d+-\d+$/,
275
- ];
276
- // PayPal client IDs have specific characteristics
277
- ExtractPaymentProviderKeyTool.PAYPAL_CLIENT_ID_PATTERN = /^A[A-Za-z0-9_-]{75,79}$/;
278
- // Strong PayPal contextual indicators
279
- ExtractPaymentProviderKeyTool.PAYPAL_CONTEXT_INDICATORS = [
280
- 'paypal',
281
- 'client_id',
282
- 'client-id',
283
- 'clientId',
284
- 'PAYPAL',
285
- 'CLIENT_ID',
286
- 'paypal.com',
287
- 'paypaljs',
288
- 'paypal-js',
289
- 'checkout.paypal.com',
290
- ];
291
- // PayPal merchant ID contextual indicators
292
- ExtractPaymentProviderKeyTool.PAYPAL_MERCHANT_CONTEXT_INDICATORS = [
293
- 'merchant',
294
- 'seller',
295
- 'business',
296
- 'paypal',
297
- 'PAYPAL',
298
- 'merchant_id',
299
- 'merchant-id',
300
- 'merchantId',
301
- 'sellerId',
302
- 'businessId',
303
- ];
304
- // Stripe merchant ID contextual indicators
305
- ExtractPaymentProviderKeyTool.STRIPE_MERCHANT_CONTEXT_INDICATORS = [
306
- 'stripe',
307
- 'account',
308
- 'merchant',
309
- 'acct_',
310
- 'STRIPE',
311
- 'ACCOUNT',
312
- 'connect',
313
- 'platform',
314
- 'destination',
315
- ];
316
- //# sourceMappingURL=ExtractPaymentProviderKeyTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExtractPaymentProviderKeyTool.js","sourceRoot":"","sources":["../../../src/tools/ExtractPaymentProviderKeyTool.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import { Tool } from './Tool';
2
- import { ToolCallContext } from '../models/ToolCallContext';
3
- import { ToolCallResult } from '../models/ToolCallResult';
4
- import { z } from 'zod';
5
- export declare const ExtractPublicFacebookEntityDataCoreSchema: z.ZodObject<{
6
- facebookEntityName: z.ZodOptional<z.ZodString>;
7
- facebookEntityUrl: z.ZodOptional<z.ZodString>;
8
- }, "strip", z.ZodTypeAny, {
9
- facebookEntityName?: string | undefined;
10
- facebookEntityUrl?: string | undefined;
11
- }, {
12
- facebookEntityName?: string | undefined;
13
- facebookEntityUrl?: string | undefined;
14
- }>;
15
- export declare const ExtractPublicFacebookEntityDataGptSchema: z.ZodObject<{
16
- rationale: z.ZodString;
17
- } & {
18
- facebookEntityName: z.ZodOptional<z.ZodString>;
19
- facebookEntityUrl: z.ZodOptional<z.ZodString>;
20
- }, "strip", z.ZodTypeAny, {
21
- rationale: string;
22
- facebookEntityName?: string | undefined;
23
- facebookEntityUrl?: string | undefined;
24
- }, {
25
- rationale: string;
26
- facebookEntityName?: string | undefined;
27
- facebookEntityUrl?: string | undefined;
28
- }>;
29
- export declare class ExtractPublicFacebookEntityDataTool extends Tool<typeof ExtractPublicFacebookEntityDataCoreSchema, typeof ExtractPublicFacebookEntityDataGptSchema> {
30
- static readonly NAME = "extractPublicFacebookEntityData";
31
- constructor();
32
- call(context: ToolCallContext, parameters: z.infer<typeof ExtractPublicFacebookEntityDataCoreSchema>): Promise<ToolCallResult>;
33
- callFromGpt(context: ToolCallContext, parameters: z.infer<typeof ExtractPublicFacebookEntityDataGptSchema>): Promise<ToolCallResult>;
34
- private getInitialFacebookPageUrl;
35
- private getAboutProfileTransparencyPageUrl;
36
- private getAboutContactAndBasicInfoPageUrl;
37
- private closeModal;
38
- }
39
- //# sourceMappingURL=ExtractPublicFacebookEntityDataTool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExtractPublicFacebookEntityDataTool.d.ts","sourceRoot":"","sources":["../../../src/tools/ExtractPublicFacebookEntityDataTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,yCAAyC;;;;;;;;;EAapD,CAAC;AAEH,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;EAEpD,CAAC;AAwFF,qBAAa,mCAAoC,SAAQ,IAAI,CAC3D,OAAO,yCAAyC,EAChD,OAAO,wCAAwC,CAChD;IACC,gBAAuB,IAAI,qCAAqC;;IAY1C,IAAI,CACxB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yCAAyC,CAAC,GACpE,OAAO,CAAC,cAAc,CAAC;IAsHJ,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wCAAwC,CAAC,GACnE,OAAO,CAAC,cAAc,CAAC;IAI1B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,kCAAkC;YAa5B,UAAU;CAYzB"}