@intuned/browser-dev 0.1.8-dev.0 → 0.1.10-dev.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 (40) hide show
  1. package/README.md +85 -143
  2. package/dist/ai/export.d.ts +291 -143
  3. package/dist/ai/extractStructuredData.js +21 -27
  4. package/dist/ai/extractStructuredDataUsingAi.js +24 -1
  5. package/dist/ai/index.d.ts +291 -143
  6. package/dist/ai/tests/testCreateMatchesMapping.spec.js +216 -0
  7. package/dist/ai/tests/testExtractStructuredData.spec.js +348 -2
  8. package/dist/ai/tests/testExtractStructuredDataDomMatchingIframes.spec.js +459 -0
  9. package/dist/ai/tests/testExtractStructuredDataUnit.spec.js +375 -0
  10. package/dist/ai/tests/testMatching.spec.js +342 -0
  11. package/dist/ai/tests/testValidateMatchesMapping.spec.js +265 -0
  12. package/dist/common/Logger/index.js +2 -2
  13. package/dist/common/extendedTest.js +38 -30
  14. package/dist/common/frame_utils/frameTree.js +116 -0
  15. package/dist/common/frame_utils/getContentWithNestedIframes.js +13 -0
  16. package/dist/common/frame_utils/index.js +95 -0
  17. package/dist/common/frame_utils/stitchIframe.js +105 -0
  18. package/dist/{helpers → common}/frame_utils/tests/testFindAllIframes.spec.js +24 -15
  19. package/dist/common/frame_utils/tests/testGetContentWithNestedIframes.spec.js +241 -0
  20. package/dist/common/frame_utils/utils.js +91 -0
  21. package/dist/common/getSimplifiedHtml.js +20 -20
  22. package/dist/common/matching/matching.js +91 -16
  23. package/dist/common/tests/matching.test.js +225 -0
  24. package/dist/common/tests/testGetSimplifiedHtml.spec.js +324 -0
  25. package/dist/helpers/export.d.ts +702 -575
  26. package/dist/helpers/extractMarkdown.js +16 -7
  27. package/dist/helpers/index.d.ts +702 -575
  28. package/dist/helpers/tests/testExtractMarkdown.spec.js +29 -0
  29. package/dist/helpers/waitForDomSettled.js +4 -4
  30. package/dist/helpers/withNetworkSettledWait.js +2 -7
  31. package/dist/optimized-extractors/export.d.ts +17 -18
  32. package/dist/optimized-extractors/index.d.ts +17 -18
  33. package/dist/types/intuned-runtime.d.ts +6 -32
  34. package/how-to-generate-docs.md +40 -28
  35. package/package.json +2 -2
  36. package/dist/helpers/frame_utils/constants.js +0 -8
  37. package/dist/helpers/frame_utils/findAllIframes.js +0 -82
  38. package/dist/helpers/frame_utils/index.js +0 -44
  39. /package/dist/{helpers → common}/frame_utils/checkFrameAllowsAsyncScripts.js +0 -0
  40. /package/dist/{helpers → common}/frame_utils/getContainerFrame.js +0 -0
@@ -6,24 +6,33 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.extractMarkdown = void 0;
7
7
  var _utils = require("./utils");
8
8
  var _locatorHelpers = require("../common/locatorHelpers");
9
+ var _frame_utils = require("../common/frame_utils");
9
10
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
11
  const extractMarkdown = async input => {
11
- var _handle;
12
12
  const {
13
13
  source
14
14
  } = input;
15
15
  const isPageSource = (0, _locatorHelpers.isPage)(source);
16
16
  const pageObject = isPageSource ? source : source.page();
17
17
  await (0, _utils.ensureBrowserScripts)(pageObject);
18
- let handle;
18
+ const htmlContent = await (0, _frame_utils.getContentWithNestedIframes)(source);
19
+ let md;
19
20
  if (isPageSource) {
20
- handle = await source.locator("body").elementHandle();
21
+ md = await pageObject.evaluate(html => {
22
+ const parser = new DOMParser();
23
+ const doc = parser.parseFromString(html, "text/html");
24
+ const body = doc.body || doc.documentElement;
25
+ return window.__INTUNED__.convertElementToMarkdown(body);
26
+ }, htmlContent);
21
27
  } else {
22
- handle = await source.elementHandle();
28
+ md = await pageObject.evaluate(html => {
29
+ var _doc$body;
30
+ const parser = new DOMParser();
31
+ const doc = parser.parseFromString(html, "text/html");
32
+ const element = ((_doc$body = doc.body) === null || _doc$body === void 0 ? void 0 : _doc$body.firstElementChild) || doc.documentElement.firstElementChild || doc.documentElement;
33
+ return window.__INTUNED__.convertElementToMarkdown(element);
34
+ }, htmlContent);
23
35
  }
24
- const md = await pageObject.evaluate(element => {
25
- return window.__INTUNED__.convertElementToMarkdown(element);
26
- }, (_handle = handle) === null || _handle === void 0 ? void 0 : _handle.asElement());
27
36
  const prettier = await Promise.resolve().then(() => _interopRequireWildcard(require("prettier/standalone")));
28
37
  const parserMarkdown = await Promise.resolve().then(() => _interopRequireWildcard(require("prettier/parser-markdown")));
29
38
  const formattedMarkdown = await prettier.format(md, {