@heal-dev/heal-playwright-tracer 1.0.0 → 1.0.8
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/README.md +94 -116
- package/dist/application/babel-playwright-tracer-plugin/index.js +16 -2
- package/dist/application/commander-cli-adapter/commander-cli-adapter.d.ts +24 -0
- package/dist/application/commander-cli-adapter/commander-cli-adapter.js +133 -0
- package/dist/application/heal-config/index.d.ts +1 -1
- package/dist/application/heal-config/registry.js +2 -1
- package/dist/application/heal-config/types.d.ts +187 -6
- package/dist/application/playwright-fixture/index.js +247 -48
- package/dist/application/playwright-fixture/wire-all-pages.d.ts +37 -0
- package/dist/application/playwright-fixture/wire-all-pages.js +71 -0
- package/dist/application/trace-event-recorder-runtime/index.d.ts +5 -0
- package/dist/application/trace-event-recorder-runtime/index.js +11 -1
- package/dist/bin/heal-tracer.d.ts +7 -0
- package/dist/bin/heal-tracer.js +16 -0
- package/dist/domain/code-hook-injector/service/statement-analysis/async-enclosing-function-detector.d.ts +11 -0
- package/dist/domain/code-hook-injector/service/statement-analysis/async-enclosing-function-detector.js +21 -0
- package/dist/domain/code-hook-injector/service/trace-hook/preprocess-call.d.ts +10 -0
- package/dist/domain/code-hook-injector/service/trace-hook/preprocess-call.js +17 -0
- package/dist/domain/persistence/execution-history-schema.d.ts +112 -0
- package/dist/domain/persistence/execution-history-schema.js +10 -0
- package/dist/domain/persistence/index.d.ts +7 -0
- package/dist/domain/persistence/index.js +10 -0
- package/dist/domain/persistence/test-status.d.ts +6 -0
- package/dist/domain/persistence/test-status.js +7 -0
- package/dist/domain/trace-event-recorder/model/console-trace-schema.d.ts +36 -0
- package/dist/domain/trace-event-recorder/model/console-trace-schema.js +7 -0
- package/dist/domain/trace-event-recorder/model/global-names.d.ts +1 -0
- package/dist/domain/trace-event-recorder/model/global-names.js +9 -1
- package/dist/domain/trace-event-recorder/model/network-trace-schema.d.ts +105 -0
- package/dist/domain/trace-event-recorder/model/network-trace-schema.js +7 -0
- package/dist/domain/trace-event-recorder/model/statement-trace-schema.d.ts +68 -2
- package/dist/domain/trace-event-recorder/model/statement-trace-schema.js +1 -1
- package/dist/domain/trace-event-recorder/model/trace-schema.d.ts +1 -0
- package/dist/domain/trace-event-recorder/service/projectors/statement-projector.d.ts +10 -1
- package/dist/domain/trace-event-recorder/service/projectors/statement-projector.js +39 -3
- package/dist/domain/trace-event-recorder/service/serializers/error-serializer.js +28 -10
- package/dist/domain/trace-event-recorder/service/serializers/index.d.ts +7 -0
- package/dist/domain/trace-event-recorder/service/serializers/index.js +13 -0
- package/dist/domain/trace-event-recorder/service/trace-event-recorder.d.ts +25 -0
- package/dist/domain/trace-event-recorder/service/trace-event-recorder.js +33 -0
- package/dist/index.d.ts +1 -1
- package/dist/infrastructure/artifact-summary-printer/artifact-summary-printer.d.ts +20 -0
- package/dist/infrastructure/artifact-summary-printer/artifact-summary-printer.js +24 -0
- package/dist/infrastructure/artifact-summary-printer/index.d.ts +7 -0
- package/dist/infrastructure/artifact-summary-printer/index.js +10 -0
- package/dist/infrastructure/heal-reporter/crash-error-classifier.d.ts +13 -0
- package/dist/infrastructure/heal-reporter/crash-error-classifier.js +65 -0
- package/dist/infrastructure/heal-reporter/failing-statement-finder.d.ts +14 -0
- package/dist/infrastructure/heal-reporter/failing-statement-finder.js +118 -0
- package/dist/infrastructure/heal-reporter/heal-tracer-reporter.d.ts +134 -0
- package/dist/infrastructure/heal-reporter/heal-tracer-reporter.js +537 -0
- package/dist/infrastructure/heal-reporter/index.d.ts +14 -0
- package/dist/infrastructure/heal-reporter/index.js +23 -0
- package/dist/infrastructure/heal-reporter/ndjson-tail-inspector.d.ts +8 -0
- package/dist/infrastructure/heal-reporter/ndjson-tail-inspector.js +75 -0
- package/dist/infrastructure/heal-traces-layout/execution-id-resolver.d.ts +14 -0
- package/dist/infrastructure/heal-traces-layout/execution-id-resolver.js +52 -0
- package/dist/infrastructure/heal-traces-layout/heal-traces-layout.d.ts +37 -0
- package/dist/infrastructure/heal-traces-layout/heal-traces-layout.js +116 -0
- package/dist/infrastructure/heal-traces-layout/index.d.ts +7 -0
- package/dist/infrastructure/heal-traces-layout/index.js +14 -0
- package/dist/infrastructure/local-viewer-adapter/discover-traces.d.ts +70 -0
- package/dist/infrastructure/local-viewer-adapter/discover-traces.js +280 -0
- package/dist/infrastructure/local-viewer-adapter/local-viewer-server.d.ts +44 -0
- package/dist/infrastructure/local-viewer-adapter/local-viewer-server.js +398 -0
- package/dist/infrastructure/local-viewer-adapter/ndjson-trace-loader.d.ts +25 -0
- package/dist/infrastructure/local-viewer-adapter/ndjson-trace-loader.js +74 -0
- package/dist/infrastructure/playwright-console-capture-adapter/console-capture-session.d.ts +40 -0
- package/dist/infrastructure/playwright-console-capture-adapter/console-capture-session.js +243 -0
- package/dist/infrastructure/playwright-console-capture-adapter/index.d.ts +7 -0
- package/dist/infrastructure/playwright-console-capture-adapter/index.js +20 -0
- package/dist/infrastructure/playwright-locator-screenshot-adapter/assertion-wrapper.js +22 -9
- package/dist/infrastructure/playwright-locator-screenshot-adapter/index.d.ts +1 -1
- package/dist/infrastructure/playwright-locator-screenshot-adapter/index.js +2 -2
- package/dist/infrastructure/playwright-locator-screenshot-adapter/locator-patch.js +19 -7
- package/dist/infrastructure/playwright-locator-screenshot-adapter/overlay-helpers.d.ts +2 -2
- package/dist/infrastructure/playwright-locator-screenshot-adapter/overlay-helpers.js +22 -9
- package/dist/infrastructure/playwright-locator-screenshot-adapter/screenshot-capture-session.d.ts +14 -3
- package/dist/infrastructure/playwright-locator-screenshot-adapter/screenshot-capture-session.js +94 -25
- package/dist/infrastructure/playwright-network-capture-adapter/body-preview.d.ts +43 -0
- package/dist/infrastructure/playwright-network-capture-adapter/body-preview.js +107 -0
- package/dist/infrastructure/playwright-network-capture-adapter/index.d.ts +10 -0
- package/dist/infrastructure/playwright-network-capture-adapter/index.js +27 -0
- package/dist/infrastructure/playwright-network-capture-adapter/network-capture-session.d.ts +55 -0
- package/dist/infrastructure/playwright-network-capture-adapter/network-capture-session.js +630 -0
- package/dist/infrastructure/playwright-network-capture-adapter/network-coalescer.d.ts +54 -0
- package/dist/infrastructure/playwright-network-capture-adapter/network-coalescer.js +96 -0
- package/dist/infrastructure/playwright-network-capture-adapter/redaction.d.ts +14 -0
- package/dist/infrastructure/playwright-network-capture-adapter/redaction.js +44 -0
- package/dist/infrastructure/playwright-test-context-adapter/playwright-test-context-adapter.d.ts +6 -1
- package/dist/infrastructure/playwright-test-context-adapter/playwright-test-context-adapter.js +5 -1
- package/dist/infrastructure/stdout-capture-adapter/stdout-capture-session.js +1 -1
- package/dist/util/logger.d.ts +17 -0
- package/dist/util/logger.js +60 -0
- package/dist/util/with-timeout.d.ts +6 -0
- package/dist/util/with-timeout.js +33 -0
- package/package.json +20 -3
- package/tracer-viewer-bundle/assets/abap-BdImnpbu.js +13 -0
- package/tracer-viewer-bundle/assets/abap-BdImnpbu.js.map +1 -0
- package/tracer-viewer-bundle/assets/actionscript-3-CoDkCxhg.js +13 -0
- package/tracer-viewer-bundle/assets/actionscript-3-CoDkCxhg.js.map +1 -0
- package/tracer-viewer-bundle/assets/ada-bCR0ucgS.js +13 -0
- package/tracer-viewer-bundle/assets/ada-bCR0ucgS.js.map +1 -0
- package/tracer-viewer-bundle/assets/andromeeda-C4gqWexZ.js +12 -0
- package/tracer-viewer-bundle/assets/andromeeda-C4gqWexZ.js.map +1 -0
- package/tracer-viewer-bundle/assets/angular-html-DA-rfuFy.js +41 -0
- package/tracer-viewer-bundle/assets/angular-html-DA-rfuFy.js.map +1 -0
- package/tracer-viewer-bundle/assets/angular-ts-BrjP3tb8.js +30 -0
- package/tracer-viewer-bundle/assets/angular-ts-BrjP3tb8.js.map +1 -0
- package/tracer-viewer-bundle/assets/apache-Pmp26Uib.js +13 -0
- package/tracer-viewer-bundle/assets/apache-Pmp26Uib.js.map +1 -0
- package/tracer-viewer-bundle/assets/apex-D8_7TLub.js +13 -0
- package/tracer-viewer-bundle/assets/apex-D8_7TLub.js.map +1 -0
- package/tracer-viewer-bundle/assets/apl-CORt7UWP.js +19 -0
- package/tracer-viewer-bundle/assets/apl-CORt7UWP.js.map +1 -0
- package/tracer-viewer-bundle/assets/applescript-Co6uUVPk.js +13 -0
- package/tracer-viewer-bundle/assets/applescript-Co6uUVPk.js.map +1 -0
- package/tracer-viewer-bundle/assets/ara-BRHolxvo.js +13 -0
- package/tracer-viewer-bundle/assets/ara-BRHolxvo.js.map +1 -0
- package/tracer-viewer-bundle/assets/asciidoc-Ve4PFQV2.js +13 -0
- package/tracer-viewer-bundle/assets/asciidoc-Ve4PFQV2.js.map +1 -0
- package/tracer-viewer-bundle/assets/asm-D_Q5rh1f.js +13 -0
- package/tracer-viewer-bundle/assets/asm-D_Q5rh1f.js.map +1 -0
- package/tracer-viewer-bundle/assets/astro-HNnZUWAn.js +19 -0
- package/tracer-viewer-bundle/assets/astro-HNnZUWAn.js.map +1 -0
- package/tracer-viewer-bundle/assets/aurora-x-D-2ljcwZ.js +12 -0
- package/tracer-viewer-bundle/assets/aurora-x-D-2ljcwZ.js.map +1 -0
- package/tracer-viewer-bundle/assets/awk-DMzUqQB5.js +13 -0
- package/tracer-viewer-bundle/assets/awk-DMzUqQB5.js.map +1 -0
- package/tracer-viewer-bundle/assets/ayu-dark-DYE7WIF3.js +12 -0
- package/tracer-viewer-bundle/assets/ayu-dark-DYE7WIF3.js.map +1 -0
- package/tracer-viewer-bundle/assets/ayu-light-BA47KaF1.js +12 -0
- package/tracer-viewer-bundle/assets/ayu-light-BA47KaF1.js.map +1 -0
- package/tracer-viewer-bundle/assets/ayu-mirage-32ctXXKs.js +12 -0
- package/tracer-viewer-bundle/assets/ayu-mirage-32ctXXKs.js.map +1 -0
- package/tracer-viewer-bundle/assets/ballerina-BFfxhgS-.js +13 -0
- package/tracer-viewer-bundle/assets/ballerina-BFfxhgS-.js.map +1 -0
- package/tracer-viewer-bundle/assets/bat-BkioyH1T.js +13 -0
- package/tracer-viewer-bundle/assets/bat-BkioyH1T.js.map +1 -0
- package/tracer-viewer-bundle/assets/beancount-k_qm7-4y.js +13 -0
- package/tracer-viewer-bundle/assets/beancount-k_qm7-4y.js.map +1 -0
- package/tracer-viewer-bundle/assets/berry-uYugtg8r.js +13 -0
- package/tracer-viewer-bundle/assets/berry-uYugtg8r.js.map +1 -0
- package/tracer-viewer-bundle/assets/bibtex-CHM0blh-.js +13 -0
- package/tracer-viewer-bundle/assets/bibtex-CHM0blh-.js.map +1 -0
- package/tracer-viewer-bundle/assets/bicep-Bmn6On1c.js +13 -0
- package/tracer-viewer-bundle/assets/bicep-Bmn6On1c.js.map +1 -0
- package/tracer-viewer-bundle/assets/bird2-BIv1doCn.js +13 -0
- package/tracer-viewer-bundle/assets/bird2-BIv1doCn.js.map +1 -0
- package/tracer-viewer-bundle/assets/blade-BjGOyj-B.js +21 -0
- package/tracer-viewer-bundle/assets/blade-BjGOyj-B.js.map +1 -0
- package/tracer-viewer-bundle/assets/bsl-BO_Y6i37.js +14 -0
- package/tracer-viewer-bundle/assets/bsl-BO_Y6i37.js.map +1 -0
- package/tracer-viewer-bundle/assets/c-BIGW1oBm.js +13 -0
- package/tracer-viewer-bundle/assets/c-BIGW1oBm.js.map +1 -0
- package/tracer-viewer-bundle/assets/c3-eo99z4R2.js +13 -0
- package/tracer-viewer-bundle/assets/c3-eo99z4R2.js.map +1 -0
- package/tracer-viewer-bundle/assets/cadence-Bv_4Rxtq.js +13 -0
- package/tracer-viewer-bundle/assets/cadence-Bv_4Rxtq.js.map +1 -0
- package/tracer-viewer-bundle/assets/cairo-KRGpt6FW.js +14 -0
- package/tracer-viewer-bundle/assets/cairo-KRGpt6FW.js.map +1 -0
- package/tracer-viewer-bundle/assets/catppuccin-frappe-DFWUc33u.js +12 -0
- package/tracer-viewer-bundle/assets/catppuccin-frappe-DFWUc33u.js.map +1 -0
- package/tracer-viewer-bundle/assets/catppuccin-latte-C9dUb6Cb.js +12 -0
- package/tracer-viewer-bundle/assets/catppuccin-latte-C9dUb6Cb.js.map +1 -0
- package/tracer-viewer-bundle/assets/catppuccin-macchiato-DQyhUUbL.js +12 -0
- package/tracer-viewer-bundle/assets/catppuccin-macchiato-DQyhUUbL.js.map +1 -0
- package/tracer-viewer-bundle/assets/catppuccin-mocha-D87Tk5Gz.js +12 -0
- package/tracer-viewer-bundle/assets/catppuccin-mocha-D87Tk5Gz.js.map +1 -0
- package/tracer-viewer-bundle/assets/clarity-D53aC0YG.js +13 -0
- package/tracer-viewer-bundle/assets/clarity-D53aC0YG.js.map +1 -0
- package/tracer-viewer-bundle/assets/clojure-P80f7IUj.js +13 -0
- package/tracer-viewer-bundle/assets/clojure-P80f7IUj.js.map +1 -0
- package/tracer-viewer-bundle/assets/cmake-D1j8_8rp.js +13 -0
- package/tracer-viewer-bundle/assets/cmake-D1j8_8rp.js.map +1 -0
- package/tracer-viewer-bundle/assets/cobol-nBiQ_Alo.js +17 -0
- package/tracer-viewer-bundle/assets/cobol-nBiQ_Alo.js.map +1 -0
- package/tracer-viewer-bundle/assets/codeowners-Bp6g37R7.js +13 -0
- package/tracer-viewer-bundle/assets/codeowners-Bp6g37R7.js.map +1 -0
- package/tracer-viewer-bundle/assets/codeql-DsOJ9woJ.js +13 -0
- package/tracer-viewer-bundle/assets/codeql-DsOJ9woJ.js.map +1 -0
- package/tracer-viewer-bundle/assets/coffee-Ch7k5sss.js +14 -0
- package/tracer-viewer-bundle/assets/coffee-Ch7k5sss.js.map +1 -0
- package/tracer-viewer-bundle/assets/common-lisp-Cg-RD9OK.js +13 -0
- package/tracer-viewer-bundle/assets/common-lisp-Cg-RD9OK.js.map +1 -0
- package/tracer-viewer-bundle/assets/coq-DkFqJrB1.js +13 -0
- package/tracer-viewer-bundle/assets/coq-DkFqJrB1.js.map +1 -0
- package/tracer-viewer-bundle/assets/cpp-CofmeUqb.js +23 -0
- package/tracer-viewer-bundle/assets/cpp-CofmeUqb.js.map +1 -0
- package/tracer-viewer-bundle/assets/crystal-DNxU26gB.js +19 -0
- package/tracer-viewer-bundle/assets/crystal-DNxU26gB.js.map +1 -0
- package/tracer-viewer-bundle/assets/csharp-COcwbKMJ.js +13 -0
- package/tracer-viewer-bundle/assets/csharp-COcwbKMJ.js.map +1 -0
- package/tracer-viewer-bundle/assets/css-CLj8gQPS.js +13 -0
- package/tracer-viewer-bundle/assets/css-CLj8gQPS.js.map +1 -0
- package/tracer-viewer-bundle/assets/csv-fuZLfV_i.js +13 -0
- package/tracer-viewer-bundle/assets/csv-fuZLfV_i.js.map +1 -0
- package/tracer-viewer-bundle/assets/cue-D82EKSYY.js +13 -0
- package/tracer-viewer-bundle/assets/cue-D82EKSYY.js.map +1 -0
- package/tracer-viewer-bundle/assets/cypher-COkxafJQ.js +13 -0
- package/tracer-viewer-bundle/assets/cypher-COkxafJQ.js.map +1 -0
- package/tracer-viewer-bundle/assets/d-85-TOEBH.js +13 -0
- package/tracer-viewer-bundle/assets/d-85-TOEBH.js.map +1 -0
- package/tracer-viewer-bundle/assets/dark-plus-C3mMm8J8.js +12 -0
- package/tracer-viewer-bundle/assets/dark-plus-C3mMm8J8.js.map +1 -0
- package/tracer-viewer-bundle/assets/dart-bE4Kk8sk.js +13 -0
- package/tracer-viewer-bundle/assets/dart-bE4Kk8sk.js.map +1 -0
- package/tracer-viewer-bundle/assets/dax-CEL-wOlO.js +13 -0
- package/tracer-viewer-bundle/assets/dax-CEL-wOlO.js.map +1 -0
- package/tracer-viewer-bundle/assets/desktop-BmXAJ9_W.js +13 -0
- package/tracer-viewer-bundle/assets/desktop-BmXAJ9_W.js.map +1 -0
- package/tracer-viewer-bundle/assets/diff-D97Zzqfu.js +13 -0
- package/tracer-viewer-bundle/assets/diff-D97Zzqfu.js.map +1 -0
- package/tracer-viewer-bundle/assets/docker-BcOcwvcX.js +13 -0
- package/tracer-viewer-bundle/assets/docker-BcOcwvcX.js.map +1 -0
- package/tracer-viewer-bundle/assets/dotenv-Da5cRb03.js +13 -0
- package/tracer-viewer-bundle/assets/dotenv-Da5cRb03.js.map +1 -0
- package/tracer-viewer-bundle/assets/dracula-BzJJZx-M.js +12 -0
- package/tracer-viewer-bundle/assets/dracula-BzJJZx-M.js.map +1 -0
- package/tracer-viewer-bundle/assets/dracula-soft-BXkSAIEj.js +12 -0
- package/tracer-viewer-bundle/assets/dracula-soft-BXkSAIEj.js.map +1 -0
- package/tracer-viewer-bundle/assets/dream-maker-BtqSS_iP.js +13 -0
- package/tracer-viewer-bundle/assets/dream-maker-BtqSS_iP.js.map +1 -0
- package/tracer-viewer-bundle/assets/edge-FbVlp4U3.js +18 -0
- package/tracer-viewer-bundle/assets/edge-FbVlp4U3.js.map +1 -0
- package/tracer-viewer-bundle/assets/elixir-CkH2-t6x.js +16 -0
- package/tracer-viewer-bundle/assets/elixir-CkH2-t6x.js.map +1 -0
- package/tracer-viewer-bundle/assets/elm-DbKCFpqz.js +15 -0
- package/tracer-viewer-bundle/assets/elm-DbKCFpqz.js.map +1 -0
- package/tracer-viewer-bundle/assets/emacs-lisp-CXvaQtF9.js +13 -0
- package/tracer-viewer-bundle/assets/emacs-lisp-CXvaQtF9.js.map +1 -0
- package/tracer-viewer-bundle/assets/erb-BYCe7drp.js +32 -0
- package/tracer-viewer-bundle/assets/erb-BYCe7drp.js.map +1 -0
- package/tracer-viewer-bundle/assets/erlang-DsQrWhSR.js +14 -0
- package/tracer-viewer-bundle/assets/erlang-DsQrWhSR.js.map +1 -0
- package/tracer-viewer-bundle/assets/everforest-dark-BgDCqdQA.js +12 -0
- package/tracer-viewer-bundle/assets/everforest-dark-BgDCqdQA.js.map +1 -0
- package/tracer-viewer-bundle/assets/everforest-light-C8M2exoo.js +12 -0
- package/tracer-viewer-bundle/assets/everforest-light-C8M2exoo.js.map +1 -0
- package/tracer-viewer-bundle/assets/favicon-DRSNNJwn.svg +3 -0
- package/tracer-viewer-bundle/assets/fennel-BYunw83y.js +13 -0
- package/tracer-viewer-bundle/assets/fennel-BYunw83y.js.map +1 -0
- package/tracer-viewer-bundle/assets/fish-BvzEVeQv.js +13 -0
- package/tracer-viewer-bundle/assets/fish-BvzEVeQv.js.map +1 -0
- package/tracer-viewer-bundle/assets/fluent-C4IJs8-o.js +13 -0
- package/tracer-viewer-bundle/assets/fluent-C4IJs8-o.js.map +1 -0
- package/tracer-viewer-bundle/assets/fortran-fixed-form-CkoXwp7k.js +14 -0
- package/tracer-viewer-bundle/assets/fortran-fixed-form-CkoXwp7k.js.map +1 -0
- package/tracer-viewer-bundle/assets/fortran-free-form-BxgE0vQu.js +13 -0
- package/tracer-viewer-bundle/assets/fortran-free-form-BxgE0vQu.js.map +1 -0
- package/tracer-viewer-bundle/assets/fsharp-CXgrBDvD.js +14 -0
- package/tracer-viewer-bundle/assets/fsharp-CXgrBDvD.js.map +1 -0
- package/tracer-viewer-bundle/assets/gdresource-BOOCDP_w.js +15 -0
- package/tracer-viewer-bundle/assets/gdresource-BOOCDP_w.js.map +1 -0
- package/tracer-viewer-bundle/assets/gdscript-C5YyOfLZ.js +13 -0
- package/tracer-viewer-bundle/assets/gdscript-C5YyOfLZ.js.map +1 -0
- package/tracer-viewer-bundle/assets/gdshader-DkwncUOv.js +13 -0
- package/tracer-viewer-bundle/assets/gdshader-DkwncUOv.js.map +1 -0
- package/tracer-viewer-bundle/assets/genie-D0YGMca9.js +13 -0
- package/tracer-viewer-bundle/assets/genie-D0YGMca9.js.map +1 -0
- package/tracer-viewer-bundle/assets/gherkin-DyxjwDmM.js +13 -0
- package/tracer-viewer-bundle/assets/gherkin-DyxjwDmM.js.map +1 -0
- package/tracer-viewer-bundle/assets/git-commit-F4YmCXRG.js +14 -0
- package/tracer-viewer-bundle/assets/git-commit-F4YmCXRG.js.map +1 -0
- package/tracer-viewer-bundle/assets/git-rebase-r7XF79zn.js +14 -0
- package/tracer-viewer-bundle/assets/git-rebase-r7XF79zn.js.map +1 -0
- package/tracer-viewer-bundle/assets/github-dark-DHJKELXO.js +12 -0
- package/tracer-viewer-bundle/assets/github-dark-DHJKELXO.js.map +1 -0
- package/tracer-viewer-bundle/assets/github-dark-default-Cuk6v7N8.js +12 -0
- package/tracer-viewer-bundle/assets/github-dark-default-Cuk6v7N8.js.map +1 -0
- package/tracer-viewer-bundle/assets/github-dark-dimmed-DH5Ifo-i.js +12 -0
- package/tracer-viewer-bundle/assets/github-dark-dimmed-DH5Ifo-i.js.map +1 -0
- package/tracer-viewer-bundle/assets/github-dark-high-contrast-E3gJ1_iC.js +12 -0
- package/tracer-viewer-bundle/assets/github-dark-high-contrast-E3gJ1_iC.js.map +1 -0
- package/tracer-viewer-bundle/assets/github-light-DAi9KRSo.js +12 -0
- package/tracer-viewer-bundle/assets/github-light-DAi9KRSo.js.map +1 -0
- package/tracer-viewer-bundle/assets/github-light-default-D7oLnXFd.js +12 -0
- package/tracer-viewer-bundle/assets/github-light-default-D7oLnXFd.js.map +1 -0
- package/tracer-viewer-bundle/assets/github-light-high-contrast-BfjtVDDH.js +12 -0
- package/tracer-viewer-bundle/assets/github-light-high-contrast-BfjtVDDH.js.map +1 -0
- package/tracer-viewer-bundle/assets/gleam-BspZqrRM.js +13 -0
- package/tracer-viewer-bundle/assets/gleam-BspZqrRM.js.map +1 -0
- package/tracer-viewer-bundle/assets/glimmer-js-ByusRIyA.js +17 -0
- package/tracer-viewer-bundle/assets/glimmer-js-ByusRIyA.js.map +1 -0
- package/tracer-viewer-bundle/assets/glimmer-ts-BfAWNZQY.js +17 -0
- package/tracer-viewer-bundle/assets/glimmer-ts-BfAWNZQY.js.map +1 -0
- package/tracer-viewer-bundle/assets/glsl-DplSGwfg.js +14 -0
- package/tracer-viewer-bundle/assets/glsl-DplSGwfg.js.map +1 -0
- package/tracer-viewer-bundle/assets/gn-n2N0HUVH.js +13 -0
- package/tracer-viewer-bundle/assets/gn-n2N0HUVH.js.map +1 -0
- package/tracer-viewer-bundle/assets/gnuplot-DdkO51Og.js +13 -0
- package/tracer-viewer-bundle/assets/gnuplot-DdkO51Og.js.map +1 -0
- package/tracer-viewer-bundle/assets/go-C27-OAKa.js +13 -0
- package/tracer-viewer-bundle/assets/go-C27-OAKa.js.map +1 -0
- package/tracer-viewer-bundle/assets/graphql-ChdNCCLP.js +17 -0
- package/tracer-viewer-bundle/assets/graphql-ChdNCCLP.js.map +1 -0
- package/tracer-viewer-bundle/assets/groovy-gcz8RCvz.js +13 -0
- package/tracer-viewer-bundle/assets/groovy-gcz8RCvz.js.map +1 -0
- package/tracer-viewer-bundle/assets/gruvbox-dark-hard-CFHQjOhq.js +12 -0
- package/tracer-viewer-bundle/assets/gruvbox-dark-hard-CFHQjOhq.js.map +1 -0
- package/tracer-viewer-bundle/assets/gruvbox-dark-medium-GsRaNv29.js +12 -0
- package/tracer-viewer-bundle/assets/gruvbox-dark-medium-GsRaNv29.js.map +1 -0
- package/tracer-viewer-bundle/assets/gruvbox-dark-soft-CVdnzihN.js +12 -0
- package/tracer-viewer-bundle/assets/gruvbox-dark-soft-CVdnzihN.js.map +1 -0
- package/tracer-viewer-bundle/assets/gruvbox-light-hard-CH1njM8p.js +12 -0
- package/tracer-viewer-bundle/assets/gruvbox-light-hard-CH1njM8p.js.map +1 -0
- package/tracer-viewer-bundle/assets/gruvbox-light-medium-DRw_LuNl.js +12 -0
- package/tracer-viewer-bundle/assets/gruvbox-light-medium-DRw_LuNl.js.map +1 -0
- package/tracer-viewer-bundle/assets/gruvbox-light-soft-hJgmCMqR.js +12 -0
- package/tracer-viewer-bundle/assets/gruvbox-light-soft-hJgmCMqR.js.map +1 -0
- package/tracer-viewer-bundle/assets/hack-i7_Ulhet.js +17 -0
- package/tracer-viewer-bundle/assets/hack-i7_Ulhet.js.map +1 -0
- package/tracer-viewer-bundle/assets/haml-D5jkg6IW.js +15 -0
- package/tracer-viewer-bundle/assets/haml-D5jkg6IW.js.map +1 -0
- package/tracer-viewer-bundle/assets/handlebars-BpdQsYii.js +17 -0
- package/tracer-viewer-bundle/assets/handlebars-BpdQsYii.js.map +1 -0
- package/tracer-viewer-bundle/assets/haskell-Df6bDoY_.js +13 -0
- package/tracer-viewer-bundle/assets/haskell-Df6bDoY_.js.map +1 -0
- package/tracer-viewer-bundle/assets/haxe-CzTSHFRz.js +13 -0
- package/tracer-viewer-bundle/assets/haxe-CzTSHFRz.js.map +1 -0
- package/tracer-viewer-bundle/assets/hcl-BWvSN4gD.js +13 -0
- package/tracer-viewer-bundle/assets/hcl-BWvSN4gD.js.map +1 -0
- package/tracer-viewer-bundle/assets/hjson-D5-asLiD.js +13 -0
- package/tracer-viewer-bundle/assets/hjson-D5-asLiD.js.map +1 -0
- package/tracer-viewer-bundle/assets/hlsl-D3lLCCz7.js +13 -0
- package/tracer-viewer-bundle/assets/hlsl-D3lLCCz7.js.map +1 -0
- package/tracer-viewer-bundle/assets/horizon-BUw7H-hv.js +12 -0
- package/tracer-viewer-bundle/assets/horizon-BUw7H-hv.js.map +1 -0
- package/tracer-viewer-bundle/assets/horizon-bright-CUuTKBJd.js +12 -0
- package/tracer-viewer-bundle/assets/horizon-bright-CUuTKBJd.js.map +1 -0
- package/tracer-viewer-bundle/assets/houston-DnULxvSX.js +12 -0
- package/tracer-viewer-bundle/assets/houston-DnULxvSX.js.map +1 -0
- package/tracer-viewer-bundle/assets/html-derivative-DlHx6ybY.js +16 -0
- package/tracer-viewer-bundle/assets/html-derivative-DlHx6ybY.js.map +1 -0
- package/tracer-viewer-bundle/assets/html-pp8916En.js +15 -0
- package/tracer-viewer-bundle/assets/html-pp8916En.js.map +1 -0
- package/tracer-viewer-bundle/assets/http-jrhK8wxY.js +22 -0
- package/tracer-viewer-bundle/assets/http-jrhK8wxY.js.map +1 -0
- package/tracer-viewer-bundle/assets/hurl-irOxFIW8.js +21 -0
- package/tracer-viewer-bundle/assets/hurl-irOxFIW8.js.map +1 -0
- package/tracer-viewer-bundle/assets/hxml-Bvhsp5Yf.js +14 -0
- package/tracer-viewer-bundle/assets/hxml-Bvhsp5Yf.js.map +1 -0
- package/tracer-viewer-bundle/assets/hy-DFXneXwc.js +13 -0
- package/tracer-viewer-bundle/assets/hy-DFXneXwc.js.map +1 -0
- package/tracer-viewer-bundle/assets/imba-DGztddWO.js +13 -0
- package/tracer-viewer-bundle/assets/imba-DGztddWO.js.map +1 -0
- package/tracer-viewer-bundle/assets/index-CIRSNBm6.css +4792 -0
- package/tracer-viewer-bundle/assets/index-DS0dKIBi.js +36912 -0
- package/tracer-viewer-bundle/assets/index-DS0dKIBi.js.map +1 -0
- package/tracer-viewer-bundle/assets/ini-BEwlwnbL.js +13 -0
- package/tracer-viewer-bundle/assets/ini-BEwlwnbL.js.map +1 -0
- package/tracer-viewer-bundle/assets/java-CylS5w8V.js +13 -0
- package/tracer-viewer-bundle/assets/java-CylS5w8V.js.map +1 -0
- package/tracer-viewer-bundle/assets/javascript-wDzz0qaB.js +13 -0
- package/tracer-viewer-bundle/assets/javascript-wDzz0qaB.js.map +1 -0
- package/tracer-viewer-bundle/assets/jinja-f2NsQr07.js +22 -0
- package/tracer-viewer-bundle/assets/jinja-f2NsQr07.js.map +1 -0
- package/tracer-viewer-bundle/assets/jison-wvAkD_A8.js +14 -0
- package/tracer-viewer-bundle/assets/jison-wvAkD_A8.js.map +1 -0
- package/tracer-viewer-bundle/assets/json-Cp-IABpG.js +13 -0
- package/tracer-viewer-bundle/assets/json-Cp-IABpG.js.map +1 -0
- package/tracer-viewer-bundle/assets/json5-C9tS-k6U.js +13 -0
- package/tracer-viewer-bundle/assets/json5-C9tS-k6U.js.map +1 -0
- package/tracer-viewer-bundle/assets/jsonc-Des-eS-w.js +13 -0
- package/tracer-viewer-bundle/assets/jsonc-Des-eS-w.js.map +1 -0
- package/tracer-viewer-bundle/assets/jsonl-DcaNXYhu.js +13 -0
- package/tracer-viewer-bundle/assets/jsonl-DcaNXYhu.js.map +1 -0
- package/tracer-viewer-bundle/assets/jsonnet-DFQXde-d.js +13 -0
- package/tracer-viewer-bundle/assets/jsonnet-DFQXde-d.js.map +1 -0
- package/tracer-viewer-bundle/assets/jssm-C2t-YnRu.js +13 -0
- package/tracer-viewer-bundle/assets/jssm-C2t-YnRu.js.map +1 -0
- package/tracer-viewer-bundle/assets/jsx-g9-lgVsj.js +13 -0
- package/tracer-viewer-bundle/assets/jsx-g9-lgVsj.js.map +1 -0
- package/tracer-viewer-bundle/assets/julia-CxzCAyBv.js +21 -0
- package/tracer-viewer-bundle/assets/julia-CxzCAyBv.js.map +1 -0
- package/tracer-viewer-bundle/assets/just-VxiPbLrw.js +34 -0
- package/tracer-viewer-bundle/assets/just-VxiPbLrw.js.map +1 -0
- package/tracer-viewer-bundle/assets/kanagawa-dragon-CkXjmgJE.js +12 -0
- package/tracer-viewer-bundle/assets/kanagawa-dragon-CkXjmgJE.js.map +1 -0
- package/tracer-viewer-bundle/assets/kanagawa-lotus-CfQXZHmo.js +12 -0
- package/tracer-viewer-bundle/assets/kanagawa-lotus-CfQXZHmo.js.map +1 -0
- package/tracer-viewer-bundle/assets/kanagawa-wave-DWedfzmr.js +12 -0
- package/tracer-viewer-bundle/assets/kanagawa-wave-DWedfzmr.js.map +1 -0
- package/tracer-viewer-bundle/assets/kdl-DV7GczEv.js +13 -0
- package/tracer-viewer-bundle/assets/kdl-DV7GczEv.js.map +1 -0
- package/tracer-viewer-bundle/assets/kotlin-BdnUsdx6.js +13 -0
- package/tracer-viewer-bundle/assets/kotlin-BdnUsdx6.js.map +1 -0
- package/tracer-viewer-bundle/assets/kusto-wEQ09or8.js +13 -0
- package/tracer-viewer-bundle/assets/kusto-wEQ09or8.js.map +1 -0
- package/tracer-viewer-bundle/assets/laserwave-DUszq2jm.js +12 -0
- package/tracer-viewer-bundle/assets/laserwave-DUszq2jm.js.map +1 -0
- package/tracer-viewer-bundle/assets/latex-CWtU0Tv5.js +15 -0
- package/tracer-viewer-bundle/assets/latex-CWtU0Tv5.js.map +1 -0
- package/tracer-viewer-bundle/assets/lean-BZvkOJ9d.js +13 -0
- package/tracer-viewer-bundle/assets/lean-BZvkOJ9d.js.map +1 -0
- package/tracer-viewer-bundle/assets/less-B1dDrJ26.js +13 -0
- package/tracer-viewer-bundle/assets/less-B1dDrJ26.js.map +1 -0
- package/tracer-viewer-bundle/assets/light-plus-B7mTdjB0.js +12 -0
- package/tracer-viewer-bundle/assets/light-plus-B7mTdjB0.js.map +1 -0
- package/tracer-viewer-bundle/assets/liquid-C0sCDyMI.js +17 -0
- package/tracer-viewer-bundle/assets/liquid-C0sCDyMI.js.map +1 -0
- package/tracer-viewer-bundle/assets/llvm-DjAJT7YJ.js +13 -0
- package/tracer-viewer-bundle/assets/llvm-DjAJT7YJ.js.map +1 -0
- package/tracer-viewer-bundle/assets/log-2UxHyX5q.js +13 -0
- package/tracer-viewer-bundle/assets/log-2UxHyX5q.js.map +1 -0
- package/tracer-viewer-bundle/assets/logo-BtOb2qkB.js +13 -0
- package/tracer-viewer-bundle/assets/logo-BtOb2qkB.js.map +1 -0
- package/tracer-viewer-bundle/assets/lua-BaeVxFsk.js +14 -0
- package/tracer-viewer-bundle/assets/lua-BaeVxFsk.js.map +1 -0
- package/tracer-viewer-bundle/assets/luau-C-HG3fhB.js +13 -0
- package/tracer-viewer-bundle/assets/luau-C-HG3fhB.js.map +1 -0
- package/tracer-viewer-bundle/assets/make-CHLpvVh8.js +13 -0
- package/tracer-viewer-bundle/assets/make-CHLpvVh8.js.map +1 -0
- package/tracer-viewer-bundle/assets/markdown-Cvjx9yec.js +13 -0
- package/tracer-viewer-bundle/assets/markdown-Cvjx9yec.js.map +1 -0
- package/tracer-viewer-bundle/assets/marko-DjSrsDqO.js +17 -0
- package/tracer-viewer-bundle/assets/marko-DjSrsDqO.js.map +1 -0
- package/tracer-viewer-bundle/assets/material-theme-D5KoaKCx.js +12 -0
- package/tracer-viewer-bundle/assets/material-theme-D5KoaKCx.js.map +1 -0
- package/tracer-viewer-bundle/assets/material-theme-darker-BfHTSMKl.js +12 -0
- package/tracer-viewer-bundle/assets/material-theme-darker-BfHTSMKl.js.map +1 -0
- package/tracer-viewer-bundle/assets/material-theme-lighter-B0m2ddpp.js +12 -0
- package/tracer-viewer-bundle/assets/material-theme-lighter-B0m2ddpp.js.map +1 -0
- package/tracer-viewer-bundle/assets/material-theme-ocean-CyktbL80.js +12 -0
- package/tracer-viewer-bundle/assets/material-theme-ocean-CyktbL80.js.map +1 -0
- package/tracer-viewer-bundle/assets/material-theme-palenight-Csfq5Kiy.js +12 -0
- package/tracer-viewer-bundle/assets/material-theme-palenight-Csfq5Kiy.js.map +1 -0
- package/tracer-viewer-bundle/assets/matlab-D7o27uSR.js +13 -0
- package/tracer-viewer-bundle/assets/matlab-D7o27uSR.js.map +1 -0
- package/tracer-viewer-bundle/assets/mdc-DTYItulj.js +19 -0
- package/tracer-viewer-bundle/assets/mdc-DTYItulj.js.map +1 -0
- package/tracer-viewer-bundle/assets/mdx-Cmh6b_Ma.js +13 -0
- package/tracer-viewer-bundle/assets/mdx-Cmh6b_Ma.js.map +1 -0
- package/tracer-viewer-bundle/assets/mermaid-mWjccvbQ.js +13 -0
- package/tracer-viewer-bundle/assets/mermaid-mWjccvbQ.js.map +1 -0
- package/tracer-viewer-bundle/assets/min-dark-CafNBF8u.js +12 -0
- package/tracer-viewer-bundle/assets/min-dark-CafNBF8u.js.map +1 -0
- package/tracer-viewer-bundle/assets/min-light-CTRr51gU.js +12 -0
- package/tracer-viewer-bundle/assets/min-light-CTRr51gU.js.map +1 -0
- package/tracer-viewer-bundle/assets/mipsasm-CKIfxQSi.js +13 -0
- package/tracer-viewer-bundle/assets/mipsasm-CKIfxQSi.js.map +1 -0
- package/tracer-viewer-bundle/assets/mojo-rZm6bMo-.js +13 -0
- package/tracer-viewer-bundle/assets/mojo-rZm6bMo-.js.map +1 -0
- package/tracer-viewer-bundle/assets/monokai-D4h5O-jR.js +12 -0
- package/tracer-viewer-bundle/assets/monokai-D4h5O-jR.js.map +1 -0
- package/tracer-viewer-bundle/assets/moonbit-_H4v1dQx.js +13 -0
- package/tracer-viewer-bundle/assets/moonbit-_H4v1dQx.js.map +1 -0
- package/tracer-viewer-bundle/assets/move-IF9eRakj.js +13 -0
- package/tracer-viewer-bundle/assets/move-IF9eRakj.js.map +1 -0
- package/tracer-viewer-bundle/assets/narrat-DRg8JJMk.js +13 -0
- package/tracer-viewer-bundle/assets/narrat-DRg8JJMk.js.map +1 -0
- package/tracer-viewer-bundle/assets/nextflow-C-mBbutL.js +14 -0
- package/tracer-viewer-bundle/assets/nextflow-C-mBbutL.js.map +1 -0
- package/tracer-viewer-bundle/assets/nextflow-groovy-vE_lwT2v.js +13 -0
- package/tracer-viewer-bundle/assets/nextflow-groovy-vE_lwT2v.js.map +1 -0
- package/tracer-viewer-bundle/assets/nginx-BpAMiNFr.js +15 -0
- package/tracer-viewer-bundle/assets/nginx-BpAMiNFr.js.map +1 -0
- package/tracer-viewer-bundle/assets/night-owl-C39BiMTA.js +12 -0
- package/tracer-viewer-bundle/assets/night-owl-C39BiMTA.js.map +1 -0
- package/tracer-viewer-bundle/assets/night-owl-light-CMTm3GFP.js +12 -0
- package/tracer-viewer-bundle/assets/night-owl-light-CMTm3GFP.js.map +1 -0
- package/tracer-viewer-bundle/assets/nim-BIad80T-.js +21 -0
- package/tracer-viewer-bundle/assets/nim-BIad80T-.js.map +1 -0
- package/tracer-viewer-bundle/assets/nix-CwoSXNpI.js +19 -0
- package/tracer-viewer-bundle/assets/nix-CwoSXNpI.js.map +1 -0
- package/tracer-viewer-bundle/assets/nord-Ddv68eIx.js +12 -0
- package/tracer-viewer-bundle/assets/nord-Ddv68eIx.js.map +1 -0
- package/tracer-viewer-bundle/assets/nushell-Cz2AlsmD.js +13 -0
- package/tracer-viewer-bundle/assets/nushell-Cz2AlsmD.js.map +1 -0
- package/tracer-viewer-bundle/assets/objective-c-DXmwc3jG.js +13 -0
- package/tracer-viewer-bundle/assets/objective-c-DXmwc3jG.js.map +1 -0
- package/tracer-viewer-bundle/assets/objective-cpp-CLxacb5B.js +13 -0
- package/tracer-viewer-bundle/assets/objective-cpp-CLxacb5B.js.map +1 -0
- package/tracer-viewer-bundle/assets/ocaml-C0hk2d4L.js +13 -0
- package/tracer-viewer-bundle/assets/ocaml-C0hk2d4L.js.map +1 -0
- package/tracer-viewer-bundle/assets/odin-BBf5iR-q.js +13 -0
- package/tracer-viewer-bundle/assets/odin-BBf5iR-q.js.map +1 -0
- package/tracer-viewer-bundle/assets/one-dark-pro-DVMEJ2y_.js +12 -0
- package/tracer-viewer-bundle/assets/one-dark-pro-DVMEJ2y_.js.map +1 -0
- package/tracer-viewer-bundle/assets/one-light-C3Wv6jpd.js +12 -0
- package/tracer-viewer-bundle/assets/one-light-C3Wv6jpd.js.map +1 -0
- package/tracer-viewer-bundle/assets/openscad-C4EeE6gA.js +13 -0
- package/tracer-viewer-bundle/assets/openscad-C4EeE6gA.js.map +1 -0
- package/tracer-viewer-bundle/assets/pascal-D93ZcfNL.js +13 -0
- package/tracer-viewer-bundle/assets/pascal-D93ZcfNL.js.map +1 -0
- package/tracer-viewer-bundle/assets/perl-NvoQZIq0.js +19 -0
- package/tracer-viewer-bundle/assets/perl-NvoQZIq0.js.map +1 -0
- package/tracer-viewer-bundle/assets/php-R6g_5hLQ.js +20 -0
- package/tracer-viewer-bundle/assets/php-R6g_5hLQ.js.map +1 -0
- package/tracer-viewer-bundle/assets/pkl-u5AG7uiY.js +13 -0
- package/tracer-viewer-bundle/assets/pkl-u5AG7uiY.js.map +1 -0
- package/tracer-viewer-bundle/assets/plastic-3e1v2bzS.js +12 -0
- package/tracer-viewer-bundle/assets/plastic-3e1v2bzS.js.map +1 -0
- package/tracer-viewer-bundle/assets/plsql-ChMvpjG-.js +13 -0
- package/tracer-viewer-bundle/assets/plsql-ChMvpjG-.js.map +1 -0
- package/tracer-viewer-bundle/assets/po-BTJTHyun.js +13 -0
- package/tracer-viewer-bundle/assets/po-BTJTHyun.js.map +1 -0
- package/tracer-viewer-bundle/assets/poimandres-CS3Unz2-.js +12 -0
- package/tracer-viewer-bundle/assets/poimandres-CS3Unz2-.js.map +1 -0
- package/tracer-viewer-bundle/assets/polar-C0HS_06l.js +13 -0
- package/tracer-viewer-bundle/assets/polar-C0HS_06l.js.map +1 -0
- package/tracer-viewer-bundle/assets/postcss-CXtECtnM.js +13 -0
- package/tracer-viewer-bundle/assets/postcss-CXtECtnM.js.map +1 -0
- package/tracer-viewer-bundle/assets/powerquery-CEu0bR-o.js +13 -0
- package/tracer-viewer-bundle/assets/powerquery-CEu0bR-o.js.map +1 -0
- package/tracer-viewer-bundle/assets/powershell-Dpen1YoG.js +13 -0
- package/tracer-viewer-bundle/assets/powershell-Dpen1YoG.js.map +1 -0
- package/tracer-viewer-bundle/assets/prisma-Dd19v3D-.js +13 -0
- package/tracer-viewer-bundle/assets/prisma-Dd19v3D-.js.map +1 -0
- package/tracer-viewer-bundle/assets/prolog-CbFg5uaA.js +13 -0
- package/tracer-viewer-bundle/assets/prolog-CbFg5uaA.js.map +1 -0
- package/tracer-viewer-bundle/assets/proto-C7zT0LnQ.js +13 -0
- package/tracer-viewer-bundle/assets/proto-C7zT0LnQ.js.map +1 -0
- package/tracer-viewer-bundle/assets/pug-DKIMFp6K.js +16 -0
- package/tracer-viewer-bundle/assets/pug-DKIMFp6K.js.map +1 -0
- package/tracer-viewer-bundle/assets/puppet-BMWR74SV.js +13 -0
- package/tracer-viewer-bundle/assets/puppet-BMWR74SV.js.map +1 -0
- package/tracer-viewer-bundle/assets/purescript-CklMAg4u.js +13 -0
- package/tracer-viewer-bundle/assets/purescript-CklMAg4u.js.map +1 -0
- package/tracer-viewer-bundle/assets/python-B6aJPvgy.js +13 -0
- package/tracer-viewer-bundle/assets/python-B6aJPvgy.js.map +1 -0
- package/tracer-viewer-bundle/assets/qml-3beO22l8.js +14 -0
- package/tracer-viewer-bundle/assets/qml-3beO22l8.js.map +1 -0
- package/tracer-viewer-bundle/assets/qmldir-C8lEn-DE.js +13 -0
- package/tracer-viewer-bundle/assets/qmldir-C8lEn-DE.js.map +1 -0
- package/tracer-viewer-bundle/assets/qss-IeuSbFQv.js +13 -0
- package/tracer-viewer-bundle/assets/qss-IeuSbFQv.js.map +1 -0
- package/tracer-viewer-bundle/assets/r-Dspwwk_N.js +13 -0
- package/tracer-viewer-bundle/assets/r-Dspwwk_N.js.map +1 -0
- package/tracer-viewer-bundle/assets/racket-BqYA7rlc.js +13 -0
- package/tracer-viewer-bundle/assets/racket-BqYA7rlc.js.map +1 -0
- package/tracer-viewer-bundle/assets/raku-DXvB9xmW.js +13 -0
- package/tracer-viewer-bundle/assets/raku-DXvB9xmW.js.map +1 -0
- package/tracer-viewer-bundle/assets/razor-BDqjjVU7.js +17 -0
- package/tracer-viewer-bundle/assets/razor-BDqjjVU7.js.map +1 -0
- package/tracer-viewer-bundle/assets/red-bN70gL4F.js +12 -0
- package/tracer-viewer-bundle/assets/red-bN70gL4F.js.map +1 -0
- package/tracer-viewer-bundle/assets/reg-C-SQnVFl.js +13 -0
- package/tracer-viewer-bundle/assets/reg-C-SQnVFl.js.map +1 -0
- package/tracer-viewer-bundle/assets/regexp-CDVJQ6XC.js +13 -0
- package/tracer-viewer-bundle/assets/regexp-CDVJQ6XC.js.map +1 -0
- package/tracer-viewer-bundle/assets/rel-C3B-1QV4.js +13 -0
- package/tracer-viewer-bundle/assets/rel-C3B-1QV4.js.map +1 -0
- package/tracer-viewer-bundle/assets/riscv-BM1_JUlF.js +13 -0
- package/tracer-viewer-bundle/assets/riscv-BM1_JUlF.js.map +1 -0
- package/tracer-viewer-bundle/assets/ron-D8l8udqQ.js +13 -0
- package/tracer-viewer-bundle/assets/ron-D8l8udqQ.js.map +1 -0
- package/tracer-viewer-bundle/assets/rose-pine-dawn-DHQR4-dF.js +12 -0
- package/tracer-viewer-bundle/assets/rose-pine-dawn-DHQR4-dF.js.map +1 -0
- package/tracer-viewer-bundle/assets/rose-pine-moon-D4_iv3hh.js +12 -0
- package/tracer-viewer-bundle/assets/rose-pine-moon-D4_iv3hh.js.map +1 -0
- package/tracer-viewer-bundle/assets/rose-pine-qdsjHGoJ.js +12 -0
- package/tracer-viewer-bundle/assets/rose-pine-qdsjHGoJ.js.map +1 -0
- package/tracer-viewer-bundle/assets/rosmsg-BJDFO7_C.js +13 -0
- package/tracer-viewer-bundle/assets/rosmsg-BJDFO7_C.js.map +1 -0
- package/tracer-viewer-bundle/assets/rst-CRjBmOyv.js +35 -0
- package/tracer-viewer-bundle/assets/rst-CRjBmOyv.js.map +1 -0
- package/tracer-viewer-bundle/assets/ruby-Wjq7vjNf.js +31 -0
- package/tracer-viewer-bundle/assets/ruby-Wjq7vjNf.js.map +1 -0
- package/tracer-viewer-bundle/assets/rust-B1yitclQ.js +13 -0
- package/tracer-viewer-bundle/assets/rust-B1yitclQ.js.map +1 -0
- package/tracer-viewer-bundle/assets/sas-cz2c8ADy.js +14 -0
- package/tracer-viewer-bundle/assets/sas-cz2c8ADy.js.map +1 -0
- package/tracer-viewer-bundle/assets/sass-Cj5Yp3dK.js +13 -0
- package/tracer-viewer-bundle/assets/sass-Cj5Yp3dK.js.map +1 -0
- package/tracer-viewer-bundle/assets/scala-C151Ov-r.js +13 -0
- package/tracer-viewer-bundle/assets/scala-C151Ov-r.js.map +1 -0
- package/tracer-viewer-bundle/assets/scheme-C98Dy4si.js +13 -0
- package/tracer-viewer-bundle/assets/scheme-C98Dy4si.js.map +1 -0
- package/tracer-viewer-bundle/assets/scss-D5BDwBP9.js +14 -0
- package/tracer-viewer-bundle/assets/scss-D5BDwBP9.js.map +1 -0
- package/tracer-viewer-bundle/assets/sdbl-DVxCFoDh.js +13 -0
- package/tracer-viewer-bundle/assets/sdbl-DVxCFoDh.js.map +1 -0
- package/tracer-viewer-bundle/assets/shaderlab-Dg9Lc6iA.js +14 -0
- package/tracer-viewer-bundle/assets/shaderlab-Dg9Lc6iA.js.map +1 -0
- package/tracer-viewer-bundle/assets/shellscript-Yzrsuije.js +13 -0
- package/tracer-viewer-bundle/assets/shellscript-Yzrsuije.js.map +1 -0
- package/tracer-viewer-bundle/assets/shellsession-BADoaaVG.js +14 -0
- package/tracer-viewer-bundle/assets/shellsession-BADoaaVG.js.map +1 -0
- package/tracer-viewer-bundle/assets/slack-dark-BthQWCQV.js +12 -0
- package/tracer-viewer-bundle/assets/slack-dark-BthQWCQV.js.map +1 -0
- package/tracer-viewer-bundle/assets/slack-ochin-DqwNpetd.js +12 -0
- package/tracer-viewer-bundle/assets/slack-ochin-DqwNpetd.js.map +1 -0
- package/tracer-viewer-bundle/assets/smalltalk-BERRCDM3.js +13 -0
- package/tracer-viewer-bundle/assets/smalltalk-BERRCDM3.js.map +1 -0
- package/tracer-viewer-bundle/assets/snazzy-light-Bw305WKR.js +12 -0
- package/tracer-viewer-bundle/assets/snazzy-light-Bw305WKR.js.map +1 -0
- package/tracer-viewer-bundle/assets/solarized-dark-DXbdFlpD.js +12 -0
- package/tracer-viewer-bundle/assets/solarized-dark-DXbdFlpD.js.map +1 -0
- package/tracer-viewer-bundle/assets/solarized-light-L9t79GZl.js +12 -0
- package/tracer-viewer-bundle/assets/solarized-light-L9t79GZl.js.map +1 -0
- package/tracer-viewer-bundle/assets/solidity-rGO070M0.js +13 -0
- package/tracer-viewer-bundle/assets/solidity-rGO070M0.js.map +1 -0
- package/tracer-viewer-bundle/assets/soy-8wufbnw4.js +16 -0
- package/tracer-viewer-bundle/assets/soy-8wufbnw4.js.map +1 -0
- package/tracer-viewer-bundle/assets/sparql-rVzFXLq3.js +14 -0
- package/tracer-viewer-bundle/assets/sparql-rVzFXLq3.js.map +1 -0
- package/tracer-viewer-bundle/assets/splunk-BtCnVYZw.js +13 -0
- package/tracer-viewer-bundle/assets/splunk-BtCnVYZw.js.map +1 -0
- package/tracer-viewer-bundle/assets/sql-BLtJtn59.js +13 -0
- package/tracer-viewer-bundle/assets/sql-BLtJtn59.js.map +1 -0
- package/tracer-viewer-bundle/assets/ssh-config-_ykCGR6B.js +13 -0
- package/tracer-viewer-bundle/assets/ssh-config-_ykCGR6B.js.map +1 -0
- package/tracer-viewer-bundle/assets/stata-BH5u7GGu.js +14 -0
- package/tracer-viewer-bundle/assets/stata-BH5u7GGu.js.map +1 -0
- package/tracer-viewer-bundle/assets/stylus-BEDo0Tqx.js +13 -0
- package/tracer-viewer-bundle/assets/stylus-BEDo0Tqx.js.map +1 -0
- package/tracer-viewer-bundle/assets/surrealql-Bq5Q-fJD.js +14 -0
- package/tracer-viewer-bundle/assets/surrealql-Bq5Q-fJD.js.map +1 -0
- package/tracer-viewer-bundle/assets/svelte-Cy7k_4gC.js +17 -0
- package/tracer-viewer-bundle/assets/svelte-Cy7k_4gC.js.map +1 -0
- package/tracer-viewer-bundle/assets/swift-D82vCrfD.js +13 -0
- package/tracer-viewer-bundle/assets/swift-D82vCrfD.js.map +1 -0
- package/tracer-viewer-bundle/assets/synthwave-84-CbfX1IO0.js +12 -0
- package/tracer-viewer-bundle/assets/synthwave-84-CbfX1IO0.js.map +1 -0
- package/tracer-viewer-bundle/assets/system-verilog-CnnmHF94.js +13 -0
- package/tracer-viewer-bundle/assets/system-verilog-CnnmHF94.js.map +1 -0
- package/tracer-viewer-bundle/assets/systemd-4A_iFExJ.js +13 -0
- package/tracer-viewer-bundle/assets/systemd-4A_iFExJ.js.map +1 -0
- package/tracer-viewer-bundle/assets/talonscript-CkByrt1z.js +13 -0
- package/tracer-viewer-bundle/assets/talonscript-CkByrt1z.js.map +1 -0
- package/tracer-viewer-bundle/assets/tasl-QIJgUcNo.js +13 -0
- package/tracer-viewer-bundle/assets/tasl-QIJgUcNo.js.map +1 -0
- package/tracer-viewer-bundle/assets/tcl-dwOrl1Do.js +13 -0
- package/tracer-viewer-bundle/assets/tcl-dwOrl1Do.js.map +1 -0
- package/tracer-viewer-bundle/assets/templ-DhtptRzy.js +16 -0
- package/tracer-viewer-bundle/assets/templ-DhtptRzy.js.map +1 -0
- package/tracer-viewer-bundle/assets/terraform-BETggiCN.js +13 -0
- package/tracer-viewer-bundle/assets/terraform-BETggiCN.js.map +1 -0
- package/tracer-viewer-bundle/assets/tex-idrVyKtj.js +14 -0
- package/tracer-viewer-bundle/assets/tex-idrVyKtj.js.map +1 -0
- package/tracer-viewer-bundle/assets/tokyo-night-hegEt444.js +12 -0
- package/tracer-viewer-bundle/assets/tokyo-night-hegEt444.js.map +1 -0
- package/tracer-viewer-bundle/assets/toml-vGWfd6FD.js +13 -0
- package/tracer-viewer-bundle/assets/toml-vGWfd6FD.js.map +1 -0
- package/tracer-viewer-bundle/assets/ts-tags-DQrlYJgV.js +52 -0
- package/tracer-viewer-bundle/assets/ts-tags-DQrlYJgV.js.map +1 -0
- package/tracer-viewer-bundle/assets/tsv-B_m7g4N7.js +13 -0
- package/tracer-viewer-bundle/assets/tsv-B_m7g4N7.js.map +1 -0
- package/tracer-viewer-bundle/assets/tsx-COt5Ahok.js +13 -0
- package/tracer-viewer-bundle/assets/tsx-COt5Ahok.js.map +1 -0
- package/tracer-viewer-bundle/assets/turtle-BsS91CYL.js +13 -0
- package/tracer-viewer-bundle/assets/turtle-BsS91CYL.js.map +1 -0
- package/tracer-viewer-bundle/assets/twig-xg9kU7Mw.js +36 -0
- package/tracer-viewer-bundle/assets/twig-xg9kU7Mw.js.map +1 -0
- package/tracer-viewer-bundle/assets/typescript-BPQ3VLAy.js +13 -0
- package/tracer-viewer-bundle/assets/typescript-BPQ3VLAy.js.map +1 -0
- package/tracer-viewer-bundle/assets/typespec-CAFt9gP4.js +13 -0
- package/tracer-viewer-bundle/assets/typespec-CAFt9gP4.js.map +1 -0
- package/tracer-viewer-bundle/assets/typst-DHCkPAjA.js +13 -0
- package/tracer-viewer-bundle/assets/typst-DHCkPAjA.js.map +1 -0
- package/tracer-viewer-bundle/assets/v-BcVCzyr7.js +13 -0
- package/tracer-viewer-bundle/assets/v-BcVCzyr7.js.map +1 -0
- package/tracer-viewer-bundle/assets/vala-CsfeWuGM.js +13 -0
- package/tracer-viewer-bundle/assets/vala-CsfeWuGM.js.map +1 -0
- package/tracer-viewer-bundle/assets/vb-D17OF-Vu.js +13 -0
- package/tracer-viewer-bundle/assets/vb-D17OF-Vu.js.map +1 -0
- package/tracer-viewer-bundle/assets/verilog-BQ8w6xss.js +13 -0
- package/tracer-viewer-bundle/assets/verilog-BQ8w6xss.js.map +1 -0
- package/tracer-viewer-bundle/assets/vesper-DU1UobuO.js +12 -0
- package/tracer-viewer-bundle/assets/vesper-DU1UobuO.js.map +1 -0
- package/tracer-viewer-bundle/assets/vhdl-CeAyd5Ju.js +13 -0
- package/tracer-viewer-bundle/assets/vhdl-CeAyd5Ju.js.map +1 -0
- package/tracer-viewer-bundle/assets/viml-CJc9bBzg.js +13 -0
- package/tracer-viewer-bundle/assets/viml-CJc9bBzg.js.map +1 -0
- package/tracer-viewer-bundle/assets/vitesse-black-Bkuqu6BP.js +12 -0
- package/tracer-viewer-bundle/assets/vitesse-black-Bkuqu6BP.js.map +1 -0
- package/tracer-viewer-bundle/assets/vitesse-dark-D0r3Knsf.js +12 -0
- package/tracer-viewer-bundle/assets/vitesse-dark-D0r3Knsf.js.map +1 -0
- package/tracer-viewer-bundle/assets/vitesse-light-CVO1_9PV.js +12 -0
- package/tracer-viewer-bundle/assets/vitesse-light-CVO1_9PV.js.map +1 -0
- package/tracer-viewer-bundle/assets/vue-D2xRrEX4.js +43 -0
- package/tracer-viewer-bundle/assets/vue-D2xRrEX4.js.map +1 -0
- package/tracer-viewer-bundle/assets/vue-html-AaS7Mt5G.js +14 -0
- package/tracer-viewer-bundle/assets/vue-html-AaS7Mt5G.js.map +1 -0
- package/tracer-viewer-bundle/assets/vue-vine-BoDAl6tE.js +19 -0
- package/tracer-viewer-bundle/assets/vue-vine-BoDAl6tE.js.map +1 -0
- package/tracer-viewer-bundle/assets/vyper-CDx5xZoG.js +13 -0
- package/tracer-viewer-bundle/assets/vyper-CDx5xZoG.js.map +1 -0
- package/tracer-viewer-bundle/assets/wasm-CG6Dc4jp.js +15 -0
- package/tracer-viewer-bundle/assets/wasm-CG6Dc4jp.js.map +1 -0
- package/tracer-viewer-bundle/assets/wasm-MzD3tlZU.js +13 -0
- package/tracer-viewer-bundle/assets/wasm-MzD3tlZU.js.map +1 -0
- package/tracer-viewer-bundle/assets/wenyan-BV7otONQ.js +13 -0
- package/tracer-viewer-bundle/assets/wenyan-BV7otONQ.js.map +1 -0
- package/tracer-viewer-bundle/assets/wgsl-Dx-B1_4e.js +13 -0
- package/tracer-viewer-bundle/assets/wgsl-Dx-B1_4e.js.map +1 -0
- package/tracer-viewer-bundle/assets/wikitext-BhOHFoWU.js +13 -0
- package/tracer-viewer-bundle/assets/wikitext-BhOHFoWU.js.map +1 -0
- package/tracer-viewer-bundle/assets/wit-5i3qLPDT.js +13 -0
- package/tracer-viewer-bundle/assets/wit-5i3qLPDT.js.map +1 -0
- package/tracer-viewer-bundle/assets/wolfram-lXgVvXCa.js +13 -0
- package/tracer-viewer-bundle/assets/wolfram-lXgVvXCa.js.map +1 -0
- package/tracer-viewer-bundle/assets/xml-sdJ4AIDG.js +14 -0
- package/tracer-viewer-bundle/assets/xml-sdJ4AIDG.js.map +1 -0
- package/tracer-viewer-bundle/assets/xsl-CtQFsRM5.js +15 -0
- package/tracer-viewer-bundle/assets/xsl-CtQFsRM5.js.map +1 -0
- package/tracer-viewer-bundle/assets/yaml-Buea-lGh.js +13 -0
- package/tracer-viewer-bundle/assets/yaml-Buea-lGh.js.map +1 -0
- package/tracer-viewer-bundle/assets/zenscript-DVFEvuxE.js +13 -0
- package/tracer-viewer-bundle/assets/zenscript-DVFEvuxE.js.map +1 -0
- package/tracer-viewer-bundle/assets/zig-VOosw3JB.js +13 -0
- package/tracer-viewer-bundle/assets/zig-VOosw3JB.js.map +1 -0
- package/tracer-viewer-bundle/index.html +25 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright: (c) Myia SAS 2026.
|
|
4
|
+
* This file and its contents are licensed under the AGPLv3 License.
|
|
5
|
+
* Please see the LICENSE file at the root of this repository
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.ConsoleCaptureSession = void 0;
|
|
42
|
+
// ConsoleCaptureSession — one test's worth of browser-console capture.
|
|
43
|
+
//
|
|
44
|
+
// Subscribes to `console` and `pageerror` on every page in every
|
|
45
|
+
// BrowserContext we are wired to (initial context + popups + any
|
|
46
|
+
// context the user opened via `browser.newContext()` in the test
|
|
47
|
+
// body). Each event is serialized to a `ConsoleRecord` and appended
|
|
48
|
+
// to the per-test `heal-console.ndjson` sidecar. Cross-link to the
|
|
49
|
+
// statement stream is via `t` (ms since recorder.startedAt) and the
|
|
50
|
+
// top-of-enter-stack `seq` snapshotted at emit time.
|
|
51
|
+
//
|
|
52
|
+
// Behaviour notes:
|
|
53
|
+
// - `attachToContext(ctx)` is idempotent. A `WeakSet` drops
|
|
54
|
+
// duplicate wiring when the initial page's context is also
|
|
55
|
+
// returned by `browser.contexts()`.
|
|
56
|
+
// - `console-message.args()` are best-effort: each handle is
|
|
57
|
+
// resolved with a small `withTimeout`; on timeout we keep the
|
|
58
|
+
// record but drop `args`. We never block a test on console arg
|
|
59
|
+
// resolution.
|
|
60
|
+
// - The fd is opened lazily on the first record so disabled tests
|
|
61
|
+
// do not write empty files.
|
|
62
|
+
const fs = __importStar(require("fs"));
|
|
63
|
+
const with_timeout_1 = require("../../util/with-timeout");
|
|
64
|
+
const ARG_RESOLVE_TIMEOUT_MS = 250;
|
|
65
|
+
const DEFAULT_MAX_ARG_BYTES = 4096;
|
|
66
|
+
const DEFAULT_MAX_ARGS_PER_EVENT = 10;
|
|
67
|
+
const ALLOWED_LEVELS = [
|
|
68
|
+
'log',
|
|
69
|
+
'info',
|
|
70
|
+
'warn',
|
|
71
|
+
'error',
|
|
72
|
+
'debug',
|
|
73
|
+
'trace',
|
|
74
|
+
'pageerror',
|
|
75
|
+
];
|
|
76
|
+
class ConsoleCaptureSession {
|
|
77
|
+
constructor(ndjsonPath, deps, config) {
|
|
78
|
+
this.ndjsonPath = ndjsonPath;
|
|
79
|
+
this.deps = deps;
|
|
80
|
+
this.closed = false;
|
|
81
|
+
this.contexts = new WeakSet();
|
|
82
|
+
this.pages = new WeakSet();
|
|
83
|
+
const requested = config.levels ?? ALLOWED_LEVELS;
|
|
84
|
+
this.levels = new Set(requested);
|
|
85
|
+
this.maxArgBytes = config.maxArgBytes ?? DEFAULT_MAX_ARG_BYTES;
|
|
86
|
+
this.maxArgsPerEvent = config.maxArgsPerEvent ?? DEFAULT_MAX_ARGS_PER_EVENT;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Wire `ctx` and every page already living on it. Idempotent. Also
|
|
90
|
+
* subscribes to future pages via `ctx.on('page')` so popups created
|
|
91
|
+
* later in the test body are covered.
|
|
92
|
+
*/
|
|
93
|
+
attachToContext(ctx) {
|
|
94
|
+
if (this.closed || this.contexts.has(ctx))
|
|
95
|
+
return;
|
|
96
|
+
this.contexts.add(ctx);
|
|
97
|
+
for (const page of ctx.pages())
|
|
98
|
+
this.attachToPage(page);
|
|
99
|
+
ctx.on('page', (page) => this.attachToPage(page));
|
|
100
|
+
}
|
|
101
|
+
attachToPage(page) {
|
|
102
|
+
if (this.closed || this.pages.has(page))
|
|
103
|
+
return;
|
|
104
|
+
this.pages.add(page);
|
|
105
|
+
page.on('console', (msg) => this.handleConsole(page, msg));
|
|
106
|
+
page.on('pageerror', (err) => this.handlePageError(page, err));
|
|
107
|
+
}
|
|
108
|
+
async handleConsole(page, msg) {
|
|
109
|
+
if (this.closed)
|
|
110
|
+
return;
|
|
111
|
+
const level = mapConsoleType(msg.type());
|
|
112
|
+
if (!this.levels.has(level))
|
|
113
|
+
return;
|
|
114
|
+
const args = await this.resolveArgs(msg);
|
|
115
|
+
const loc = msg.location();
|
|
116
|
+
const record = {
|
|
117
|
+
kind: 'console',
|
|
118
|
+
t: this.deps.clock.now() - this.deps.startedAt,
|
|
119
|
+
level,
|
|
120
|
+
text: msg.text(),
|
|
121
|
+
...(args !== undefined ? { args } : {}),
|
|
122
|
+
...(loc.url || loc.lineNumber !== undefined
|
|
123
|
+
? {
|
|
124
|
+
location: {
|
|
125
|
+
...(loc.url ? { url: loc.url } : {}),
|
|
126
|
+
...(loc.lineNumber !== undefined ? { line: loc.lineNumber } : {}),
|
|
127
|
+
...(loc.columnNumber !== undefined ? { col: loc.columnNumber } : {}),
|
|
128
|
+
},
|
|
129
|
+
}
|
|
130
|
+
: {}),
|
|
131
|
+
...this.snapshotCorrelation(page, msg.page()?.mainFrame()?.url()),
|
|
132
|
+
};
|
|
133
|
+
this.write(record);
|
|
134
|
+
}
|
|
135
|
+
handlePageError(page, err) {
|
|
136
|
+
if (this.closed)
|
|
137
|
+
return;
|
|
138
|
+
if (!this.levels.has('pageerror'))
|
|
139
|
+
return;
|
|
140
|
+
const record = {
|
|
141
|
+
kind: 'console',
|
|
142
|
+
t: this.deps.clock.now() - this.deps.startedAt,
|
|
143
|
+
level: 'pageerror',
|
|
144
|
+
text: err.message,
|
|
145
|
+
...(err.stack ? { stack: err.stack } : {}),
|
|
146
|
+
...this.snapshotCorrelation(page),
|
|
147
|
+
};
|
|
148
|
+
this.write(record);
|
|
149
|
+
}
|
|
150
|
+
snapshotCorrelation(page, frameUrl) {
|
|
151
|
+
const out = {};
|
|
152
|
+
const seq = this.deps.getCurrentStatementSeq();
|
|
153
|
+
if (seq !== undefined)
|
|
154
|
+
out.statementSeq = seq;
|
|
155
|
+
const stepPath = this.deps.getCurrentStepPath();
|
|
156
|
+
if (stepPath)
|
|
157
|
+
out.stepPath = stepPath;
|
|
158
|
+
try {
|
|
159
|
+
const url = page.url();
|
|
160
|
+
if (url)
|
|
161
|
+
out.pageUrl = url;
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// page may already be closed — ignore.
|
|
165
|
+
}
|
|
166
|
+
if (frameUrl)
|
|
167
|
+
out.frameUrl = frameUrl;
|
|
168
|
+
return out;
|
|
169
|
+
}
|
|
170
|
+
async resolveArgs(msg) {
|
|
171
|
+
const handles = msg.args();
|
|
172
|
+
if (handles.length === 0)
|
|
173
|
+
return undefined;
|
|
174
|
+
const trimmed = handles.slice(0, this.maxArgsPerEvent);
|
|
175
|
+
try {
|
|
176
|
+
const resolved = await Promise.all(trimmed.map((h) => this.resolveArg(h)));
|
|
177
|
+
return resolved;
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
async resolveArg(handle) {
|
|
184
|
+
try {
|
|
185
|
+
const value = await (0, with_timeout_1.withTimeout)(Promise.resolve(handle.jsonValue()), ARG_RESOLVE_TIMEOUT_MS, 'console-arg.jsonValue');
|
|
186
|
+
return capArg(value, this.maxArgBytes);
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
return '<unserializable>';
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
write(record) {
|
|
193
|
+
if (this.closed)
|
|
194
|
+
return;
|
|
195
|
+
if (this.fd === undefined)
|
|
196
|
+
this.fd = fs.openSync(this.ndjsonPath, 'a');
|
|
197
|
+
fs.writeSync(this.fd, JSON.stringify(record) + '\n');
|
|
198
|
+
}
|
|
199
|
+
close() {
|
|
200
|
+
if (this.closed)
|
|
201
|
+
return Promise.resolve();
|
|
202
|
+
this.closed = true;
|
|
203
|
+
if (this.fd !== undefined) {
|
|
204
|
+
try {
|
|
205
|
+
fs.closeSync(this.fd);
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
// best-effort; fd may already be gone.
|
|
209
|
+
}
|
|
210
|
+
this.fd = undefined;
|
|
211
|
+
}
|
|
212
|
+
return Promise.resolve();
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
exports.ConsoleCaptureSession = ConsoleCaptureSession;
|
|
216
|
+
function mapConsoleType(type) {
|
|
217
|
+
switch (type) {
|
|
218
|
+
case 'log':
|
|
219
|
+
case 'info':
|
|
220
|
+
case 'warn':
|
|
221
|
+
case 'error':
|
|
222
|
+
case 'debug':
|
|
223
|
+
case 'trace':
|
|
224
|
+
return type;
|
|
225
|
+
case 'warning':
|
|
226
|
+
return 'warn';
|
|
227
|
+
default:
|
|
228
|
+
return 'log';
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Defensive cap on arg payload size — strings that exceed the byte
|
|
233
|
+
* budget are sliced to `maxArgBytes` UTF-8 characters; non-string
|
|
234
|
+
* values pass through unchanged (they will be re-encoded by the
|
|
235
|
+
* NDJSON `JSON.stringify` and the natural JSON size is acceptable).
|
|
236
|
+
*/
|
|
237
|
+
function capArg(value, maxArgBytes) {
|
|
238
|
+
if (typeof value !== 'string')
|
|
239
|
+
return value;
|
|
240
|
+
if (Buffer.byteLength(value, 'utf8') <= maxArgBytes)
|
|
241
|
+
return value;
|
|
242
|
+
return value.slice(0, maxArgBytes) + '…';
|
|
243
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright: (c) Myia SAS 2026.
|
|
3
|
+
* This file and its contents are licensed under the AGPLv3 License.
|
|
4
|
+
* Please see the LICENSE file at the root of this repository
|
|
5
|
+
*/
|
|
6
|
+
export { ConsoleCaptureSession } from './console-capture-session';
|
|
7
|
+
export type { ConsoleCaptureDeps } from './console-capture-session';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright: (c) Myia SAS 2026.
|
|
4
|
+
* This file and its contents are licensed under the AGPLv3 License.
|
|
5
|
+
* Please see the LICENSE file at the root of this repository
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ConsoleCaptureSession = void 0;
|
|
9
|
+
// Feature: console capture — sidecar NDJSON stream of every browser
|
|
10
|
+
// `console.*` and `pageerror` event fired during a test.
|
|
11
|
+
//
|
|
12
|
+
// Public API:
|
|
13
|
+
// startConsoleCapture(initialContext, ndjsonPath, deps, config)
|
|
14
|
+
// Builds a `ConsoleCaptureSession`, wires the initial
|
|
15
|
+
// BrowserContext, and returns the session so the caller can wire
|
|
16
|
+
// additional contexts later (popups created via
|
|
17
|
+
// `browser.newContext()` in the test body) and call
|
|
18
|
+
// `close()` at teardown.
|
|
19
|
+
var console_capture_session_1 = require("./console-capture-session");
|
|
20
|
+
Object.defineProperty(exports, "ConsoleCaptureSession", { enumerable: true, get: function () { return console_capture_session_1.ConsoleCaptureSession; } });
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.wrapExpect = wrapExpect;
|
|
9
|
-
const overlay_helpers_1 = require("./overlay-helpers");
|
|
10
9
|
const locator_patch_1 = require("./locator-patch");
|
|
10
|
+
const logger_1 = require("../../util/logger");
|
|
11
11
|
// Duck-type: a Playwright Locator always has both `.boundingBox` and
|
|
12
12
|
// `.page` as functions. FrameLocator / ElementHandle / Page won't match.
|
|
13
13
|
// We don't use `instanceof` because the Locator class is created lazily
|
|
@@ -38,26 +38,38 @@ function wrapAssertion(assertion, locator) {
|
|
|
38
38
|
const page = typeof locator.page === 'function'
|
|
39
39
|
? locator.page()
|
|
40
40
|
: null;
|
|
41
|
-
let
|
|
41
|
+
let cleanup = null;
|
|
42
42
|
const session = (0, locator_patch_1.getActiveCaptureSession)();
|
|
43
43
|
if (page && session) {
|
|
44
44
|
try {
|
|
45
|
-
|
|
45
|
+
// Scroll the target into view before the screenshot —
|
|
46
|
+
// mirrors what locator actions already do — except for
|
|
47
|
+
// `toBeInViewport()` / `not.toBeInViewport()`, which
|
|
48
|
+
// are the only assertions whose outcome depends on
|
|
49
|
+
// viewport position. For those we leave scroll alone so
|
|
50
|
+
// we don't change what the user is asserting.
|
|
51
|
+
const scrollBeforeCapture = prop !== 'toBeInViewport';
|
|
52
|
+
cleanup = await session.captureWithHighlight(page, locator, `assert-${prop}`, {
|
|
53
|
+
scrollBeforeCapture,
|
|
54
|
+
});
|
|
46
55
|
}
|
|
47
|
-
catch (
|
|
56
|
+
catch (err) {
|
|
48
57
|
// Capture is best-effort: never block the assertion.
|
|
58
|
+
logger_1.log.warn(`captureWithHighlight rejected for assert-${String(prop)}`, err);
|
|
49
59
|
}
|
|
50
60
|
}
|
|
51
61
|
try {
|
|
52
62
|
return await value.apply(target, args);
|
|
53
63
|
}
|
|
54
64
|
finally {
|
|
55
|
-
if (
|
|
65
|
+
if (cleanup) {
|
|
56
66
|
try {
|
|
57
|
-
await (
|
|
67
|
+
await cleanup();
|
|
58
68
|
}
|
|
59
|
-
catch (
|
|
60
|
-
//
|
|
69
|
+
catch (err) {
|
|
70
|
+
// Cleanup is already capped via withTimeout inside
|
|
71
|
+
// the session.
|
|
72
|
+
logger_1.log.warn(`overlay cleanup rejected after assert-${String(prop)}`, err);
|
|
61
73
|
}
|
|
62
74
|
}
|
|
63
75
|
}
|
|
@@ -100,9 +112,10 @@ function wrapExpect(origExpect) {
|
|
|
100
112
|
try {
|
|
101
113
|
Object.defineProperty(wrapped, key, descriptor);
|
|
102
114
|
}
|
|
103
|
-
catch (
|
|
115
|
+
catch (err) {
|
|
104
116
|
// Some descriptors may be non-configurable on the target; skip
|
|
105
117
|
// them — the caller can still reach them via the original expect.
|
|
118
|
+
logger_1.log.warn(`could not copy expect.${String(key)} descriptor onto the wrapper`, err);
|
|
106
119
|
}
|
|
107
120
|
}
|
|
108
121
|
return wrapped;
|
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
* Please see the LICENSE file at the root of this repository
|
|
5
5
|
*/
|
|
6
6
|
import type { Page } from 'playwright';
|
|
7
|
-
export declare function startLocatorScreenshotCapture(samplePage: Page, outputDir: string, onScreenshotWritten: (filename: string) => void): () => void;
|
|
7
|
+
export declare function startLocatorScreenshotCapture(samplePage: Page, outputDir: string, onScreenshotWritten: (filename: string) => void, screenshotTimeoutMs: number): () => void;
|
|
8
8
|
export { wrapExpect } from './assertion-wrapper';
|
|
9
9
|
export { ScreenshotCaptureSession } from './screenshot-capture-session';
|
|
@@ -9,9 +9,9 @@ exports.ScreenshotCaptureSession = exports.wrapExpect = void 0;
|
|
|
9
9
|
exports.startLocatorScreenshotCapture = startLocatorScreenshotCapture;
|
|
10
10
|
const locator_patch_1 = require("./locator-patch");
|
|
11
11
|
const screenshot_capture_session_1 = require("./screenshot-capture-session");
|
|
12
|
-
function startLocatorScreenshotCapture(samplePage, outputDir, onScreenshotWritten) {
|
|
12
|
+
function startLocatorScreenshotCapture(samplePage, outputDir, onScreenshotWritten, screenshotTimeoutMs) {
|
|
13
13
|
(0, locator_patch_1.ensureLocatorPrototypePatched)(samplePage);
|
|
14
|
-
const session = new screenshot_capture_session_1.ScreenshotCaptureSession(outputDir, onScreenshotWritten);
|
|
14
|
+
const session = new screenshot_capture_session_1.ScreenshotCaptureSession(outputDir, onScreenshotWritten, screenshotTimeoutMs);
|
|
15
15
|
(0, locator_patch_1.setActiveCaptureSession)(session);
|
|
16
16
|
return () => (0, locator_patch_1.setActiveCaptureSession)(null);
|
|
17
17
|
}
|
|
@@ -9,10 +9,18 @@ exports.HIGHLIGHTED_LOCATOR_ACTIONS = void 0;
|
|
|
9
9
|
exports.setActiveCaptureSession = setActiveCaptureSession;
|
|
10
10
|
exports.getActiveCaptureSession = getActiveCaptureSession;
|
|
11
11
|
exports.ensureLocatorPrototypePatched = ensureLocatorPrototypePatched;
|
|
12
|
-
const
|
|
12
|
+
const logger_1 = require("../../util/logger");
|
|
13
13
|
// Locator action methods that will be highlighted and screenshotted.
|
|
14
14
|
// User-facing actions only — not queries, not waits, not assertions.
|
|
15
15
|
// If Playwright adds new action methods, append them here.
|
|
16
|
+
//
|
|
17
|
+
// Deliberately excluded: `scrollIntoViewIfNeeded`. The capture
|
|
18
|
+
// pipeline calls `target.scrollIntoViewIfNeeded()` itself before
|
|
19
|
+
// every action screenshot (so off-viewport targets aren't framing
|
|
20
|
+
// empty space); patching it here would cause infinite recursion
|
|
21
|
+
// when our own pre-screenshot scroll re-entered the patched method.
|
|
22
|
+
// The standalone scroll-action screenshot is also redundant given
|
|
23
|
+
// every other action now scrolls-then-screenshots anyway.
|
|
16
24
|
exports.HIGHLIGHTED_LOCATOR_ACTIONS = [
|
|
17
25
|
'click',
|
|
18
26
|
'dblclick',
|
|
@@ -32,7 +40,6 @@ exports.HIGHLIGHTED_LOCATOR_ACTIONS = [
|
|
|
32
40
|
'selectText',
|
|
33
41
|
'setInputFiles',
|
|
34
42
|
'dragTo',
|
|
35
|
-
'scrollIntoViewIfNeeded',
|
|
36
43
|
];
|
|
37
44
|
const PATCHED = Symbol.for('heal-playwright-tracer.locator-patched');
|
|
38
45
|
// Active-session registry. The fixture sets this at test start and
|
|
@@ -60,17 +67,22 @@ function ensureLocatorPrototypePatched(samplePage) {
|
|
|
60
67
|
const self = this;
|
|
61
68
|
const pg = typeof self.page === 'function' ? self.page() : null;
|
|
62
69
|
const session = activeSession;
|
|
63
|
-
const
|
|
70
|
+
const cleanup = pg && session
|
|
71
|
+
? await session.captureWithHighlight(pg, self, name, { scrollBeforeCapture: true })
|
|
72
|
+
: null;
|
|
64
73
|
try {
|
|
65
74
|
return await orig.apply(self, args);
|
|
66
75
|
}
|
|
67
76
|
finally {
|
|
68
|
-
if (
|
|
77
|
+
if (cleanup) {
|
|
69
78
|
try {
|
|
70
|
-
await (
|
|
79
|
+
await cleanup();
|
|
71
80
|
}
|
|
72
|
-
catch (
|
|
73
|
-
//
|
|
81
|
+
catch (err) {
|
|
82
|
+
// Cleanup is already wrapped in withTimeout inside the
|
|
83
|
+
// session; a rejection here means the page closed,
|
|
84
|
+
// navigated, or the renderer wedged past the cap.
|
|
85
|
+
logger_1.log.warn(`overlay cleanup rejected after locator.${name}`, err);
|
|
74
86
|
}
|
|
75
87
|
}
|
|
76
88
|
}
|
|
@@ -10,6 +10,6 @@ interface Box {
|
|
|
10
10
|
width: number;
|
|
11
11
|
height: number;
|
|
12
12
|
}
|
|
13
|
-
export declare function drawOverlay(page: Page, nodeId: string, box: Box): Promise<void>;
|
|
14
|
-
export declare function removeOverlay(page: Page, nodeId: string): Promise<void>;
|
|
13
|
+
export declare function drawOverlay(page: Page, nodeId: string, box: Box, timeoutMs: number): Promise<void>;
|
|
14
|
+
export declare function removeOverlay(page: Page, nodeId: string, timeoutMs: number): Promise<void>;
|
|
15
15
|
export {};
|
|
@@ -7,11 +7,16 @@
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.drawOverlay = drawOverlay;
|
|
9
9
|
exports.removeOverlay = removeOverlay;
|
|
10
|
+
const with_timeout_1 = require("../../util/with-timeout");
|
|
10
11
|
const DRAW_BORDER_SIZE = 4;
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
const DRAW_BORDER_COLOR = 'magenta';
|
|
13
|
+
// Near-invisible tint to match the CDP path's contentColor (a:0.08).
|
|
14
|
+
// The visible highlight is the border; the fill is just enough to
|
|
15
|
+
// keep the two paths visually aligned without obscuring the element.
|
|
16
|
+
const DRAW_FILL_COLOR = 'rgba(255, 0, 255, 0.08)';
|
|
17
|
+
async function drawOverlay(page, nodeId, box, timeoutMs) {
|
|
18
|
+
await (0, with_timeout_1.withTimeout)(page.evaluate((params) => {
|
|
19
|
+
const node = document.createElement('div');
|
|
15
20
|
node.id = params.nodeId;
|
|
16
21
|
node.style.pointerEvents = 'none';
|
|
17
22
|
node.style.position = 'absolute';
|
|
@@ -19,15 +24,23 @@ async function drawOverlay(page, nodeId, box) {
|
|
|
19
24
|
node.style.top = params.box.y + window.scrollY + 'px';
|
|
20
25
|
node.style.width = params.box.width + 'px';
|
|
21
26
|
node.style.height = params.box.height + 'px';
|
|
22
|
-
node.style.border = params.borderSize + 'px solid ' + params.
|
|
27
|
+
node.style.border = params.borderSize + 'px solid ' + params.borderColor;
|
|
28
|
+
node.style.backgroundColor = params.fillColor;
|
|
29
|
+
node.style.boxSizing = 'border-box';
|
|
23
30
|
node.style.zIndex = '2147483647';
|
|
24
31
|
document.body.appendChild(node);
|
|
25
|
-
}, {
|
|
32
|
+
}, {
|
|
33
|
+
nodeId,
|
|
34
|
+
box,
|
|
35
|
+
borderSize: DRAW_BORDER_SIZE,
|
|
36
|
+
borderColor: DRAW_BORDER_COLOR,
|
|
37
|
+
fillColor: DRAW_FILL_COLOR,
|
|
38
|
+
}), timeoutMs, 'drawOverlay');
|
|
26
39
|
}
|
|
27
|
-
async function removeOverlay(page, nodeId) {
|
|
28
|
-
await page.evaluate((id) => {
|
|
40
|
+
async function removeOverlay(page, nodeId, timeoutMs) {
|
|
41
|
+
await (0, with_timeout_1.withTimeout)(page.evaluate((id) => {
|
|
29
42
|
const el = document.getElementById(id);
|
|
30
43
|
if (el)
|
|
31
44
|
el.remove();
|
|
32
|
-
}, nodeId);
|
|
45
|
+
}, nodeId), timeoutMs, 'removeOverlay');
|
|
33
46
|
}
|
package/dist/infrastructure/playwright-locator-screenshot-adapter/screenshot-capture-session.d.ts
CHANGED
|
@@ -11,16 +11,27 @@ interface Box {
|
|
|
11
11
|
height: number;
|
|
12
12
|
}
|
|
13
13
|
interface CapturableTarget {
|
|
14
|
-
boundingBox?: (
|
|
14
|
+
boundingBox?: (options?: {
|
|
15
|
+
timeout?: number;
|
|
16
|
+
}) => Promise<Box | null>;
|
|
17
|
+
scrollIntoViewIfNeeded?: (options?: {
|
|
18
|
+
timeout?: number;
|
|
19
|
+
}) => Promise<void>;
|
|
15
20
|
}
|
|
16
21
|
export declare class ScreenshotCaptureSession {
|
|
17
22
|
private readonly outputDir;
|
|
18
23
|
private readonly onScreenshotWritten;
|
|
24
|
+
private readonly screenshotTimeoutMs;
|
|
19
25
|
private seq;
|
|
20
26
|
private readonly cdpSessionCache;
|
|
21
|
-
constructor(outputDir: string, onScreenshotWritten: (filename: string) => void);
|
|
22
|
-
captureWithHighlight(page: Page, target: CapturableTarget, actionName: string
|
|
27
|
+
constructor(outputDir: string, onScreenshotWritten: (filename: string) => void, screenshotTimeoutMs: number);
|
|
28
|
+
captureWithHighlight(page: Page, target: CapturableTarget, actionName: string, options: {
|
|
29
|
+
scrollBeforeCapture: boolean;
|
|
30
|
+
}): Promise<(() => Promise<void>) | null>;
|
|
31
|
+
private measureBox;
|
|
32
|
+
private drawAndScreenshot;
|
|
23
33
|
private takeScreenshot;
|
|
34
|
+
private cdpSend;
|
|
24
35
|
private getCDPSession;
|
|
25
36
|
}
|
|
26
37
|
export {};
|