@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,71 @@
|
|
|
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.wireAllPages = wireAllPages;
|
|
9
|
+
exports.wireInitialPage = wireInitialPage;
|
|
10
|
+
/** Returns a `restore()` thunk that undoes all patches. */
|
|
11
|
+
function wireAllPages(sessions, opts) {
|
|
12
|
+
const { browser, apiRequest } = opts;
|
|
13
|
+
// (1) Wire every existing BrowserContext.
|
|
14
|
+
for (const ctx of browser.contexts()) {
|
|
15
|
+
for (const session of sessions)
|
|
16
|
+
session.attachToContext(ctx);
|
|
17
|
+
}
|
|
18
|
+
// (2) Patch newly-created contexts. We hold references to the
|
|
19
|
+
// ORIGINAL methods (no `.bind`) so `restore()` returns the exact
|
|
20
|
+
// same function reference user code may have captured before
|
|
21
|
+
// wiring. Inside our wrapper we use `.call(browser, …)` to keep
|
|
22
|
+
// `this` correctly bound on invocation.
|
|
23
|
+
const originalNewContext = browser.newContext;
|
|
24
|
+
const originalNewPage = browser.newPage;
|
|
25
|
+
browser.newContext = async (...args) => {
|
|
26
|
+
const ctx = await originalNewContext.call(browser, ...args);
|
|
27
|
+
for (const session of sessions)
|
|
28
|
+
session.attachToContext(ctx);
|
|
29
|
+
return ctx;
|
|
30
|
+
};
|
|
31
|
+
browser.newPage = async (...args) => {
|
|
32
|
+
const page = await originalNewPage.call(browser, ...args);
|
|
33
|
+
const ctx = page.context();
|
|
34
|
+
for (const session of sessions)
|
|
35
|
+
session.attachToContext(ctx);
|
|
36
|
+
return page;
|
|
37
|
+
};
|
|
38
|
+
// (3) Patch the global APIRequest factory if we were handed one
|
|
39
|
+
// and any session implements `attachToApiRequestContext`.
|
|
40
|
+
let originalApiNewContext;
|
|
41
|
+
if (apiRequest && sessions.some((s) => s.attachToApiRequestContext)) {
|
|
42
|
+
originalApiNewContext = apiRequest.newContext;
|
|
43
|
+
apiRequest.newContext = async (...args) => {
|
|
44
|
+
const api = await originalApiNewContext.call(apiRequest, ...args);
|
|
45
|
+
for (const session of sessions) {
|
|
46
|
+
session.attachToApiRequestContext?.(api);
|
|
47
|
+
}
|
|
48
|
+
return api;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return function restore() {
|
|
52
|
+
// Always restore. If user code re-patched our wrapper in the
|
|
53
|
+
// meantime, theirs gets reverted too — they own the conflict.
|
|
54
|
+
browser.newContext = originalNewContext;
|
|
55
|
+
browser.newPage = originalNewPage;
|
|
56
|
+
if (apiRequest && originalApiNewContext) {
|
|
57
|
+
apiRequest.newContext = originalApiNewContext;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Wire a single page (and its context) eagerly. Used by the fixture
|
|
63
|
+
* for the test's initial `page` so the first request fired by the
|
|
64
|
+
* test body is captured even if it races with the `attachToContext`
|
|
65
|
+
* call for a sibling context.
|
|
66
|
+
*/
|
|
67
|
+
function wireInitialPage(sessions, page) {
|
|
68
|
+
const ctx = page.context();
|
|
69
|
+
for (const session of sessions)
|
|
70
|
+
session.attachToContext(ctx);
|
|
71
|
+
}
|
|
@@ -12,4 +12,9 @@ export declare const pushStep: (name: string) => void;
|
|
|
12
12
|
export declare const popStep: () => void;
|
|
13
13
|
export declare const setCurrentStatementScreenshot: (filename: string) => void;
|
|
14
14
|
export declare const setExporter: (newExporter: TraceEventConsumer) => void;
|
|
15
|
+
export declare const getCurrentStatementSeq: () => number | undefined;
|
|
16
|
+
export declare const getCurrentStepPath: () => string[] | undefined;
|
|
17
|
+
export declare const getStartedAt: () => number;
|
|
18
|
+
/** The recorder's monotonic clock — sidecar adapters use it to compute `t = now() - startedAt`. */
|
|
19
|
+
export declare const clock: import("../../domain/trace-event-recorder/service").Clock;
|
|
15
20
|
export { SCHEMA_VERSION };
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Please see the LICENSE file at the root of this repository
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.SCHEMA_VERSION = exports.setExporter = exports.setCurrentStatementScreenshot = exports.popStep = exports.pushStep = exports.setPage = exports.setContext = exports.reset = void 0;
|
|
8
|
+
exports.SCHEMA_VERSION = exports.clock = exports.getStartedAt = exports.getCurrentStepPath = exports.getCurrentStatementSeq = exports.setExporter = exports.setCurrentStatementScreenshot = exports.popStep = exports.pushStep = exports.setPage = exports.setContext = exports.reset = void 0;
|
|
9
9
|
// Composition root for the process-wide trace-event-recorder singleton.
|
|
10
10
|
//
|
|
11
11
|
// `domain/.../factory.ts` exports the `TraceEventRecorder` class —
|
|
@@ -66,3 +66,13 @@ exports.pushStep = traceEventRecorder.pushStep;
|
|
|
66
66
|
exports.popStep = traceEventRecorder.popStep;
|
|
67
67
|
exports.setCurrentStatementScreenshot = traceEventRecorder.setCurrentStatementScreenshot;
|
|
68
68
|
exports.setExporter = traceEventRecorder.setExporter;
|
|
69
|
+
// Read accessors for sidecar adapters (network, console). These
|
|
70
|
+
// expose just enough of the recorder's runtime state for the
|
|
71
|
+
// adapters to correlate an out-of-band Playwright event with the
|
|
72
|
+
// statement that triggered it, without giving them a reference to
|
|
73
|
+
// the recorder itself.
|
|
74
|
+
exports.getCurrentStatementSeq = traceEventRecorder.getCurrentStatementSeq;
|
|
75
|
+
exports.getCurrentStepPath = traceEventRecorder.getCurrentStepPath;
|
|
76
|
+
exports.getStartedAt = traceEventRecorder.getStartedAt;
|
|
77
|
+
/** The recorder's monotonic clock — sidecar adapters use it to compute `t = now() - startedAt`. */
|
|
78
|
+
exports.clock = traceEventRecorder.clock;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* Copyright: (c) Myia SAS 2026.
|
|
5
|
+
* This file and its contents are licensed under the AGPLv3 License.
|
|
6
|
+
* Please see the LICENSE file at the root of this repository
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
// Entry point wired in package.json `bin`. Kept minimal so the Commander
|
|
10
|
+
// adapter remains test-driven and import-only.
|
|
11
|
+
const commander_cli_adapter_1 = require("../application/commander-cli-adapter/commander-cli-adapter");
|
|
12
|
+
const adapter = new commander_cli_adapter_1.CommanderCliAdapter();
|
|
13
|
+
adapter.parse().catch((err) => {
|
|
14
|
+
console.error(err.message);
|
|
15
|
+
process.exit(1);
|
|
16
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
import type * as BabelTypes from '@babel/types';
|
|
7
|
+
import type { NodePath } from '@babel/traverse';
|
|
8
|
+
type Types = typeof BabelTypes;
|
|
9
|
+
export type AsyncEnclosingFunctionDetector = (nodePath: NodePath) => boolean;
|
|
10
|
+
export declare function createAsyncEnclosingFunctionDetector(_t: Types): AsyncEnclosingFunctionDetector;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
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.createAsyncEnclosingFunctionDetector = createAsyncEnclosingFunctionDetector;
|
|
9
|
+
function createAsyncEnclosingFunctionDetector(_t) {
|
|
10
|
+
return function isAsyncEnclosing(nodePath) {
|
|
11
|
+
let p = nodePath.parentPath;
|
|
12
|
+
while (p) {
|
|
13
|
+
if (p.isFunction()) {
|
|
14
|
+
const fn = p.node;
|
|
15
|
+
return fn.async === true;
|
|
16
|
+
}
|
|
17
|
+
p = p.parentPath;
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
import type * as BabelTypes from '@babel/types';
|
|
7
|
+
type Types = typeof BabelTypes;
|
|
8
|
+
export type PreprocessCallBuilder = (globalName: string, meta: BabelTypes.Expression) => BabelTypes.ExpressionStatement;
|
|
9
|
+
export declare function createPreprocessCallBuilder(t: Types): PreprocessCallBuilder;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
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.createPreprocessCallBuilder = createPreprocessCallBuilder;
|
|
9
|
+
function createPreprocessCallBuilder(t) {
|
|
10
|
+
return function buildPreprocessCall(globalName, meta) {
|
|
11
|
+
const callee = t.memberExpression(t.identifier('globalThis'), t.identifier(globalName));
|
|
12
|
+
const call = t.optionalCallExpression(callee, [meta], /* optional */ true);
|
|
13
|
+
const stmt = t.expressionStatement(t.awaitExpression(call));
|
|
14
|
+
stmt._traced = true;
|
|
15
|
+
return stmt;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
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
|
+
import type { StatementError } from '../trace-event-recorder/model/statement-trace-schema';
|
|
7
|
+
import type { TestStatus } from './test-status';
|
|
8
|
+
/** Record kind — discriminator for executions.ndjson lines. */
|
|
9
|
+
export declare const EXECUTION_RECORD_KIND: "execution";
|
|
10
|
+
/**
|
|
11
|
+
* One line in `executions.ndjson`. Compact per-run summary; full
|
|
12
|
+
* per-test detail lives in `execution.json` next to its tests.
|
|
13
|
+
*/
|
|
14
|
+
export interface ExecutionRecord {
|
|
15
|
+
kind: typeof EXECUTION_RECORD_KIND;
|
|
16
|
+
executionId: string;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the executionId came from `HEAL_EXECUTION_ID` (multi-shard
|
|
19
|
+
* CI shares one id) or was generated locally per-process. Readers
|
|
20
|
+
* use this to decide whether two records with the same id can
|
|
21
|
+
* legitimately exist (yes when source='env').
|
|
22
|
+
*/
|
|
23
|
+
source: 'env' | 'generated';
|
|
24
|
+
startedAt: number;
|
|
25
|
+
endedAt: number;
|
|
26
|
+
durationMs: number;
|
|
27
|
+
git?: {
|
|
28
|
+
sha?: string;
|
|
29
|
+
branch?: string;
|
|
30
|
+
dirty?: boolean;
|
|
31
|
+
};
|
|
32
|
+
playwrightVersion?: string;
|
|
33
|
+
totals: ExecutionTotals;
|
|
34
|
+
}
|
|
35
|
+
export interface ExecutionTotals {
|
|
36
|
+
tests: number;
|
|
37
|
+
passed: number;
|
|
38
|
+
failed: number;
|
|
39
|
+
timedOut: number;
|
|
40
|
+
skipped: number;
|
|
41
|
+
interrupted: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Per-execution manifest written to
|
|
45
|
+
* `<heal-traces>/<executionId>/execution.json`. Lets the viewer
|
|
46
|
+
* build an execution-level page without parsing every NDJSON.
|
|
47
|
+
*/
|
|
48
|
+
export interface ExecutionManifest {
|
|
49
|
+
executionId: string;
|
|
50
|
+
source: 'env' | 'generated';
|
|
51
|
+
startedAt: number;
|
|
52
|
+
endedAt: number;
|
|
53
|
+
durationMs: number;
|
|
54
|
+
git?: {
|
|
55
|
+
sha?: string;
|
|
56
|
+
branch?: string;
|
|
57
|
+
dirty?: boolean;
|
|
58
|
+
};
|
|
59
|
+
playwrightVersion?: string;
|
|
60
|
+
totals: ExecutionTotals;
|
|
61
|
+
tests: ExecutionTestEntry[];
|
|
62
|
+
}
|
|
63
|
+
export interface ExecutionTestEntry {
|
|
64
|
+
playwrightTestId: string;
|
|
65
|
+
title: string;
|
|
66
|
+
titlePath: string[];
|
|
67
|
+
file: string;
|
|
68
|
+
project: string;
|
|
69
|
+
/**
|
|
70
|
+
* One entry per Playwright retry, ordered by `attempt` ascending.
|
|
71
|
+
* Always non-empty — a test that never ran has no entry at all.
|
|
72
|
+
*/
|
|
73
|
+
attempts: AttemptEntry[];
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Per-(test, attempt) execution slice. `failingStatement` and
|
|
77
|
+
* `error` are only set when the attempt did not pass:
|
|
78
|
+
*
|
|
79
|
+
* - Both present: the in-test failure was located to a specific
|
|
80
|
+
* `statement` whose `status === 'threw'`.
|
|
81
|
+
* - Only `error` present: the worker crashed before any statement
|
|
82
|
+
* threw (rescued path — error is synthesized by the reporter).
|
|
83
|
+
* - Neither present: the attempt passed, was skipped, or no
|
|
84
|
+
* statement-level error was found on disk.
|
|
85
|
+
*/
|
|
86
|
+
export interface AttemptEntry {
|
|
87
|
+
/** 1-indexed attempt number = Playwright's `result.retry + 1`. */
|
|
88
|
+
attempt: number;
|
|
89
|
+
status: TestStatus;
|
|
90
|
+
startedAt: number;
|
|
91
|
+
durationMs: number;
|
|
92
|
+
failingStatement?: FailingStatement;
|
|
93
|
+
error?: StatementError;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Minimal locator for the statement that threw. Mirrors a subset of
|
|
97
|
+
* `Statement` (statement-trace-schema) — just enough for the viewer
|
|
98
|
+
* to deep-link and render a one-line preview without re-reading
|
|
99
|
+
* `heal-traces.ndjson`.
|
|
100
|
+
*/
|
|
101
|
+
export interface FailingStatement {
|
|
102
|
+
/** Contiguous per-test execution-order index from `Statement.index`. */
|
|
103
|
+
index: number;
|
|
104
|
+
file: string;
|
|
105
|
+
line: number;
|
|
106
|
+
endLine: number;
|
|
107
|
+
/** Truncated source snippet (already shortened by the tracer). */
|
|
108
|
+
source: string;
|
|
109
|
+
scope: string;
|
|
110
|
+
step: string | null;
|
|
111
|
+
stepPath: string[] | null;
|
|
112
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
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.EXECUTION_RECORD_KIND = void 0;
|
|
9
|
+
/** Record kind — discriminator for executions.ndjson lines. */
|
|
10
|
+
exports.EXECUTION_RECORD_KIND = 'execution';
|
|
@@ -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 { EXECUTION_RECORD_KIND, type ExecutionRecord, type ExecutionTotals, type ExecutionManifest, type ExecutionTestEntry, type AttemptEntry, type FailingStatement, } from './execution-history-schema';
|
|
7
|
+
export type { TestStatus } from './test-status';
|
|
@@ -0,0 +1,10 @@
|
|
|
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.EXECUTION_RECORD_KIND = void 0;
|
|
9
|
+
var execution_history_schema_1 = require("./execution-history-schema");
|
|
10
|
+
Object.defineProperty(exports, "EXECUTION_RECORD_KIND", { enumerable: true, get: function () { return execution_history_schema_1.EXECUTION_RECORD_KIND; } });
|
|
@@ -0,0 +1,6 @@
|
|
|
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 type TestStatus = 'passed' | 'failed' | 'timedOut' | 'skipped' | 'interrupted' | 'unknown';
|
|
@@ -0,0 +1,36 @@
|
|
|
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 type ConsoleLevel = 'log' | 'info' | 'warn' | 'error' | 'debug' | 'trace' | 'pageerror';
|
|
7
|
+
export interface ConsoleLocation {
|
|
8
|
+
url?: string;
|
|
9
|
+
line?: number;
|
|
10
|
+
col?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ConsoleRecord {
|
|
13
|
+
kind: 'console';
|
|
14
|
+
/** Milliseconds since the recorder's `startedAt` for this test. */
|
|
15
|
+
t: number;
|
|
16
|
+
/** Top-of-enter-stack `seq` at emit time, or absent if the event fired outside any instrumented statement. */
|
|
17
|
+
statementSeq?: number;
|
|
18
|
+
/** Full chain of enclosing `test.step(...)` titles, snapshot at emit time. */
|
|
19
|
+
stepPath?: string[];
|
|
20
|
+
level: ConsoleLevel;
|
|
21
|
+
/** `ConsoleMessage.text()` for `console.*`, `Error.message` for `pageerror`. */
|
|
22
|
+
text: string;
|
|
23
|
+
/**
|
|
24
|
+
* Best-effort `ConsoleMessage.args().jsonValue()` for `console.*`
|
|
25
|
+
* (each handle resolved with a small per-arg timeout, then capped
|
|
26
|
+
* by the configured `maxArgBytes` / `maxArgsPerEvent`). Absent for
|
|
27
|
+
* `pageerror` and when arg resolution timed out.
|
|
28
|
+
*/
|
|
29
|
+
args?: unknown[];
|
|
30
|
+
/** Stack from `Error` objects passed to `pageerror`. Absent for `console.*`. */
|
|
31
|
+
stack?: string;
|
|
32
|
+
/** Source location reported by `ConsoleMessage.location()`. */
|
|
33
|
+
location?: ConsoleLocation;
|
|
34
|
+
pageUrl?: string;
|
|
35
|
+
frameUrl?: string;
|
|
36
|
+
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Please see the LICENSE file at the root of this repository
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.HEAL_THROW = exports.HEAL_OK = exports.HEAL_ENTER = void 0;
|
|
8
|
+
exports.HEAL_PREPROCESS = exports.HEAL_THROW = exports.HEAL_OK = exports.HEAL_ENTER = void 0;
|
|
9
9
|
// Names of the global functions the Babel plugin injects into
|
|
10
10
|
// instrumented source and the recorder entrypoint installs on
|
|
11
11
|
// `globalThis`. Both sides import from here so the contract lives in
|
|
@@ -18,3 +18,11 @@ exports.HEAL_THROW = exports.HEAL_OK = exports.HEAL_ENTER = void 0;
|
|
|
18
18
|
exports.HEAL_ENTER = '__heal_enter';
|
|
19
19
|
exports.HEAL_OK = '__heal_ok';
|
|
20
20
|
exports.HEAL_THROW = '__heal_throw';
|
|
21
|
+
// User-extensible per-statement async hook. The Babel plugin emits
|
|
22
|
+
// `await globalThis.__heal_preprocess?.(meta)` inside the try body
|
|
23
|
+
// before the user's statement when the enclosing function is async.
|
|
24
|
+
// The fixture installs the global at test start by composing every
|
|
25
|
+
// `preProcessor` registered through `configureTracer({...})`. Stays
|
|
26
|
+
// `undefined` when no preprocessors are configured, so the optional
|
|
27
|
+
// call short-circuits to a no-op.
|
|
28
|
+
exports.HEAL_PREPROCESS = '__heal_preprocess';
|
|
@@ -0,0 +1,105 @@
|
|
|
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 interface NetworkTiming {
|
|
7
|
+
/** Ms since `request.timing().startTime`, mirroring Playwright's `RequestTiming` shape. */
|
|
8
|
+
startTime?: number;
|
|
9
|
+
domainLookupStart?: number;
|
|
10
|
+
domainLookupEnd?: number;
|
|
11
|
+
connectStart?: number;
|
|
12
|
+
secureConnectionStart?: number;
|
|
13
|
+
connectEnd?: number;
|
|
14
|
+
requestStart?: number;
|
|
15
|
+
responseStart?: number;
|
|
16
|
+
responseEnd?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface NetworkSecurityDetails {
|
|
19
|
+
protocol?: string;
|
|
20
|
+
subjectName?: string;
|
|
21
|
+
issuer?: string;
|
|
22
|
+
/** Unix timestamp in seconds. */
|
|
23
|
+
validFrom?: number;
|
|
24
|
+
validTo?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface NetworkServerAddr {
|
|
27
|
+
ipAddress?: string;
|
|
28
|
+
port?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface NetworkBodyPreview {
|
|
31
|
+
/** Total body size when known (from Content-Length or buffer length). */
|
|
32
|
+
bytes?: number;
|
|
33
|
+
/** True when `preview` is shorter than `bytes` because the cap was hit. */
|
|
34
|
+
truncated: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* UTF-8 preview of the body. Present only for textual content
|
|
37
|
+
* types (`text/*`, `application/json`, `application/xml`,
|
|
38
|
+
* `application/x-www-form-urlencoded`, …) AND when reading
|
|
39
|
+
* succeeded within the timeout. Trimmed at a safe UTF-8 boundary
|
|
40
|
+
* to avoid mid-codepoint cuts.
|
|
41
|
+
*/
|
|
42
|
+
preview?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface NetworkFailure {
|
|
45
|
+
errorText: string;
|
|
46
|
+
}
|
|
47
|
+
export type NetworkSource = 'browser-context' | 'api-request-context';
|
|
48
|
+
export interface NetworkRecord {
|
|
49
|
+
kind: 'network';
|
|
50
|
+
/** Ms since the recorder's `startedAt`, sampled when the request was issued. */
|
|
51
|
+
t: number;
|
|
52
|
+
statementSeq?: number;
|
|
53
|
+
stepPath?: string[];
|
|
54
|
+
/**
|
|
55
|
+
* Per-test stable id for this exchange. Synthesized by the adapter
|
|
56
|
+
* (Playwright does not expose a request id), shared with any
|
|
57
|
+
* follow-up `network-body` record so the two can be joined.
|
|
58
|
+
*/
|
|
59
|
+
requestId: string;
|
|
60
|
+
/** Where the exchange came from. `'api-request-context'` is the runner-side `playwright.request` traffic. */
|
|
61
|
+
source: NetworkSource;
|
|
62
|
+
method: string;
|
|
63
|
+
url: string;
|
|
64
|
+
/**
|
|
65
|
+
* Playwright `Request.resourceType()` for browser-context traffic
|
|
66
|
+
* (`'document'|'fetch'|'xhr'|'image'|...`). Absent for
|
|
67
|
+
* api-request-context traffic, which has no equivalent.
|
|
68
|
+
*/
|
|
69
|
+
resourceType?: string;
|
|
70
|
+
isNavigationRequest?: boolean;
|
|
71
|
+
/** Set when this request was reached via one or more redirects. */
|
|
72
|
+
redirectedFromId?: string;
|
|
73
|
+
status?: number;
|
|
74
|
+
statusText?: string;
|
|
75
|
+
fromServiceWorker?: boolean;
|
|
76
|
+
requestHeaders: Record<string, string>;
|
|
77
|
+
responseHeaders?: Record<string, string>;
|
|
78
|
+
requestBody?: NetworkBodyPreview;
|
|
79
|
+
responseBody?: NetworkBodyPreview;
|
|
80
|
+
timing?: NetworkTiming;
|
|
81
|
+
serverAddr?: NetworkServerAddr;
|
|
82
|
+
securityDetails?: NetworkSecurityDetails;
|
|
83
|
+
failure?: NetworkFailure;
|
|
84
|
+
pageUrl?: string;
|
|
85
|
+
frameUrl?: string;
|
|
86
|
+
/** Total ms between request issue and response end / failure. */
|
|
87
|
+
duration?: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Optional record appended AFTER the matching `NetworkRecord` (and
|
|
91
|
+
* after `test-result` in the main file's mental timeline) when the
|
|
92
|
+
* configured body capture mode is `'on-error'` and the test failed.
|
|
93
|
+
*
|
|
94
|
+
* Carrying the body on a separate line keeps the live network stream
|
|
95
|
+
* line-by-line during the test — bodies are buffered in memory and
|
|
96
|
+
* flushed only when we decide to keep them.
|
|
97
|
+
*
|
|
98
|
+
* Joined to its parent `NetworkRecord` via `requestId`.
|
|
99
|
+
*/
|
|
100
|
+
export interface NetworkBodyRecord {
|
|
101
|
+
kind: 'network-body';
|
|
102
|
+
requestId: string;
|
|
103
|
+
requestBody?: NetworkBodyPreview;
|
|
104
|
+
responseBody?: NetworkBodyPreview;
|
|
105
|
+
}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* This file and its contents are licensed under the AGPLv3 License.
|
|
4
4
|
* Please see the LICENSE file at the root of this repository
|
|
5
5
|
*/
|
|
6
|
-
export declare const HEAL_TRACE_SCHEMA_VERSION =
|
|
6
|
+
export declare const HEAL_TRACE_SCHEMA_VERSION = 2;
|
|
7
7
|
/**
|
|
8
8
|
* One line of a `heal-traces.ndjson` file. Discriminated by `kind`.
|
|
9
9
|
*/
|
|
10
|
-
export type HealTraceRecord = TestHeaderRecord | StatementRecord | TestResultRecord;
|
|
10
|
+
export type HealTraceRecord = TestHeaderRecord | StatementRecord | TestResultRecord | TestAttachmentsRecord;
|
|
11
11
|
export interface TestHeaderRecord {
|
|
12
12
|
kind: 'test-header';
|
|
13
13
|
schemaVersion: typeof HEAL_TRACE_SCHEMA_VERSION;
|
|
@@ -62,6 +62,15 @@ export interface TestContext {
|
|
|
62
62
|
* line numbers required.
|
|
63
63
|
*/
|
|
64
64
|
testCaseId?: number;
|
|
65
|
+
/**
|
|
66
|
+
* Per-process execution id. Sourced from `HEAL_EXECUTION_ID` when
|
|
67
|
+
* set (so multi-shard CI shares one id), else a per-process
|
|
68
|
+
* `randomUUID()`. Used to scope on-disk artefacts under
|
|
69
|
+
* `<rootDir>/heal-traces/<executionId>/...` and to group
|
|
70
|
+
* historical runs in the local viewer. Optional for backwards
|
|
71
|
+
* compatibility with traces produced before this field existed.
|
|
72
|
+
*/
|
|
73
|
+
executionId?: string;
|
|
65
74
|
}
|
|
66
75
|
export interface TestEnv {
|
|
67
76
|
nodeVersion?: string;
|
|
@@ -85,6 +94,17 @@ export interface StatementRecord {
|
|
|
85
94
|
export interface Statement {
|
|
86
95
|
/** Execution-order sequence number, identical to the raw enter event's seq. */
|
|
87
96
|
seq: number;
|
|
97
|
+
/**
|
|
98
|
+
* 0-based, contiguous, per-test execution-order index. Increments
|
|
99
|
+
* by 1 every time a new statement is entered (roots and nested
|
|
100
|
+
* children alike), so the first statement to run in a test has
|
|
101
|
+
* `index: 0`, the second `index: 1`, and so on. Unlike `seq`,
|
|
102
|
+
* which is bumped by every raw event (enter/ok/throw/meta) and
|
|
103
|
+
* therefore has gaps, `index` lets consumers reason about "the
|
|
104
|
+
* Nth statement that ran" without tracking event-stream
|
|
105
|
+
* arithmetic.
|
|
106
|
+
*/
|
|
107
|
+
index: number;
|
|
88
108
|
file: string;
|
|
89
109
|
line: number;
|
|
90
110
|
endLine: number;
|
|
@@ -145,6 +165,52 @@ export interface TestResultRecord {
|
|
|
145
165
|
duration: number;
|
|
146
166
|
stdout?: string[];
|
|
147
167
|
stderr?: string[];
|
|
168
|
+
/**
|
|
169
|
+
* Present only when this record was synthesized by the optional
|
|
170
|
+
* `heal-reporter` after a worker crash (OOM, SIGKILL, segfault,
|
|
171
|
+
* `process.exit()`). Carries the classified crash cause. The
|
|
172
|
+
* fixture-written `test-result` never sets this — so presence of
|
|
173
|
+
* the field is itself the signal that the test did not reach
|
|
174
|
+
* normal teardown.
|
|
175
|
+
*/
|
|
176
|
+
error?: StatementError;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Optional record appended AFTER `test-result` by the
|
|
180
|
+
* `HealTracerReporter` (Playwright Reporter API). Carries the list
|
|
181
|
+
* of files Playwright produced for the test — `trace.zip`, video,
|
|
182
|
+
* Playwright-taken failure screenshots, and any user attachments
|
|
183
|
+
* pushed via `testInfo.attach()`.
|
|
184
|
+
*
|
|
185
|
+
* Written from the reporter (not the fixture) because Playwright
|
|
186
|
+
* populates `testInfo.attachments` AFTER our `_traceAuto` fixture's
|
|
187
|
+
* teardown — the reporter's `onTestEnd` is the first hook where
|
|
188
|
+
* `result.attachments` is final.
|
|
189
|
+
*
|
|
190
|
+
* Absent when the reporter is not registered. Absence is not an
|
|
191
|
+
* error — the trace is still complete; downstream tools should
|
|
192
|
+
* treat the attachment list as empty.
|
|
193
|
+
*/
|
|
194
|
+
export interface TestAttachmentsRecord {
|
|
195
|
+
kind: 'test-attachments';
|
|
196
|
+
attachments: TestAttachment[];
|
|
197
|
+
}
|
|
198
|
+
export interface TestAttachment {
|
|
199
|
+
/**
|
|
200
|
+
* Playwright's attachment name. Common values: `'trace'` (for
|
|
201
|
+
* trace.zip), `'video'`, `'screenshot'`. User attachments use the
|
|
202
|
+
* label passed to `testInfo.attach(name, …)`.
|
|
203
|
+
*/
|
|
204
|
+
name: string;
|
|
205
|
+
/**
|
|
206
|
+
* Path to the attachment file, RELATIVE to the test's outputDir
|
|
207
|
+
* (the parent of `heal-data/`). Forward slashes on every platform.
|
|
208
|
+
* Attachments outside the outputDir (rare; users could attach an
|
|
209
|
+
* arbitrary path via `testInfo.attach({ path })`) are dropped.
|
|
210
|
+
*/
|
|
211
|
+
path: string;
|
|
212
|
+
/** MIME type (e.g. `'application/zip'`, `'image/png'`, `'video/webm'`). */
|
|
213
|
+
contentType: string;
|
|
148
214
|
}
|
|
149
215
|
/**
|
|
150
216
|
* Normalized error attached to a statement whose status is `threw`.
|
|
@@ -30,4 +30,4 @@ exports.HEAL_TRACE_SCHEMA_VERSION = void 0;
|
|
|
30
30
|
// raw recorder event stream (enter/ok/throw/meta). Consumers (the
|
|
31
31
|
// Heal autopilot agent, humans debugging a failing test) should
|
|
32
32
|
// import these types to stay in sync with the file format.
|
|
33
|
-
exports.HEAL_TRACE_SCHEMA_VERSION =
|
|
33
|
+
exports.HEAL_TRACE_SCHEMA_VERSION = 2;
|