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.
- package/dist/apis/SpecialFlowsApi.d.ts.map +1 -1
- package/dist/apis/SpecialFlowsApi.js +60 -31
- package/dist/apis/SpecialFlowsApi.js.map +1 -1
- package/dist/apis/ToolsApi.d.ts +1 -6
- package/dist/apis/ToolsApi.d.ts.map +1 -1
- package/dist/apis/ToolsApi.js +4 -6
- package/dist/apis/ToolsApi.js.map +1 -1
- package/dist/assets/generated/version +1 -1
- package/dist/esm/apis/SpecialFlowsApi.d.ts.map +1 -1
- package/dist/esm/apis/SpecialFlowsApi.js +60 -31
- package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
- package/dist/esm/apis/ToolsApi.d.ts +1 -6
- package/dist/esm/apis/ToolsApi.d.ts.map +1 -1
- package/dist/esm/apis/ToolsApi.js +4 -6
- package/dist/esm/apis/ToolsApi.js.map +1 -1
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/lib/fixtures/gptClients.js +1 -1
- package/dist/esm/lib/testExtension.d.ts.map +1 -1
- package/dist/esm/lib/testExtension.js +9 -2
- package/dist/esm/lib/testExtension.js.map +1 -1
- package/dist/esm/lib/utils/selfHealing.d.ts.map +1 -1
- package/dist/esm/lib/utils/selfHealing.js +44 -45
- package/dist/esm/lib/utils/selfHealing.js.map +1 -1
- package/dist/esm/main.d.ts +2 -0
- package/dist/esm/main.d.ts.map +1 -1
- package/dist/esm/main.js +7 -0
- package/dist/esm/main.js.map +1 -1
- package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
- package/dist/esm/managers/AdminApiController.js +1 -2
- package/dist/esm/managers/AdminApiController.js.map +1 -1
- package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
- package/dist/esm/managers/CodeGenerator.js +2 -1
- package/dist/esm/managers/CodeGenerator.js.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.js +17 -16
- package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/esm/managers/GptConfigsManager.d.ts.map +1 -1
- package/dist/esm/managers/GptConfigsManager.js +3 -6
- package/dist/esm/managers/GptConfigsManager.js.map +1 -1
- package/dist/esm/managers/PageInspector.d.ts.map +1 -1
- package/dist/esm/managers/PageInspector.js +4 -2
- package/dist/esm/managers/PageInspector.js.map +1 -1
- package/dist/esm/managers/PluginLoader.d.ts +4 -0
- package/dist/esm/managers/PluginLoader.d.ts.map +1 -0
- package/dist/esm/managers/PluginLoader.js +104 -0
- package/dist/esm/managers/PluginLoader.js.map +1 -0
- package/dist/esm/managers/ToolManager.d.ts +8 -2
- package/dist/esm/managers/ToolManager.d.ts.map +1 -1
- package/dist/esm/managers/ToolManager.js +99 -74
- package/dist/esm/managers/ToolManager.js.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.js +42 -22
- package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
- package/dist/lib/fixtures/gptClients.js +1 -1
- package/dist/lib/testExtension.d.ts.map +1 -1
- package/dist/lib/testExtension.js +9 -2
- package/dist/lib/testExtension.js.map +1 -1
- package/dist/lib/utils/selfHealing.d.ts.map +1 -1
- package/dist/lib/utils/selfHealing.js +44 -45
- package/dist/lib/utils/selfHealing.js.map +1 -1
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +7 -0
- package/dist/main.js.map +1 -1
- package/dist/managers/AdminApiController.d.ts.map +1 -1
- package/dist/managers/AdminApiController.js +1 -2
- package/dist/managers/AdminApiController.js.map +1 -1
- package/dist/managers/CodeGenerator.d.ts.map +1 -1
- package/dist/managers/CodeGenerator.js +2 -1
- package/dist/managers/CodeGenerator.js.map +1 -1
- package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
- package/dist/managers/DonobuFlowsManager.js +17 -16
- package/dist/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/managers/GptConfigsManager.d.ts.map +1 -1
- package/dist/managers/GptConfigsManager.js +3 -6
- package/dist/managers/GptConfigsManager.js.map +1 -1
- package/dist/managers/PageInspector.d.ts.map +1 -1
- package/dist/managers/PageInspector.js +4 -2
- package/dist/managers/PageInspector.js.map +1 -1
- package/dist/managers/PluginLoader.d.ts +4 -0
- package/dist/managers/PluginLoader.d.ts.map +1 -0
- package/dist/managers/PluginLoader.js +104 -0
- package/dist/managers/PluginLoader.js.map +1 -0
- package/dist/managers/ToolManager.d.ts +8 -2
- package/dist/managers/ToolManager.d.ts.map +1 -1
- package/dist/managers/ToolManager.js +99 -74
- package/dist/managers/ToolManager.js.map +1 -1
- package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
- package/dist/utils/PlaywrightUtils.js +42 -22
- package/dist/utils/PlaywrightUtils.js.map +1 -1
- package/package.json +3 -2
- package/dist/esm/lib/utils/SelfHealingDebugReporter.d.ts +0 -69
- package/dist/esm/lib/utils/SelfHealingDebugReporter.d.ts.map +0 -1
- package/dist/esm/lib/utils/SelfHealingDebugReporter.js +0 -486
- package/dist/esm/lib/utils/SelfHealingDebugReporter.js.map +0 -1
- package/dist/esm/lib/utils/SelfHealingTestUtils.d.ts +0 -55
- package/dist/esm/lib/utils/SelfHealingTestUtils.d.ts.map +0 -1
- package/dist/esm/lib/utils/SelfHealingTestUtils.js +0 -335
- package/dist/esm/lib/utils/SelfHealingTestUtils.js.map +0 -1
- package/dist/esm/lib/utils/VideoArtifactManager.d.ts +0 -57
- package/dist/esm/lib/utils/VideoArtifactManager.d.ts.map +0 -1
- package/dist/esm/lib/utils/VideoArtifactManager.js +0 -343
- package/dist/esm/lib/utils/VideoArtifactManager.js.map +0 -1
- package/dist/esm/plugin/PluginLoader.d.ts +0 -3
- package/dist/esm/plugin/PluginLoader.d.ts.map +0 -1
- package/dist/esm/plugin/PluginLoader.js +0 -44
- package/dist/esm/plugin/PluginLoader.js.map +0 -1
- package/dist/esm/plugin/PluginModule.d.ts +0 -9
- package/dist/esm/plugin/PluginModule.d.ts.map +0 -1
- package/dist/esm/plugin/PluginModule.js +0 -3
- package/dist/esm/plugin/PluginModule.js.map +0 -1
- package/dist/esm/tools/AggregateExtractedStreetviewDataTool.d.ts +0 -22
- package/dist/esm/tools/AggregateExtractedStreetviewDataTool.d.ts.map +0 -1
- package/dist/esm/tools/AggregateExtractedStreetviewDataTool.js +0 -61
- package/dist/esm/tools/AggregateExtractedStreetviewDataTool.js.map +0 -1
- package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.d.ts +0 -62
- package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.d.ts.map +0 -1
- package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js +0 -164
- package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js.map +0 -1
- package/dist/esm/tools/ExtractPaymentProviderKeyTool.d.ts +0 -81
- package/dist/esm/tools/ExtractPaymentProviderKeyTool.d.ts.map +0 -1
- package/dist/esm/tools/ExtractPaymentProviderKeyTool.js +0 -316
- package/dist/esm/tools/ExtractPaymentProviderKeyTool.js.map +0 -1
- package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.d.ts +0 -39
- package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.d.ts.map +0 -1
- package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js +0 -228
- package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js.map +0 -1
- package/dist/esm/tools/GoToGoogleMapsStreetViewTool.d.ts +0 -47
- package/dist/esm/tools/GoToGoogleMapsStreetViewTool.d.ts.map +0 -1
- package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js +0 -126
- package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js.map +0 -1
- package/dist/esm/tools/NavigateWithinStreetView.d.ts +0 -54
- package/dist/esm/tools/NavigateWithinStreetView.d.ts.map +0 -1
- package/dist/esm/tools/NavigateWithinStreetView.js +0 -119
- package/dist/esm/tools/NavigateWithinStreetView.js.map +0 -1
- package/dist/lib/utils/SelfHealingDebugReporter.d.ts +0 -69
- package/dist/lib/utils/SelfHealingDebugReporter.d.ts.map +0 -1
- package/dist/lib/utils/SelfHealingDebugReporter.js +0 -486
- package/dist/lib/utils/SelfHealingDebugReporter.js.map +0 -1
- package/dist/lib/utils/SelfHealingTestUtils.d.ts +0 -55
- package/dist/lib/utils/SelfHealingTestUtils.d.ts.map +0 -1
- package/dist/lib/utils/SelfHealingTestUtils.js +0 -335
- package/dist/lib/utils/SelfHealingTestUtils.js.map +0 -1
- package/dist/lib/utils/VideoArtifactManager.d.ts +0 -57
- package/dist/lib/utils/VideoArtifactManager.d.ts.map +0 -1
- package/dist/lib/utils/VideoArtifactManager.js +0 -343
- package/dist/lib/utils/VideoArtifactManager.js.map +0 -1
- package/dist/plugin/PluginLoader.d.ts +0 -3
- package/dist/plugin/PluginLoader.d.ts.map +0 -1
- package/dist/plugin/PluginLoader.js +0 -44
- package/dist/plugin/PluginLoader.js.map +0 -1
- package/dist/plugin/PluginModule.d.ts +0 -9
- package/dist/plugin/PluginModule.d.ts.map +0 -1
- package/dist/plugin/PluginModule.js +0 -3
- package/dist/plugin/PluginModule.js.map +0 -1
- package/dist/tools/AggregateExtractedStreetviewDataTool.d.ts +0 -22
- package/dist/tools/AggregateExtractedStreetviewDataTool.d.ts.map +0 -1
- package/dist/tools/AggregateExtractedStreetviewDataTool.js +0 -61
- package/dist/tools/AggregateExtractedStreetviewDataTool.js.map +0 -1
- package/dist/tools/ExtractGoogleStreetviewEntityDataTool.d.ts +0 -62
- package/dist/tools/ExtractGoogleStreetviewEntityDataTool.d.ts.map +0 -1
- package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js +0 -164
- package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js.map +0 -1
- package/dist/tools/ExtractPaymentProviderKeyTool.d.ts +0 -81
- package/dist/tools/ExtractPaymentProviderKeyTool.d.ts.map +0 -1
- package/dist/tools/ExtractPaymentProviderKeyTool.js +0 -316
- package/dist/tools/ExtractPaymentProviderKeyTool.js.map +0 -1
- package/dist/tools/ExtractPublicFacebookEntityDataTool.d.ts +0 -39
- package/dist/tools/ExtractPublicFacebookEntityDataTool.d.ts.map +0 -1
- package/dist/tools/ExtractPublicFacebookEntityDataTool.js +0 -228
- package/dist/tools/ExtractPublicFacebookEntityDataTool.js.map +0 -1
- package/dist/tools/GoToGoogleMapsStreetViewTool.d.ts +0 -47
- package/dist/tools/GoToGoogleMapsStreetViewTool.d.ts.map +0 -1
- package/dist/tools/GoToGoogleMapsStreetViewTool.js +0 -126
- package/dist/tools/GoToGoogleMapsStreetViewTool.js.map +0 -1
- package/dist/tools/NavigateWithinStreetView.d.ts +0 -54
- package/dist/tools/NavigateWithinStreetView.d.ts.map +0 -1
- package/dist/tools/NavigateWithinStreetView.js +0 -119
- 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"}
|