donobu 2.26.0 → 2.27.1

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 (145) 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.map +1 -1
  5. package/dist/apis/ToolsApi.js +2 -1
  6. package/dist/apis/ToolsApi.js.map +1 -1
  7. package/dist/assets/control-panel.js +9 -0
  8. package/dist/assets/generated/version +1 -1
  9. package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
  10. package/dist/bindings/PageInteractionTracker.js +6 -1
  11. package/dist/bindings/PageInteractionTracker.js.map +1 -1
  12. package/dist/esm/apis/SpecialFlowsApi.d.ts.map +1 -1
  13. package/dist/esm/apis/SpecialFlowsApi.js +60 -31
  14. package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
  15. package/dist/esm/apis/ToolsApi.d.ts.map +1 -1
  16. package/dist/esm/apis/ToolsApi.js +2 -1
  17. package/dist/esm/apis/ToolsApi.js.map +1 -1
  18. package/dist/esm/assets/control-panel.js +9 -0
  19. package/dist/esm/assets/generated/version +1 -1
  20. package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
  21. package/dist/esm/bindings/PageInteractionTracker.js +6 -1
  22. package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
  23. package/dist/esm/lib/DonobuExtendedPage.d.ts +7 -0
  24. package/dist/esm/lib/DonobuExtendedPage.d.ts.map +1 -1
  25. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  26. package/dist/esm/lib/testExtension.js +13 -2
  27. package/dist/esm/lib/testExtension.js.map +1 -1
  28. package/dist/esm/lib/utils/selfHealing.d.ts +2 -2
  29. package/dist/esm/lib/utils/selfHealing.d.ts.map +1 -1
  30. package/dist/esm/lib/utils/selfHealing.js +55 -47
  31. package/dist/esm/lib/utils/selfHealing.js.map +1 -1
  32. package/dist/esm/main.d.ts +2 -0
  33. package/dist/esm/main.d.ts.map +1 -1
  34. package/dist/esm/main.js +2 -0
  35. package/dist/esm/main.js.map +1 -1
  36. package/dist/esm/managers/DonobuFlowsManager.d.ts +10 -2
  37. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  38. package/dist/esm/managers/DonobuFlowsManager.js +15 -6
  39. package/dist/esm/managers/DonobuFlowsManager.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.map +1 -1
  44. package/dist/esm/managers/PluginLoader.js +2 -1
  45. package/dist/esm/managers/PluginLoader.js.map +1 -1
  46. package/dist/esm/managers/ToolManager.d.ts +6 -2
  47. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  48. package/dist/esm/managers/ToolManager.js +90 -76
  49. package/dist/esm/managers/ToolManager.js.map +1 -1
  50. package/dist/esm/models/BrowserStorageState.d.ts +8 -23
  51. package/dist/esm/models/BrowserStorageState.d.ts.map +1 -1
  52. package/dist/esm/utils/BrowserUtils.d.ts +1 -1
  53. package/dist/esm/utils/BrowserUtils.d.ts.map +1 -1
  54. package/dist/esm/utils/BrowserUtils.js +4 -1
  55. package/dist/esm/utils/BrowserUtils.js.map +1 -1
  56. package/dist/esm/utils/PlaywrightUtils.d.ts +4 -3
  57. package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
  58. package/dist/esm/utils/PlaywrightUtils.js +60 -31
  59. package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
  60. package/dist/lib/DonobuExtendedPage.d.ts +7 -0
  61. package/dist/lib/DonobuExtendedPage.d.ts.map +1 -1
  62. package/dist/lib/testExtension.d.ts.map +1 -1
  63. package/dist/lib/testExtension.js +13 -2
  64. package/dist/lib/testExtension.js.map +1 -1
  65. package/dist/lib/utils/selfHealing.d.ts +2 -2
  66. package/dist/lib/utils/selfHealing.d.ts.map +1 -1
  67. package/dist/lib/utils/selfHealing.js +55 -47
  68. package/dist/lib/utils/selfHealing.js.map +1 -1
  69. package/dist/main.d.ts +2 -0
  70. package/dist/main.d.ts.map +1 -1
  71. package/dist/main.js +2 -0
  72. package/dist/main.js.map +1 -1
  73. package/dist/managers/DonobuFlowsManager.d.ts +10 -2
  74. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  75. package/dist/managers/DonobuFlowsManager.js +15 -6
  76. package/dist/managers/DonobuFlowsManager.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.js +2 -2
  81. package/dist/managers/PluginLoader.js.map +1 -1
  82. package/dist/managers/ToolManager.d.ts +6 -2
  83. package/dist/managers/ToolManager.d.ts.map +1 -1
  84. package/dist/managers/ToolManager.js +90 -76
  85. package/dist/managers/ToolManager.js.map +1 -1
  86. package/dist/models/BrowserStorageState.d.ts +8 -23
  87. package/dist/models/BrowserStorageState.d.ts.map +1 -1
  88. package/dist/models/FlowMetadata.d.ts.map +1 -1
  89. package/dist/utils/BrowserUtils.d.ts +1 -1
  90. package/dist/utils/BrowserUtils.d.ts.map +1 -1
  91. package/dist/utils/BrowserUtils.js +4 -1
  92. package/dist/utils/BrowserUtils.js.map +1 -1
  93. package/dist/utils/PlaywrightUtils.d.ts +4 -3
  94. package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
  95. package/dist/utils/PlaywrightUtils.js +60 -31
  96. package/dist/utils/PlaywrightUtils.js.map +1 -1
  97. package/package.json +3 -2
  98. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.d.ts +0 -22
  99. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.d.ts.map +0 -1
  100. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.js +0 -61
  101. package/dist/esm/tools/AggregateExtractedStreetviewDataTool.js.map +0 -1
  102. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.d.ts +0 -62
  103. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.d.ts.map +0 -1
  104. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js +0 -164
  105. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js.map +0 -1
  106. package/dist/esm/tools/ExtractPaymentProviderKeyTool.d.ts +0 -81
  107. package/dist/esm/tools/ExtractPaymentProviderKeyTool.d.ts.map +0 -1
  108. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js +0 -316
  109. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js.map +0 -1
  110. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.d.ts +0 -39
  111. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.d.ts.map +0 -1
  112. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js +0 -228
  113. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js.map +0 -1
  114. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.d.ts +0 -47
  115. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.d.ts.map +0 -1
  116. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js +0 -126
  117. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js.map +0 -1
  118. package/dist/esm/tools/NavigateWithinStreetView.d.ts +0 -54
  119. package/dist/esm/tools/NavigateWithinStreetView.d.ts.map +0 -1
  120. package/dist/esm/tools/NavigateWithinStreetView.js +0 -119
  121. package/dist/esm/tools/NavigateWithinStreetView.js.map +0 -1
  122. package/dist/tools/AggregateExtractedStreetviewDataTool.d.ts +0 -22
  123. package/dist/tools/AggregateExtractedStreetviewDataTool.d.ts.map +0 -1
  124. package/dist/tools/AggregateExtractedStreetviewDataTool.js +0 -61
  125. package/dist/tools/AggregateExtractedStreetviewDataTool.js.map +0 -1
  126. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.d.ts +0 -62
  127. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.d.ts.map +0 -1
  128. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js +0 -164
  129. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js.map +0 -1
  130. package/dist/tools/ExtractPaymentProviderKeyTool.d.ts +0 -81
  131. package/dist/tools/ExtractPaymentProviderKeyTool.d.ts.map +0 -1
  132. package/dist/tools/ExtractPaymentProviderKeyTool.js +0 -316
  133. package/dist/tools/ExtractPaymentProviderKeyTool.js.map +0 -1
  134. package/dist/tools/ExtractPublicFacebookEntityDataTool.d.ts +0 -39
  135. package/dist/tools/ExtractPublicFacebookEntityDataTool.d.ts.map +0 -1
  136. package/dist/tools/ExtractPublicFacebookEntityDataTool.js +0 -228
  137. package/dist/tools/ExtractPublicFacebookEntityDataTool.js.map +0 -1
  138. package/dist/tools/GoToGoogleMapsStreetViewTool.d.ts +0 -47
  139. package/dist/tools/GoToGoogleMapsStreetViewTool.d.ts.map +0 -1
  140. package/dist/tools/GoToGoogleMapsStreetViewTool.js +0 -126
  141. package/dist/tools/GoToGoogleMapsStreetViewTool.js.map +0 -1
  142. package/dist/tools/NavigateWithinStreetView.d.ts +0 -54
  143. package/dist/tools/NavigateWithinStreetView.d.ts.map +0 -1
  144. package/dist/tools/NavigateWithinStreetView.js +0 -119
  145. package/dist/tools/NavigateWithinStreetView.js.map +0 -1
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AggregateExtractedStreetviewDataTool = void 0;
4
- const Tool_1 = require("./Tool");
5
- const ExtractGoogleStreetviewEntityDataTool_1 = require("./ExtractGoogleStreetviewEntityDataTool");
6
- const ToolSchema_1 = require("../models/ToolSchema");
7
- /**
8
- * Ends the current flow by aggregating the data gathered by the ExtractGoogleStreetviewEntityDataTool
9
- * and GoToGoogleMapsStreetViewTool classes (likely kicked off by SpecialFlowsApi#extractGoogleStreetviewEntityData.
10
- * Note that there is special handling using the ExtractGoogleStreetviewEntityDataTool's
11
- * "recommendedNextStepForStreetViewNavigator", and "isBusinessMatch" fields. Additionally, there is
12
- * a check to see if GoToGoogleMapsStreetViewTool failed, since the entire flow is
13
- * predicated on that step succeeding.
14
- */
15
- class AggregateExtractedStreetviewDataTool extends Tool_1.Tool {
16
- constructor() {
17
- const extractTool = new ExtractGoogleStreetviewEntityDataTool_1.ExtractGoogleStreetviewEntityDataTool();
18
- super(AggregateExtractedStreetviewDataTool.NAME, `Aggregate data extracted by the '${extractTool.name}' tool and end the flow.
19
-
20
- IMPORTANT: Only business/entity data extracted via the '${extractTool.name}' tool is considered for this operation! Do NOT
21
- call this tool until all the relevant business/entity data has been extracted via that tool! Note that you
22
- need to call the '${extractTool.name}' for each unique street view!`, ToolSchema_1.NoArgsSchema, ToolSchema_1.BaseGptArgsSchema);
23
- }
24
- async call(context, _parameters) {
25
- const resultMetadata = AggregateExtractedStreetviewDataTool.aggregateStreetviewData(context.invokedToolCalls, context.metadata);
26
- return {
27
- isSuccessful: true,
28
- forLlm: 'Successfully aggregated the extracted street view data.',
29
- metadata: resultMetadata,
30
- };
31
- }
32
- static aggregateStreetviewData(invokedToolCalls, metadata) {
33
- const extractBusinessDataTool = new ExtractGoogleStreetviewEntityDataTool_1.ExtractGoogleStreetviewEntityDataTool();
34
- const accumulatedResults = invokedToolCalls
35
- .filter((tc) => tc.toolName === extractBusinessDataTool.name)
36
- .map((tc) => tc.outcome)
37
- .filter((outcome) => outcome.metadata !== null)
38
- .map((outcome) => outcome.metadata)
39
- .filter((metadata) => metadata.businessSignage !== undefined)
40
- .sort((a, b) => {
41
- // Sort in reverse order (true values first)
42
- return b.isBusinessMatch - a.isBusinessMatch;
43
- })
44
- .map((metadata) => {
45
- const copy = { ...metadata };
46
- delete copy.recommendedNextStepForStreetViewNavigator;
47
- return copy;
48
- });
49
- metadata.nextState = 'SUCCESS';
50
- return {
51
- streetviews: accumulatedResults,
52
- flowId: metadata.id,
53
- };
54
- }
55
- async callFromGpt(context, parameters) {
56
- return this.call(context, parameters);
57
- }
58
- }
59
- exports.AggregateExtractedStreetviewDataTool = AggregateExtractedStreetviewDataTool;
60
- AggregateExtractedStreetviewDataTool.NAME = 'aggregateExtractedStreetviewData';
61
- //# sourceMappingURL=AggregateExtractedStreetviewDataTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AggregateExtractedStreetviewDataTool.js","sourceRoot":"","sources":["../../../src/tools/AggregateExtractedStreetviewDataTool.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAG9B,mGAAgG;AAEhG,qDAAuE;AAGvE;;;;;;;GAOG;AACH,MAAa,oCAAqC,SAAQ,WAGzD;IAGC;QACE,MAAM,WAAW,GAAG,IAAI,6EAAqC,EAAE,CAAC;QAChE,KAAK,CACH,oCAAoC,CAAC,IAAI,EACzC,oCAAoC,WAAW,CAAC,IAAI;;gEAEM,WAAW,CAAC,IAAI;;0BAEtD,WAAW,CAAC,IAAI,gCAAgC,EACpE,yBAAY,EACZ,8BAAiB,CAClB,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CACxB,OAAwB,EACxB,WAAyC;QAEzC,MAAM,cAAc,GAClB,oCAAoC,CAAC,uBAAuB,CAC1D,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,QAAQ,CACjB,CAAC;QACJ,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,yDAAyD;YACjE,QAAQ,EAAE,cAAc;SACzB,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,uBAAuB,CACnC,gBAA4B,EAC5B,QAAa;QAEb,MAAM,uBAAuB,GAAG,IAAI,6EAAqC,EAAE,CAAC;QAE5E,MAAM,kBAAkB,GAAG,gBAAgB;aACxC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,uBAAuB,CAAC,IAAI,CAAC;aAC5D,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;aACvB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;aAC9C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;aAClC,MAAM,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC;aACjE,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;YACvB,4CAA4C;YAC5C,OAAO,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC;QAC/C,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChB,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,yCAAyC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEL,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;QAE/B,OAAO;YACL,WAAW,EAAE,kBAAkB;YAC/B,MAAM,EAAE,QAAQ,CAAC,EAAE;SACpB,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,WAAW,CAC/B,OAAwB,EACxB,UAA6C;QAE7C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;;AAvEH,oFAwEC;AApEwB,yCAAI,GAAG,kCAAkC,CAAC"}
@@ -1,62 +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 PropertyTypeSchema: z.ZodEnum<["RESIDENTIAL", "RETAIL", "OFFICE_BUILDING", "INDUSTRIAL", "EMPTY_LOT"]>;
6
- export declare const ExtractGoogleStreetviewEntityDataCoreSchema: z.ZodObject<{
7
- entityName: z.ZodString;
8
- }, "strip", z.ZodTypeAny, {
9
- entityName: string;
10
- }, {
11
- entityName: string;
12
- }>;
13
- export declare const ExtractGoogleStreetviewEntityDataGptSchema: z.ZodObject<{
14
- rationale: z.ZodString;
15
- } & {
16
- entityName: z.ZodString;
17
- }, "strip", z.ZodTypeAny, {
18
- rationale: string;
19
- entityName: string;
20
- }, {
21
- rationale: string;
22
- entityName: string;
23
- }>;
24
- export declare const MetadataSchema: z.ZodObject<{
25
- businessSignage: z.ZodArray<z.ZodString, "many">;
26
- otherSignage: z.ZodArray<z.ZodString, "many">;
27
- isBusinessMatch: z.ZodBoolean;
28
- imageId: z.ZodString;
29
- googleMapsStreetviewUrl: z.ZodString;
30
- typeOfProperty: z.ZodEnum<["RESIDENTIAL", "RETAIL", "OFFICE_BUILDING", "INDUSTRIAL", "EMPTY_LOT"]>;
31
- recommendedNextStepForStreetViewNavigator: z.ZodEnum<["ROTATE_CLOCKWISE", "ROTATE_COUNTERCLOCKWISE", "ZOOM_IN", "ZOOM_OUT"]>;
32
- }, "strip", z.ZodTypeAny, {
33
- businessSignage: string[];
34
- otherSignage: string[];
35
- typeOfProperty: "RESIDENTIAL" | "RETAIL" | "OFFICE_BUILDING" | "INDUSTRIAL" | "EMPTY_LOT";
36
- recommendedNextStepForStreetViewNavigator: "ROTATE_CLOCKWISE" | "ROTATE_COUNTERCLOCKWISE" | "ZOOM_IN" | "ZOOM_OUT";
37
- isBusinessMatch: boolean;
38
- imageId: string;
39
- googleMapsStreetviewUrl: string;
40
- }, {
41
- businessSignage: string[];
42
- otherSignage: string[];
43
- typeOfProperty: "RESIDENTIAL" | "RETAIL" | "OFFICE_BUILDING" | "INDUSTRIAL" | "EMPTY_LOT";
44
- recommendedNextStepForStreetViewNavigator: "ROTATE_CLOCKWISE" | "ROTATE_COUNTERCLOCKWISE" | "ZOOM_IN" | "ZOOM_OUT";
45
- isBusinessMatch: boolean;
46
- imageId: string;
47
- googleMapsStreetviewUrl: string;
48
- }>;
49
- /**
50
- * Extracts data from the current Google Maps Street View. If the current page is not a Google Maps
51
- * Street View, then the operation is undefined.
52
- */
53
- export declare class ExtractGoogleStreetviewEntityDataTool extends Tool<typeof ExtractGoogleStreetviewEntityDataCoreSchema, typeof ExtractGoogleStreetviewEntityDataGptSchema> {
54
- static readonly NAME = "extractGoogleStreetviewEntityData";
55
- constructor();
56
- call(context: ToolCallContext, parameters: z.infer<typeof ExtractGoogleStreetviewEntityDataCoreSchema>): Promise<ToolCallResult>;
57
- callFromGpt(context: ToolCallContext, parameters: z.infer<typeof ExtractGoogleStreetviewEntityDataGptSchema>): Promise<ToolCallResult>;
58
- private wiggleMouseThenPause;
59
- private extractEntityData;
60
- private doesBusinessExistInSignage;
61
- }
62
- //# sourceMappingURL=ExtractGoogleStreetviewEntityDataTool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExtractGoogleStreetviewEntityDataTool.d.ts","sourceRoot":"","sources":["../../../src/tools/ExtractGoogleStreetviewEntityDataTool.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;AAU1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,kBAAkB,oFAM7B,CAAC;AAEH,eAAO,MAAM,2CAA2C;;;;;;EAItD,CAAC;AAEH,eAAO,MAAM,0CAA0C;;;;;;;;;;EACe,CAAC;AAuBvE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;EAQzB,CAAC;AAEH;;;GAGG;AACH,qBAAa,qCAAsC,SAAQ,IAAI,CAC7D,OAAO,2CAA2C,EAClD,OAAO,0CAA0C,CAClD;IACC,gBAAuB,IAAI,uCAAuC;;IAa5C,IAAI,CACxB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,2CAA2C,CAAC,GACtE,OAAO,CAAC,cAAc,CAAC;IAkFV,WAAW,CACzB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,0CAA0C,CAAC,GACrE,OAAO,CAAC,cAAc,CAAC;YAIZ,oBAAoB;YAkBpB,iBAAiB;YAsBjB,0BAA0B;CAsBzC"}
@@ -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"}