agent-web-interface 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +226 -0
- package/dist/src/browser/ensure-browser.d.ts +39 -0
- package/dist/src/browser/ensure-browser.d.ts.map +1 -0
- package/dist/src/browser/ensure-browser.js +65 -0
- package/dist/src/browser/ensure-browser.js.map +1 -0
- package/dist/src/browser/index.d.ts +8 -0
- package/dist/src/browser/index.d.ts.map +1 -0
- package/dist/src/browser/index.js +8 -0
- package/dist/src/browser/index.js.map +1 -0
- package/dist/src/browser/page-network-tracker.d.ts +96 -0
- package/dist/src/browser/page-network-tracker.d.ts.map +1 -0
- package/dist/src/browser/page-network-tracker.js +235 -0
- package/dist/src/browser/page-network-tracker.js.map +1 -0
- package/dist/src/browser/page-registry.d.ts +137 -0
- package/dist/src/browser/page-registry.d.ts.map +1 -0
- package/dist/src/browser/page-registry.js +194 -0
- package/dist/src/browser/page-registry.js.map +1 -0
- package/dist/src/browser/page-stabilization.d.ts +35 -0
- package/dist/src/browser/page-stabilization.d.ts.map +1 -0
- package/dist/src/browser/page-stabilization.js +42 -0
- package/dist/src/browser/page-stabilization.js.map +1 -0
- package/dist/src/browser/session-manager.d.ts +336 -0
- package/dist/src/browser/session-manager.d.ts.map +1 -0
- package/dist/src/browser/session-manager.js +964 -0
- package/dist/src/browser/session-manager.js.map +1 -0
- package/dist/src/cdp/cdp-client.interface.d.ts +193 -0
- package/dist/src/cdp/cdp-client.interface.d.ts.map +1 -0
- package/dist/src/cdp/cdp-client.interface.js +9 -0
- package/dist/src/cdp/cdp-client.interface.js.map +1 -0
- package/dist/src/cdp/index.d.ts +9 -0
- package/dist/src/cdp/index.d.ts.map +1 -0
- package/dist/src/cdp/index.js +8 -0
- package/dist/src/cdp/index.js.map +1 -0
- package/dist/src/cdp/puppeteer-cdp-client.d.ts +97 -0
- package/dist/src/cdp/puppeteer-cdp-client.d.ts.map +1 -0
- package/dist/src/cdp/puppeteer-cdp-client.js +273 -0
- package/dist/src/cdp/puppeteer-cdp-client.js.map +1 -0
- package/dist/src/cli/args.d.ts +35 -0
- package/dist/src/cli/args.d.ts.map +1 -0
- package/dist/src/cli/args.js +76 -0
- package/dist/src/cli/args.js.map +1 -0
- package/dist/src/delta/dom-stabilizer.d.ts +46 -0
- package/dist/src/delta/dom-stabilizer.d.ts.map +1 -0
- package/dist/src/delta/dom-stabilizer.js +121 -0
- package/dist/src/delta/dom-stabilizer.js.map +1 -0
- package/dist/src/delta/index.d.ts +8 -0
- package/dist/src/delta/index.d.ts.map +1 -0
- package/dist/src/delta/index.js +7 -0
- package/dist/src/delta/index.js.map +1 -0
- package/dist/src/factpack/action-selector.d.ts +36 -0
- package/dist/src/factpack/action-selector.d.ts.map +1 -0
- package/dist/src/factpack/action-selector.js +367 -0
- package/dist/src/factpack/action-selector.js.map +1 -0
- package/dist/src/factpack/dialog-detector.d.ts +19 -0
- package/dist/src/factpack/dialog-detector.d.ts.map +1 -0
- package/dist/src/factpack/dialog-detector.js +354 -0
- package/dist/src/factpack/dialog-detector.js.map +1 -0
- package/dist/src/factpack/form-detector.d.ts +28 -0
- package/dist/src/factpack/form-detector.d.ts.map +1 -0
- package/dist/src/factpack/form-detector.js +555 -0
- package/dist/src/factpack/form-detector.js.map +1 -0
- package/dist/src/factpack/index.d.ts +32 -0
- package/dist/src/factpack/index.d.ts.map +1 -0
- package/dist/src/factpack/index.js +73 -0
- package/dist/src/factpack/index.js.map +1 -0
- package/dist/src/factpack/page-classifier.d.ts +22 -0
- package/dist/src/factpack/page-classifier.d.ts.map +1 -0
- package/dist/src/factpack/page-classifier.js +526 -0
- package/dist/src/factpack/page-classifier.js.map +1 -0
- package/dist/src/factpack/types.d.ts +307 -0
- package/dist/src/factpack/types.d.ts.map +1 -0
- package/dist/src/factpack/types.js +12 -0
- package/dist/src/factpack/types.js.map +1 -0
- package/dist/src/form/dependency-tracker.d.ts +108 -0
- package/dist/src/form/dependency-tracker.d.ts.map +1 -0
- package/dist/src/form/dependency-tracker.js +298 -0
- package/dist/src/form/dependency-tracker.js.map +1 -0
- package/dist/src/form/field-extractor.d.ts +32 -0
- package/dist/src/form/field-extractor.d.ts.map +1 -0
- package/dist/src/form/field-extractor.js +544 -0
- package/dist/src/form/field-extractor.js.map +1 -0
- package/dist/src/form/form-detector.d.ts +103 -0
- package/dist/src/form/form-detector.d.ts.map +1 -0
- package/dist/src/form/form-detector.js +704 -0
- package/dist/src/form/form-detector.js.map +1 -0
- package/dist/src/form/form-state.d.ts +23 -0
- package/dist/src/form/form-state.d.ts.map +1 -0
- package/dist/src/form/form-state.js +39 -0
- package/dist/src/form/form-state.js.map +1 -0
- package/dist/src/form/index.d.ts +23 -0
- package/dist/src/form/index.d.ts.map +1 -0
- package/dist/src/form/index.js +27 -0
- package/dist/src/form/index.js.map +1 -0
- package/dist/src/form/runtime-value-reader.d.ts +72 -0
- package/dist/src/form/runtime-value-reader.d.ts.map +1 -0
- package/dist/src/form/runtime-value-reader.js +232 -0
- package/dist/src/form/runtime-value-reader.js.map +1 -0
- package/dist/src/form/types.d.ts +384 -0
- package/dist/src/form/types.d.ts.map +1 -0
- package/dist/src/form/types.js +17 -0
- package/dist/src/form/types.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +212 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/lib/constants.d.ts +27 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +63 -0
- package/dist/src/lib/constants.js.map +1 -0
- package/dist/src/lib/index.d.ts +12 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +17 -0
- package/dist/src/lib/index.js.map +1 -0
- package/dist/src/lib/regions.d.ts +29 -0
- package/dist/src/lib/regions.d.ts.map +1 -0
- package/dist/src/lib/regions.js +93 -0
- package/dist/src/lib/regions.js.map +1 -0
- package/dist/src/lib/scoring.d.ts +47 -0
- package/dist/src/lib/scoring.d.ts.map +1 -0
- package/dist/src/lib/scoring.js +79 -0
- package/dist/src/lib/scoring.js.map +1 -0
- package/dist/src/lib/selectors.d.ts +42 -0
- package/dist/src/lib/selectors.d.ts.map +1 -0
- package/dist/src/lib/selectors.js +138 -0
- package/dist/src/lib/selectors.js.map +1 -0
- package/dist/src/lib/text-utils.d.ts +155 -0
- package/dist/src/lib/text-utils.d.ts.map +1 -0
- package/dist/src/lib/text-utils.js +391 -0
- package/dist/src/lib/text-utils.js.map +1 -0
- package/dist/src/observation/eid-linker.d.ts +104 -0
- package/dist/src/observation/eid-linker.d.ts.map +1 -0
- package/dist/src/observation/eid-linker.js +403 -0
- package/dist/src/observation/eid-linker.js.map +1 -0
- package/dist/src/observation/index.d.ts +12 -0
- package/dist/src/observation/index.d.ts.map +1 -0
- package/dist/src/observation/index.js +15 -0
- package/dist/src/observation/index.js.map +1 -0
- package/dist/src/observation/observation-accumulator.d.ts +58 -0
- package/dist/src/observation/observation-accumulator.d.ts.map +1 -0
- package/dist/src/observation/observation-accumulator.js +213 -0
- package/dist/src/observation/observation-accumulator.js.map +1 -0
- package/dist/src/observation/observation.types.d.ts +139 -0
- package/dist/src/observation/observation.types.d.ts.map +1 -0
- package/dist/src/observation/observation.types.js +59 -0
- package/dist/src/observation/observation.types.js.map +1 -0
- package/dist/src/observation/observer-script.d.ts +19 -0
- package/dist/src/observation/observer-script.d.ts.map +1 -0
- package/dist/src/observation/observer-script.js +569 -0
- package/dist/src/observation/observer-script.js.map +1 -0
- package/dist/src/query/index.d.ts +9 -0
- package/dist/src/query/index.d.ts.map +1 -0
- package/dist/src/query/index.js +10 -0
- package/dist/src/query/index.js.map +1 -0
- package/dist/src/query/query-engine.d.ts +111 -0
- package/dist/src/query/query-engine.d.ts.map +1 -0
- package/dist/src/query/query-engine.js +509 -0
- package/dist/src/query/query-engine.js.map +1 -0
- package/dist/src/query/types/index.d.ts +5 -0
- package/dist/src/query/types/index.d.ts.map +1 -0
- package/dist/src/query/types/index.js +5 -0
- package/dist/src/query/types/index.js.map +1 -0
- package/dist/src/query/types/query.types.d.ts +141 -0
- package/dist/src/query/types/query.types.d.ts.map +1 -0
- package/dist/src/query/types/query.types.js +19 -0
- package/dist/src/query/types/query.types.js.map +1 -0
- package/dist/src/renderer/budget-manager.d.ts +46 -0
- package/dist/src/renderer/budget-manager.d.ts.map +1 -0
- package/dist/src/renderer/budget-manager.js +133 -0
- package/dist/src/renderer/budget-manager.js.map +1 -0
- package/dist/src/renderer/constants.d.ts +38 -0
- package/dist/src/renderer/constants.d.ts.map +1 -0
- package/dist/src/renderer/constants.js +29 -0
- package/dist/src/renderer/constants.js.map +1 -0
- package/dist/src/renderer/index.d.ts +12 -0
- package/dist/src/renderer/index.d.ts.map +1 -0
- package/dist/src/renderer/index.js +16 -0
- package/dist/src/renderer/index.js.map +1 -0
- package/dist/src/renderer/section-renderers.d.ts +42 -0
- package/dist/src/renderer/section-renderers.d.ts.map +1 -0
- package/dist/src/renderer/section-renderers.js +252 -0
- package/dist/src/renderer/section-renderers.js.map +1 -0
- package/dist/src/renderer/token-counter.d.ts +45 -0
- package/dist/src/renderer/token-counter.d.ts.map +1 -0
- package/dist/src/renderer/token-counter.js +65 -0
- package/dist/src/renderer/token-counter.js.map +1 -0
- package/dist/src/renderer/types.d.ts +71 -0
- package/dist/src/renderer/types.d.ts.map +1 -0
- package/dist/src/renderer/types.js +7 -0
- package/dist/src/renderer/types.js.map +1 -0
- package/dist/src/renderer/xml-renderer.d.ts +42 -0
- package/dist/src/renderer/xml-renderer.d.ts.map +1 -0
- package/dist/src/renderer/xml-renderer.js +103 -0
- package/dist/src/renderer/xml-renderer.js.map +1 -0
- package/dist/src/server/index.d.ts +8 -0
- package/dist/src/server/index.d.ts.map +1 -0
- package/dist/src/server/index.js +8 -0
- package/dist/src/server/index.js.map +1 -0
- package/dist/src/server/mcp-server.d.ts +59 -0
- package/dist/src/server/mcp-server.d.ts.map +1 -0
- package/dist/src/server/mcp-server.js +140 -0
- package/dist/src/server/mcp-server.js.map +1 -0
- package/dist/src/server/server-config.d.ts +41 -0
- package/dist/src/server/server-config.d.ts.map +1 -0
- package/dist/src/server/server-config.js +80 -0
- package/dist/src/server/server-config.js.map +1 -0
- package/dist/src/server/session-store.d.ts +148 -0
- package/dist/src/server/session-store.d.ts.map +1 -0
- package/dist/src/server/session-store.js +224 -0
- package/dist/src/server/session-store.js.map +1 -0
- package/dist/src/shared/errors/browser-session.error.d.ts +102 -0
- package/dist/src/shared/errors/browser-session.error.d.ts.map +1 -0
- package/dist/src/shared/errors/browser-session.error.js +153 -0
- package/dist/src/shared/errors/browser-session.error.js.map +1 -0
- package/dist/src/shared/errors/index.d.ts +5 -0
- package/dist/src/shared/errors/index.d.ts.map +1 -0
- package/dist/src/shared/errors/index.js +5 -0
- package/dist/src/shared/errors/index.js.map +1 -0
- package/dist/src/shared/services/dom-transformer.service.d.ts +71 -0
- package/dist/src/shared/services/dom-transformer.service.d.ts.map +1 -0
- package/dist/src/shared/services/dom-transformer.service.js +190 -0
- package/dist/src/shared/services/dom-transformer.service.js.map +1 -0
- package/dist/src/shared/services/index.d.ts +7 -0
- package/dist/src/shared/services/index.d.ts.map +1 -0
- package/dist/src/shared/services/index.js +7 -0
- package/dist/src/shared/services/index.js.map +1 -0
- package/dist/src/shared/services/logging.service.d.ts +154 -0
- package/dist/src/shared/services/logging.service.d.ts.map +1 -0
- package/dist/src/shared/services/logging.service.js +267 -0
- package/dist/src/shared/services/logging.service.js.map +1 -0
- package/dist/src/shared/services/selector-builder.service.d.ts +53 -0
- package/dist/src/shared/services/selector-builder.service.d.ts.map +1 -0
- package/dist/src/shared/services/selector-builder.service.js +240 -0
- package/dist/src/shared/services/selector-builder.service.js.map +1 -0
- package/dist/src/shared/types/base.types.d.ts +45 -0
- package/dist/src/shared/types/base.types.d.ts.map +1 -0
- package/dist/src/shared/types/base.types.js +8 -0
- package/dist/src/shared/types/base.types.js.map +1 -0
- package/dist/src/shared/types/index.d.ts +5 -0
- package/dist/src/shared/types/index.d.ts.map +1 -0
- package/dist/src/shared/types/index.js +5 -0
- package/dist/src/shared/types/index.js.map +1 -0
- package/dist/src/snapshot/element-resolver.d.ts +102 -0
- package/dist/src/snapshot/element-resolver.d.ts.map +1 -0
- package/dist/src/snapshot/element-resolver.js +379 -0
- package/dist/src/snapshot/element-resolver.js.map +1 -0
- package/dist/src/snapshot/extractors/attribute-extractor.d.ts +40 -0
- package/dist/src/snapshot/extractors/attribute-extractor.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/attribute-extractor.js +237 -0
- package/dist/src/snapshot/extractors/attribute-extractor.js.map +1 -0
- package/dist/src/snapshot/extractors/ax-extractor.d.ts +36 -0
- package/dist/src/snapshot/extractors/ax-extractor.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/ax-extractor.js +144 -0
- package/dist/src/snapshot/extractors/ax-extractor.js.map +1 -0
- package/dist/src/snapshot/extractors/dom-extractor.d.ts +21 -0
- package/dist/src/snapshot/extractors/dom-extractor.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/dom-extractor.js +137 -0
- package/dist/src/snapshot/extractors/dom-extractor.js.map +1 -0
- package/dist/src/snapshot/extractors/grouping-resolver.d.ts +39 -0
- package/dist/src/snapshot/extractors/grouping-resolver.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/grouping-resolver.js +260 -0
- package/dist/src/snapshot/extractors/grouping-resolver.js.map +1 -0
- package/dist/src/snapshot/extractors/index.d.ts +19 -0
- package/dist/src/snapshot/extractors/index.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/index.js +27 -0
- package/dist/src/snapshot/extractors/index.js.map +1 -0
- package/dist/src/snapshot/extractors/label-resolver.d.ts +44 -0
- package/dist/src/snapshot/extractors/label-resolver.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/label-resolver.js +173 -0
- package/dist/src/snapshot/extractors/label-resolver.js.map +1 -0
- package/dist/src/snapshot/extractors/layout-extractor.d.ts +52 -0
- package/dist/src/snapshot/extractors/layout-extractor.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/layout-extractor.js +382 -0
- package/dist/src/snapshot/extractors/layout-extractor.js.map +1 -0
- package/dist/src/snapshot/extractors/locator-builder.d.ts +27 -0
- package/dist/src/snapshot/extractors/locator-builder.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/locator-builder.js +223 -0
- package/dist/src/snapshot/extractors/locator-builder.js.map +1 -0
- package/dist/src/snapshot/extractors/region-resolver.d.ts +31 -0
- package/dist/src/snapshot/extractors/region-resolver.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/region-resolver.js +168 -0
- package/dist/src/snapshot/extractors/region-resolver.js.map +1 -0
- package/dist/src/snapshot/extractors/state-extractor.d.ts +30 -0
- package/dist/src/snapshot/extractors/state-extractor.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/state-extractor.js +181 -0
- package/dist/src/snapshot/extractors/state-extractor.js.map +1 -0
- package/dist/src/snapshot/extractors/types.d.ts +213 -0
- package/dist/src/snapshot/extractors/types.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/types.js +145 -0
- package/dist/src/snapshot/extractors/types.js.map +1 -0
- package/dist/src/snapshot/index.d.ts +14 -0
- package/dist/src/snapshot/index.d.ts.map +1 -0
- package/dist/src/snapshot/index.js +18 -0
- package/dist/src/snapshot/index.js.map +1 -0
- package/dist/src/snapshot/snapshot-compiler.d.ts +73 -0
- package/dist/src/snapshot/snapshot-compiler.d.ts.map +1 -0
- package/dist/src/snapshot/snapshot-compiler.js +763 -0
- package/dist/src/snapshot/snapshot-compiler.js.map +1 -0
- package/dist/src/snapshot/snapshot-health.d.ts +97 -0
- package/dist/src/snapshot/snapshot-health.d.ts.map +1 -0
- package/dist/src/snapshot/snapshot-health.js +214 -0
- package/dist/src/snapshot/snapshot-health.js.map +1 -0
- package/dist/src/snapshot/snapshot-store.d.ts +137 -0
- package/dist/src/snapshot/snapshot-store.d.ts.map +1 -0
- package/dist/src/snapshot/snapshot-store.js +202 -0
- package/dist/src/snapshot/snapshot-store.js.map +1 -0
- package/dist/src/snapshot/snapshot.types.d.ts +250 -0
- package/dist/src/snapshot/snapshot.types.d.ts.map +1 -0
- package/dist/src/snapshot/snapshot.types.js +54 -0
- package/dist/src/snapshot/snapshot.types.js.map +1 -0
- package/dist/src/state/actionables-filter.d.ts +47 -0
- package/dist/src/state/actionables-filter.d.ts.map +1 -0
- package/dist/src/state/actionables-filter.js +173 -0
- package/dist/src/state/actionables-filter.js.map +1 -0
- package/dist/src/state/atoms-extractor.d.ts +23 -0
- package/dist/src/state/atoms-extractor.d.ts.map +1 -0
- package/dist/src/state/atoms-extractor.js +160 -0
- package/dist/src/state/atoms-extractor.js.map +1 -0
- package/dist/src/state/constants.d.ts +125 -0
- package/dist/src/state/constants.d.ts.map +1 -0
- package/dist/src/state/constants.js +131 -0
- package/dist/src/state/constants.js.map +1 -0
- package/dist/src/state/diff-engine.d.ts +23 -0
- package/dist/src/state/diff-engine.d.ts.map +1 -0
- package/dist/src/state/diff-engine.js +475 -0
- package/dist/src/state/diff-engine.js.map +1 -0
- package/dist/src/state/element-identity.d.ts +75 -0
- package/dist/src/state/element-identity.d.ts.map +1 -0
- package/dist/src/state/element-identity.js +129 -0
- package/dist/src/state/element-identity.js.map +1 -0
- package/dist/src/state/element-ref.types.d.ts +135 -0
- package/dist/src/state/element-ref.types.d.ts.map +1 -0
- package/dist/src/state/element-ref.types.js +13 -0
- package/dist/src/state/element-ref.types.js.map +1 -0
- package/dist/src/state/element-registry.d.ts +118 -0
- package/dist/src/state/element-registry.d.ts.map +1 -0
- package/dist/src/state/element-registry.js +222 -0
- package/dist/src/state/element-registry.js.map +1 -0
- package/dist/src/state/health.types.d.ts +93 -0
- package/dist/src/state/health.types.d.ts.map +1 -0
- package/dist/src/state/health.types.js +56 -0
- package/dist/src/state/health.types.js.map +1 -0
- package/dist/src/state/layer-detector.d.ts +23 -0
- package/dist/src/state/layer-detector.d.ts.map +1 -0
- package/dist/src/state/layer-detector.js +368 -0
- package/dist/src/state/layer-detector.js.map +1 -0
- package/dist/src/state/locator-generator.d.ts +21 -0
- package/dist/src/state/locator-generator.d.ts.map +1 -0
- package/dist/src/state/locator-generator.js +137 -0
- package/dist/src/state/locator-generator.js.map +1 -0
- package/dist/src/state/state-manager.d.ts +104 -0
- package/dist/src/state/state-manager.d.ts.map +1 -0
- package/dist/src/state/state-manager.js +618 -0
- package/dist/src/state/state-manager.js.map +1 -0
- package/dist/src/state/state-renderer.d.ts +63 -0
- package/dist/src/state/state-renderer.d.ts.map +1 -0
- package/dist/src/state/state-renderer.js +340 -0
- package/dist/src/state/state-renderer.js.map +1 -0
- package/dist/src/state/types.d.ts +353 -0
- package/dist/src/state/types.d.ts.map +1 -0
- package/dist/src/state/types.js +8 -0
- package/dist/src/state/types.js.map +1 -0
- package/dist/src/tools/browser-tools.d.ts +140 -0
- package/dist/src/tools/browser-tools.d.ts.map +1 -0
- package/dist/src/tools/browser-tools.js +657 -0
- package/dist/src/tools/browser-tools.js.map +1 -0
- package/dist/src/tools/errors.d.ts +63 -0
- package/dist/src/tools/errors.d.ts.map +1 -0
- package/dist/src/tools/errors.js +86 -0
- package/dist/src/tools/errors.js.map +1 -0
- package/dist/src/tools/execute-action.d.ts +135 -0
- package/dist/src/tools/execute-action.d.ts.map +1 -0
- package/dist/src/tools/execute-action.js +579 -0
- package/dist/src/tools/execute-action.js.map +1 -0
- package/dist/src/tools/form-tools.d.ts +109 -0
- package/dist/src/tools/form-tools.d.ts.map +1 -0
- package/dist/src/tools/form-tools.js +434 -0
- package/dist/src/tools/form-tools.js.map +1 -0
- package/dist/src/tools/index.d.ts +11 -0
- package/dist/src/tools/index.d.ts.map +1 -0
- package/dist/src/tools/index.js +49 -0
- package/dist/src/tools/index.js.map +1 -0
- package/dist/src/tools/response-builder.d.ts +98 -0
- package/dist/src/tools/response-builder.d.ts.map +1 -0
- package/dist/src/tools/response-builder.js +219 -0
- package/dist/src/tools/response-builder.js.map +1 -0
- package/dist/src/tools/tool-schemas.d.ts +2482 -0
- package/dist/src/tools/tool-schemas.d.ts.map +1 -0
- package/dist/src/tools/tool-schemas.js +606 -0
- package/dist/src/tools/tool-schemas.js.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +16 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-compiler.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,iBAAiB,GAQlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AActD,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAElC;;GAEG;AACH,SAAS,eAAe,CAAC,IAAgB;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAClF,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC1F,OAAO,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,SAA8B;IAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE1D,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAC/B,IAAI,CAAC,EAAE;YAAE,SAAS;QAElB,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAsB,CAAC;YACpC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,IAA4B,EAC5B,eAAgC;IAEhC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,SAA8B;IACxD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACtD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEvD,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS;QAE1C,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAC3C,wDAAwD;YACxD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACzC,wDAAwD;YACxD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CACzB,SAA8B,EAC9B,aAA4B;IAE5B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,SAAS,QAAQ,CAAC,MAAc;QAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhC,sDAAsD;QACtD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACtE,KAAK,MAAM,YAAY,IAAI,WAAW,EAAE,CAAC;gBACvC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,WAAW,GAAG,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvE,KAAK,MAAM,YAAY,IAAI,WAAW,EAAE,CAAC;gBACvC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,iBAAiB,CACxB,SAA8B,EAC9B,QAAwC,EACxC,eAAgC,EAChC,aAA4B;IAE5B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAErD,8DAA8D;IAC9D,SAAS,SAAS,CAAC,aAAqB;QACtC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAElD,sBAAsB;QACtB,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,wDAAwD;YACxD,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gBACrB,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC/D,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAClC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,IAAI,KAAK,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACxD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;QAED,wBAAwB;QACxB,IAAI,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,wDAAwD;YACxD,IAAI,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC/D,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAClC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,IAAI,KAAK,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACxD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,mEAAmE;IACnE,SAAS,QAAQ,CAAC,MAAc,EAAE,cAAkC;QAClE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,cAAc,CAAC;QAEjC,kCAAkC;QAClC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YAC9C,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC;QACpC,CAAC;QAED,mDAAmD;QACnD,IAAI,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3C,CAAC;QAED,sDAAsD;QACtD,2DAA2D;QAC3D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxC,cAAc,GAAG,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,cAAc,CAAC;YACvE,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,+EAA+E;QAC/E,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACtE,KAAK,MAAM,YAAY,IAAI,WAAW,EAAE,CAAC;gBACvC,cAAc,GAAG,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,cAAc,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,2EAA2E;QAC3E,kDAAkD;QAClD,mEAAmE;QACnE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,WAAW,GAAG,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvE,KAAK,MAAM,YAAY,IAAI,WAAW,EAAE,CAAC;gBACvC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,OAAO,YAAY,CAAC;AACtB,CAAC;AAWD;;GAEG;AACH,SAAS,qBAAqB,CAC5B,SAGC,EACD,cAA4C,EAC5C,YAAY,GAAG,IAAI;IAEnB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC9B,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE;QAC3B,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,CAAC,KAAK,CAAC,QAAQ;KAC7B,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,WAAmC,EAAE,CAAC;YAClE,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;AACH,CAAC;AAYD;;GAEG;AACH,MAAM,eAAe,GAA6B;IAChD,cAAc,EAAE,KAAK;IACrB,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,KAAK;IACd,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI,EAAE,kDAAkD;IACxE,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,IAAI;CACpB,CAAC;AAEF;;GAEG;AACH,SAAS,aAAa,CAAC,IAAwB;IAC7C,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,OAAO,GAA6B;QACxC,cAAc;QACd,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,KAAK;QACV,QAAQ,EAAE,UAAU;QACpB,gBAAgB,EAAE,UAAU;QAC5B,aAAa,EAAE,UAAU;QACzB,MAAM,EAAE,UAAU;QAClB,WAAW;QACX,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,OAAO;QACjB,aAAa;QACb,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,SAAS;QACxB,WAAW,EAAE,SAAS;KACvB,CAAC;IAEF,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IACV,OAAO,CAA2B;IAEnD,iDAAiD;IACzC,eAAe,GAAG,CAAC,CAAC;IAE5B,YAAY,OAAiC;QAC3C,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;IACtD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,GAAc,EAAE,IAAU,EAAE,OAAe;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,4EAA4E;QAC5E,4DAA4D;QAC5D,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,qBAAyC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;gBACnE,mEAAmE;gBACnE,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;gBAC9C,QAAQ,GAAG;oBACT,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC;oBAC1C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC;iBAC7C,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,4FAA4F;gBAC5F,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;gBACxC,qBAAqB,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,wDAAwD;QACxD,IAAI,qBAAqB,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,uDAAuD,qBAAqB,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,+EAA+E;QAC/E,IAAI,SAA0C,CAAC;QAC/C,IAAI,QAAwC,CAAC;QAC7C,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,mEAAmE;QACnE,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,4EAA4E;QAC5E,mFAAmF;QACnF,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC;YACjD,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;YAClD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,MAAM,eAAe,GAAoB,SAAS;YAChD,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC;YACjC,CAAC,CAAC,IAAI,GAAG,EAAmC,CAAC;QAE/C,iEAAiE;QACjE,MAAM,cAAc,GAAG,IAAI,GAAG,EAA2B,CAAC;QAC1D,IAAI,WAA+B,CAAC;QACpC,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YACvE,qBAAqB,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEjE,qBAAqB;YACrB,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC7C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,WAAW,GAAG,OAAO,CAAC;oBACtB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;YACrD,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,mDAAmD;QACnD,IAAI,aAA8C,CAAC;QACnD,IAAI,YAA6C,CAAC;QAElD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACpD,aAAa,GAAG,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAC7D,YAAY,GAAG,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;YACtF,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACzD,CAAC;QAED,wDAAwD;QACxD,MAAM,cAAc,GAAkB,EAAE,CAAC;QAEzC,+DAA+D;QAC/D,qCAAqC;QACrC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QAE5E,IAAI,QAAQ,EAAE,CAAC;YACb,gDAAgD;YAChD,KAAK,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACrD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,aAAa,GAAG,cAAc,KAAK,aAAa,CAAC;gBACvD,MAAM,UAAU,GAAG,cAAc,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;gBACjF,MAAM,qBAAqB,GACzB,cAAc,KAAK,YAAY;oBAC/B,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEjE,IAAI,aAAa,IAAI,UAAU,IAAI,qBAAqB,EAAE,CAAC;oBACzD,MAAM,OAAO,GAAG,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACpD,cAAc,CAAC,IAAI,CAAC;wBAClB,aAAa;wBACb,OAAO;wBACP,MAAM;qBACP,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,gFAAgF;YAChF,KAAK,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvF,cAAc,CAAC,IAAI,CAAC;wBAClB,aAAa;wBACb,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,iBAAiB,IAAI,aAAa,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,mDAAmD;YACnF,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC7C,qFAAqF;gBACrF,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,CAAC,CAAC;gBAC3D,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,CAAC,CAAC;gBACnC,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,CAAC,CAAC,CAAC;gBACpC,OAAO,MAAM,GAAG,MAAM,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,uCAAuC;QACvC,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErE,uCAAuC;QACvC,IAAI,YAAgD,CAAC;QACrD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACzD,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxF,CAAC;QAED,8BAA8B;QAC9B,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;gBACpC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,gBAAgB,GAAmB,EAAE,CAAC;QAE5C,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAC7B,QAAQ,EACR,SAAS,EAAE,KAAK,IAAI,IAAI,GAAG,EAAsB,EACjD,QAAQ,EAAE,KAAK,IAAI,IAAI,GAAG,EAAqB,EAC/C,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,cAAc,EACd,WAAW,CACZ,CAAC;YAEF,gEAAgE;YAChE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;YAED,+CAA+C;YAC/C,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;gBACjE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CACjC,gBAAgB,EAChB,SAAS,EAAE,KAAK,IAAI,IAAI,GAAG,EAAsB,EACjD,QAAQ,EAAE,KAAK,IAAI,IAAI,GAAG,EAAqB,CAChD,CAAC;QAEF,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1C;YACE,QAAQ;YACR,MAAM;YACN,OAAO;YACP,UAAU;YACV,QAAQ;YACR,UAAU;YACV,UAAU;YACV,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,KAAK;YACL,UAAU;SACX,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CACnB,CAAC,MAAM,CAAC;QAET,MAAM,IAAI,GAAiB;YACzB,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,iBAAiB,EAAE,gBAAgB;YACnC,mBAAmB,EAAE,QAAQ;SAC9B,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE;YACtC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;YACf,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE;YACzB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,QAAQ;YACR,KAAK;YACL,IAAI;SACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC7B,GAAqB,EACrB,OAAiB,EACjB,QAA6C,EAC7C,QAAkB;QAElB,IAAI,CAAC;YACH,OAAO,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CACnB,QAAqB,EACrB,OAAgC,EAChC,MAA8B,EAC9B,QAAuB,EACvB,eAAgC,EAChC,YAA6C,EAC7C,cAA4C,EAC5C,WAA+B;QAE/B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;QAE5D,iDAAiD;QACjD,mEAAmE;QACnE,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,IAAI,WAAW,IAAI,SAAS,CAAC;QACjE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,IAAI,WAAW,CAAC;QAClD,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC;QAE3C,iBAAiB;QACjB,IAAI,IAAI,GAAa,SAAS,CAAC;QAC/B,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;YACjB,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;QACjD,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,OAAO;gBAAE,IAAI,GAAG,OAAO,CAAC;QAC9B,CAAC;QAED,gBAAgB;QAChB,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAEhC,2DAA2D;QAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE/D,sDAAsD;QACtD,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;YACzE,qBAAqB,EAAE,CAAC,YAAY;SACrC,CAAC,CAAC;QAEH,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,cAAc,GAAG,YAAY;YACjC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;QAE7B,iBAAiB;QACjB,MAAM,KAAK,GAAiB;YAC1B,MAAM;YACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,eAAe,EAAE,cAAc;SAChC,CAAC;QAEF,eAAe;QACf,MAAM,UAAU,GAAe,MAAM;YACnC,CAAC,CAAC;gBACE,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,UAAU;gBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB;YACH,CAAC,CAAC;gBACE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aACjC,CAAC;QAEN,gBAAgB;QAChB,MAAM,KAAK,GAAc,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/D,iBAAiB;QACjB,MAAM,QAAQ,GAAiB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAErE,0CAA0C;QAC1C,MAAM,UAAU,GAAG,iBAAiB,CAClC,OAAO,EACP,IAAI,EACJ;YACE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC1C,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC9C,YAAY,EAAE,IAAI;SACnB,EACD,MAAM,CACP,CAAC;QAEF,0FAA0F;QAC1F,MAAM,IAAI,GAAiB;YACzB,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC;YAC9B,eAAe,EAAE,aAAa;YAC9B,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,QAAQ;YACnB,IAAI;YACJ,KAAK;YACL,KAAK;YACL,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,QAAQ;SACf,CAAC;QAEF,sBAAsB;QACtB,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;QAED,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAe;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,MAAM,GAA6B;YACvC,MAAM,EAAE,QAAQ;YAChB,CAAC,EAAE,MAAM;YACT,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,QAAQ;YAChB,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,CAAC,EAAE,WAAW;YACd,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,YAAY;SAClB,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CACtB,KAAqB,EACrB,OAAgC,EAChC,MAA8B;QAE9B,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;YAC/B,QAAQ;YACR,MAAM;YACN,OAAO;YACP,UAAU;YACV,QAAQ;YACR,UAAU;YACV,UAAU;YACV,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,KAAK;YACL,UAAU;SACX,CAAC,CAAC;QACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CACnC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAChF,CAAC;QAEF,gDAAgD;QAChD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAChD,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;YACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACnC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAW,EAAE;YAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAE3B,wBAAwB;YACxB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC3C,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvC,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtC,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,4CAA4C;QAC5C,MAAM,cAAc,GAAG,CAAC,MAAc,EAAsB,EAAE;YAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAE7C,kCAAkC;YAClC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC;YACrE,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,UAAU,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,+DAA+D;YAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,OAAO,QAAQ,EAAE,IAAI,CAAC;QACxB,CAAC,CAAC;QAEF,+CAA+C;QAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QAErD,8CAA8C;QAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,uEAAuE;YACvE,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBACnE,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,MAAM,cAAc,GAAG,wBAAwB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBACtE,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,OAAO,KAAK,CAAC,CAAC,yDAAyD;oBACzE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,uDAAuD;YACvD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACzD,IAAI,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9B,wBAAwB;oBACxB,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACvD,IAAI,cAAc,KAAK,gBAAgB,EAAE,CAAC;wBACxC,OAAO,KAAK,CAAC,CAAC,4BAA4B;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,CAAC,gBAAgB;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAc,EACd,IAAU,EACV,MAAc,EACd,OAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Snapshot Health Validation
|
|
3
|
+
*
|
|
4
|
+
* Validates snapshot quality and handles empty/failed snapshots.
|
|
5
|
+
* Provides stabilize-and-retry logic for recovering from transient failures.
|
|
6
|
+
*
|
|
7
|
+
* Key improvements:
|
|
8
|
+
* - Empty snapshots (0 nodes) are treated as extraction failures
|
|
9
|
+
* - Stabilization + retry for transient loading states
|
|
10
|
+
* - Clear health metrics for debugging
|
|
11
|
+
*/
|
|
12
|
+
import type { Page } from 'puppeteer-core';
|
|
13
|
+
import type { CdpClient } from '../cdp/cdp-client.interface.js';
|
|
14
|
+
import type { BaseSnapshot } from './snapshot.types.js';
|
|
15
|
+
import type { SnapshotHealth } from '../state/element-ref.types.js';
|
|
16
|
+
import type { SnapshotHealthCode } from '../state/health.types.js';
|
|
17
|
+
/**
|
|
18
|
+
* Validate snapshot health - detect empty, partial, or error states.
|
|
19
|
+
*
|
|
20
|
+
* Rules:
|
|
21
|
+
* - node_count = 0 → invalid (empty)
|
|
22
|
+
* - meta.partial = true → valid but partial
|
|
23
|
+
* - otherwise → valid
|
|
24
|
+
*
|
|
25
|
+
* @param snapshot - Snapshot to validate
|
|
26
|
+
* @returns SnapshotHealth with validity status and metrics
|
|
27
|
+
*/
|
|
28
|
+
export declare function validateSnapshotHealth(snapshot: BaseSnapshot): SnapshotHealth;
|
|
29
|
+
/**
|
|
30
|
+
* Check if a snapshot health indicates an error that should trigger baseline.
|
|
31
|
+
*
|
|
32
|
+
* @param health - SnapshotHealth to check
|
|
33
|
+
* @returns true if this should be treated as an error baseline
|
|
34
|
+
*/
|
|
35
|
+
export declare function isErrorHealth(health: SnapshotHealth): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Options for capture with stabilization.
|
|
38
|
+
*/
|
|
39
|
+
export interface CaptureWithStabilizationOptions {
|
|
40
|
+
/** Maximum retry attempts (default: 3) */
|
|
41
|
+
maxRetries?: number;
|
|
42
|
+
/** Wait time between retries in ms (default: 500) */
|
|
43
|
+
retryDelayMs?: number;
|
|
44
|
+
/** DOM stabilization quiet window in ms (default: 100) */
|
|
45
|
+
quietWindowMs?: number;
|
|
46
|
+
/** DOM stabilization max timeout in ms (default: 2000) */
|
|
47
|
+
maxTimeoutMs?: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Result of capture with stabilization.
|
|
51
|
+
*/
|
|
52
|
+
export interface CaptureWithStabilizationResult {
|
|
53
|
+
snapshot: BaseSnapshot;
|
|
54
|
+
health: SnapshotHealth;
|
|
55
|
+
attempts: number;
|
|
56
|
+
stabilizationStatus: 'stable' | 'timeout' | 'error';
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Capture snapshot with DOM stabilization and retry on empty results.
|
|
60
|
+
*
|
|
61
|
+
* Flow:
|
|
62
|
+
* 1. Wait for DOM to stabilize
|
|
63
|
+
* 2. Capture snapshot
|
|
64
|
+
* 3. Validate health
|
|
65
|
+
* 4. If empty, wait and retry (up to maxRetries)
|
|
66
|
+
* 5. Return best result (or last attempt if all failed)
|
|
67
|
+
*
|
|
68
|
+
* @param cdp - CDP client
|
|
69
|
+
* @param page - Puppeteer Page
|
|
70
|
+
* @param pageId - Page identifier
|
|
71
|
+
* @param options - Capture options
|
|
72
|
+
* @returns Snapshot with health status and attempt count
|
|
73
|
+
*/
|
|
74
|
+
export declare function captureWithStabilization(cdp: CdpClient, page: Page, pageId: string, options?: CaptureWithStabilizationOptions): Promise<CaptureWithStabilizationResult>;
|
|
75
|
+
/**
|
|
76
|
+
* Format snapshot health for logging/debugging.
|
|
77
|
+
*
|
|
78
|
+
* @param health - SnapshotHealth to format
|
|
79
|
+
* @returns Human-readable string
|
|
80
|
+
*/
|
|
81
|
+
export declare function formatSnapshotHealth(health: SnapshotHealth): string;
|
|
82
|
+
/**
|
|
83
|
+
* Determine the specific health code from a capture result.
|
|
84
|
+
*
|
|
85
|
+
* Maps capture result to specific failure codes:
|
|
86
|
+
* - HEALTHY: Valid snapshot
|
|
87
|
+
* - PENDING_DOM: DOM not ready (empty without specific failure)
|
|
88
|
+
* - AX_EMPTY: Accessibility tree extraction failed
|
|
89
|
+
* - DOM_EMPTY: DOM tree extraction failed
|
|
90
|
+
* - CDP_SESSION_DEAD: CDP session closed or detached
|
|
91
|
+
* - UNKNOWN: Other failure
|
|
92
|
+
*
|
|
93
|
+
* @param result - Capture with stabilization result
|
|
94
|
+
* @returns Specific health code
|
|
95
|
+
*/
|
|
96
|
+
export declare function determineHealthCode(result: CaptureWithStabilizationResult): SnapshotHealthCode;
|
|
97
|
+
//# sourceMappingURL=snapshot-health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-health.d.ts","sourceRoot":"","sources":["../../../src/snapshot/snapshot-health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,+BAA+B,CAAC;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAOnE;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,cAAc,CA0C7E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE7D;AAMD;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;CACrD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,8BAA8B,CAAC,CAgDzC;AAaD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAmBnE;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,8BAA8B,GAAG,kBAAkB,CAyC9F"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Snapshot Health Validation
|
|
3
|
+
*
|
|
4
|
+
* Validates snapshot quality and handles empty/failed snapshots.
|
|
5
|
+
* Provides stabilize-and-retry logic for recovering from transient failures.
|
|
6
|
+
*
|
|
7
|
+
* Key improvements:
|
|
8
|
+
* - Empty snapshots (0 nodes) are treated as extraction failures
|
|
9
|
+
* - Stabilization + retry for transient loading states
|
|
10
|
+
* - Clear health metrics for debugging
|
|
11
|
+
*/
|
|
12
|
+
import { stabilizeDom } from '../delta/dom-stabilizer.js';
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// Snapshot Health Validation
|
|
15
|
+
// ============================================================================
|
|
16
|
+
/**
|
|
17
|
+
* Validate snapshot health - detect empty, partial, or error states.
|
|
18
|
+
*
|
|
19
|
+
* Rules:
|
|
20
|
+
* - node_count = 0 → invalid (empty)
|
|
21
|
+
* - meta.partial = true → valid but partial
|
|
22
|
+
* - otherwise → valid
|
|
23
|
+
*
|
|
24
|
+
* @param snapshot - Snapshot to validate
|
|
25
|
+
* @returns SnapshotHealth with validity status and metrics
|
|
26
|
+
*/
|
|
27
|
+
export function validateSnapshotHealth(snapshot) {
|
|
28
|
+
const metrics = {
|
|
29
|
+
node_count: snapshot.meta.node_count,
|
|
30
|
+
interactive_count: snapshot.meta.interactive_count,
|
|
31
|
+
capture_duration_ms: snapshot.meta.capture_duration_ms,
|
|
32
|
+
};
|
|
33
|
+
// Check for empty snapshot (Bug #2: 0 nodes after navigation)
|
|
34
|
+
if (snapshot.nodes.length === 0 || snapshot.meta.node_count === 0) {
|
|
35
|
+
return {
|
|
36
|
+
valid: false,
|
|
37
|
+
reason: 'empty',
|
|
38
|
+
message: 'Snapshot contains no nodes. Page may be loading, navigating, or in error state.',
|
|
39
|
+
metrics,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
// Check for no interactive elements (warning, still valid)
|
|
43
|
+
if (snapshot.meta.interactive_count === 0) {
|
|
44
|
+
return {
|
|
45
|
+
valid: true, // Still usable, just no actionables
|
|
46
|
+
reason: 'partial',
|
|
47
|
+
message: 'Snapshot contains no interactive elements. Page may have only static content.',
|
|
48
|
+
metrics,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
// Check partial flag from compiler (e.g., extraction warnings)
|
|
52
|
+
if (snapshot.meta.partial) {
|
|
53
|
+
return {
|
|
54
|
+
valid: true, // Usable but with caveats
|
|
55
|
+
reason: 'partial',
|
|
56
|
+
message: snapshot.meta.warnings?.join('; ') ?? 'Partial snapshot captured.',
|
|
57
|
+
metrics,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// Snapshot is healthy
|
|
61
|
+
return {
|
|
62
|
+
valid: true,
|
|
63
|
+
metrics,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Check if a snapshot health indicates an error that should trigger baseline.
|
|
68
|
+
*
|
|
69
|
+
* @param health - SnapshotHealth to check
|
|
70
|
+
* @returns true if this should be treated as an error baseline
|
|
71
|
+
*/
|
|
72
|
+
export function isErrorHealth(health) {
|
|
73
|
+
return !health.valid && (health.reason === 'empty' || health.reason === 'error');
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Capture snapshot with DOM stabilization and retry on empty results.
|
|
77
|
+
*
|
|
78
|
+
* Flow:
|
|
79
|
+
* 1. Wait for DOM to stabilize
|
|
80
|
+
* 2. Capture snapshot
|
|
81
|
+
* 3. Validate health
|
|
82
|
+
* 4. If empty, wait and retry (up to maxRetries)
|
|
83
|
+
* 5. Return best result (or last attempt if all failed)
|
|
84
|
+
*
|
|
85
|
+
* @param cdp - CDP client
|
|
86
|
+
* @param page - Puppeteer Page
|
|
87
|
+
* @param pageId - Page identifier
|
|
88
|
+
* @param options - Capture options
|
|
89
|
+
* @returns Snapshot with health status and attempt count
|
|
90
|
+
*/
|
|
91
|
+
export async function captureWithStabilization(cdp, page, pageId, options = {}) {
|
|
92
|
+
const { maxRetries = 3, retryDelayMs = 500, quietWindowMs = 100, maxTimeoutMs = 2000 } = options;
|
|
93
|
+
// Import compileSnapshot dynamically to avoid circular dependency
|
|
94
|
+
const { compileSnapshot } = await import('./index.js');
|
|
95
|
+
let lastSnapshot = null;
|
|
96
|
+
let lastHealth = null;
|
|
97
|
+
let stabilizationStatus = 'stable';
|
|
98
|
+
let attempts = 0;
|
|
99
|
+
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
100
|
+
attempts = attempt + 1;
|
|
101
|
+
// Wait for DOM to stabilize
|
|
102
|
+
const stabResult = await stabilizeDom(page, { quietWindowMs, maxTimeoutMs });
|
|
103
|
+
stabilizationStatus = stabResult.status;
|
|
104
|
+
// Capture snapshot
|
|
105
|
+
const snapshot = await compileSnapshot(cdp, page, pageId);
|
|
106
|
+
const health = validateSnapshotHealth(snapshot);
|
|
107
|
+
lastSnapshot = snapshot;
|
|
108
|
+
lastHealth = health;
|
|
109
|
+
// If snapshot is valid and not empty, we're done
|
|
110
|
+
if (health.valid && health.reason !== 'empty') {
|
|
111
|
+
return {
|
|
112
|
+
snapshot,
|
|
113
|
+
health,
|
|
114
|
+
attempts,
|
|
115
|
+
stabilizationStatus,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
// If this isn't the last attempt, wait before retry
|
|
119
|
+
if (attempt < maxRetries - 1) {
|
|
120
|
+
await sleep(retryDelayMs);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Return last attempt even if unhealthy
|
|
124
|
+
return {
|
|
125
|
+
snapshot: lastSnapshot,
|
|
126
|
+
health: lastHealth,
|
|
127
|
+
attempts,
|
|
128
|
+
stabilizationStatus,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
// ============================================================================
|
|
132
|
+
// Utilities
|
|
133
|
+
// ============================================================================
|
|
134
|
+
/**
|
|
135
|
+
* Sleep for specified milliseconds.
|
|
136
|
+
*/
|
|
137
|
+
function sleep(ms) {
|
|
138
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Format snapshot health for logging/debugging.
|
|
142
|
+
*
|
|
143
|
+
* @param health - SnapshotHealth to format
|
|
144
|
+
* @returns Human-readable string
|
|
145
|
+
*/
|
|
146
|
+
export function formatSnapshotHealth(health) {
|
|
147
|
+
const parts = [];
|
|
148
|
+
parts.push(health.valid ? 'VALID' : 'INVALID');
|
|
149
|
+
if (health.reason) {
|
|
150
|
+
parts.push(`(${health.reason})`);
|
|
151
|
+
}
|
|
152
|
+
if (health.metrics) {
|
|
153
|
+
parts.push(`nodes=${health.metrics.node_count}`);
|
|
154
|
+
parts.push(`interactive=${health.metrics.interactive_count}`);
|
|
155
|
+
}
|
|
156
|
+
if (health.message) {
|
|
157
|
+
parts.push(`- ${health.message}`);
|
|
158
|
+
}
|
|
159
|
+
return parts.join(' ');
|
|
160
|
+
}
|
|
161
|
+
// ============================================================================
|
|
162
|
+
// Health Code Determination
|
|
163
|
+
// ============================================================================
|
|
164
|
+
/**
|
|
165
|
+
* Determine the specific health code from a capture result.
|
|
166
|
+
*
|
|
167
|
+
* Maps capture result to specific failure codes:
|
|
168
|
+
* - HEALTHY: Valid snapshot
|
|
169
|
+
* - PENDING_DOM: DOM not ready (empty without specific failure)
|
|
170
|
+
* - AX_EMPTY: Accessibility tree extraction failed
|
|
171
|
+
* - DOM_EMPTY: DOM tree extraction failed
|
|
172
|
+
* - CDP_SESSION_DEAD: CDP session closed or detached
|
|
173
|
+
* - UNKNOWN: Other failure
|
|
174
|
+
*
|
|
175
|
+
* @param result - Capture with stabilization result
|
|
176
|
+
* @returns Specific health code
|
|
177
|
+
*/
|
|
178
|
+
export function determineHealthCode(result) {
|
|
179
|
+
const { health, snapshot } = result;
|
|
180
|
+
// Valid snapshot = healthy
|
|
181
|
+
if (health.valid && health.reason !== 'empty') {
|
|
182
|
+
return 'HEALTHY';
|
|
183
|
+
}
|
|
184
|
+
// Check for specific error patterns
|
|
185
|
+
if (!health.valid) {
|
|
186
|
+
// Check message for CDP session errors
|
|
187
|
+
if (health.reason === 'error' && health.message) {
|
|
188
|
+
const msg = health.message.toLowerCase();
|
|
189
|
+
if (msg.includes('session') || msg.includes('target closed') || msg.includes('detached')) {
|
|
190
|
+
return 'CDP_SESSION_DEAD';
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// Check snapshot warnings for extraction failures
|
|
194
|
+
if (health.reason === 'empty' && snapshot.meta.warnings) {
|
|
195
|
+
const warnings = snapshot.meta.warnings.join(' ').toLowerCase();
|
|
196
|
+
if (warnings.includes('ax')) {
|
|
197
|
+
return 'AX_EMPTY';
|
|
198
|
+
}
|
|
199
|
+
if (warnings.includes('dom')) {
|
|
200
|
+
return 'DOM_EMPTY';
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// Empty without specific cause = pending DOM
|
|
204
|
+
if (health.reason === 'empty') {
|
|
205
|
+
return 'PENDING_DOM';
|
|
206
|
+
}
|
|
207
|
+
// Other errors
|
|
208
|
+
if (health.reason === 'error') {
|
|
209
|
+
return 'UNKNOWN';
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return 'UNKNOWN';
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=snapshot-health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-health.js","sourceRoot":"","sources":["../../../src/snapshot/snapshot-health.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Snapshot Store
|
|
3
|
+
*
|
|
4
|
+
* In-memory storage for page snapshots with optional TTL-based cleanup.
|
|
5
|
+
* Keeps most recent snapshot per page for element resolution.
|
|
6
|
+
*
|
|
7
|
+
* @module snapshot/snapshot-store
|
|
8
|
+
*/
|
|
9
|
+
import type { BaseSnapshot, ReadableNode } from './snapshot.types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Snapshot store entry with metadata
|
|
12
|
+
*/
|
|
13
|
+
export interface SnapshotEntry {
|
|
14
|
+
/** The stored snapshot */
|
|
15
|
+
snapshot: BaseSnapshot;
|
|
16
|
+
/** Timestamp when snapshot was stored */
|
|
17
|
+
storedAt: number;
|
|
18
|
+
/** Associated page ID */
|
|
19
|
+
pageId: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Snapshot store configuration options
|
|
23
|
+
*/
|
|
24
|
+
export interface SnapshotStoreOptions {
|
|
25
|
+
/** TTL in milliseconds for automatic expiration. Undefined = no expiration */
|
|
26
|
+
ttlMs?: number;
|
|
27
|
+
/** Interval in milliseconds for automatic cleanup. Defaults to TTL value if TTL is set */
|
|
28
|
+
cleanupIntervalMs?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Store statistics
|
|
32
|
+
*/
|
|
33
|
+
export interface SnapshotStoreStats {
|
|
34
|
+
/** Number of stored snapshots */
|
|
35
|
+
snapshotCount: number;
|
|
36
|
+
/** Total number of nodes across all snapshots */
|
|
37
|
+
totalNodes: number;
|
|
38
|
+
/** Oldest snapshot timestamp */
|
|
39
|
+
oldestSnapshot?: number;
|
|
40
|
+
/** Newest snapshot timestamp */
|
|
41
|
+
newestSnapshot?: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Simple in-memory store for BaseSnapshot objects.
|
|
45
|
+
* Tracks one snapshot per page (latest overwrites previous).
|
|
46
|
+
* Supports optional TTL-based expiration with automatic cleanup.
|
|
47
|
+
*/
|
|
48
|
+
export declare class SnapshotStore {
|
|
49
|
+
/** Map of snapshot_id → SnapshotEntry */
|
|
50
|
+
private readonly entries;
|
|
51
|
+
/** Map of page_id → snapshot_id (for lookup by page) */
|
|
52
|
+
private readonly pageToSnapshot;
|
|
53
|
+
/** TTL in milliseconds (undefined = no expiration) */
|
|
54
|
+
private readonly ttlMs?;
|
|
55
|
+
/** Cleanup interval timer */
|
|
56
|
+
private cleanupTimer?;
|
|
57
|
+
constructor(options?: SnapshotStoreOptions);
|
|
58
|
+
/**
|
|
59
|
+
* Start automatic cleanup timer.
|
|
60
|
+
* @param intervalMs - Cleanup interval in milliseconds
|
|
61
|
+
*/
|
|
62
|
+
private startCleanupTimer;
|
|
63
|
+
/**
|
|
64
|
+
* Stop automatic cleanup timer.
|
|
65
|
+
*/
|
|
66
|
+
stopCleanupTimer(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Store a snapshot for a page.
|
|
69
|
+
* Overwrites any previous snapshot for the same page.
|
|
70
|
+
*
|
|
71
|
+
* @param pageId - Page identifier
|
|
72
|
+
* @param snapshot - Snapshot to store
|
|
73
|
+
*/
|
|
74
|
+
store(pageId: string, snapshot: BaseSnapshot): void;
|
|
75
|
+
/**
|
|
76
|
+
* Get a snapshot by its ID.
|
|
77
|
+
*
|
|
78
|
+
* @param snapshotId - Snapshot identifier
|
|
79
|
+
* @returns Snapshot or undefined if not found
|
|
80
|
+
*/
|
|
81
|
+
get(snapshotId: string): BaseSnapshot | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Get full entry (with metadata) by snapshot ID.
|
|
84
|
+
*
|
|
85
|
+
* @param snapshotId - Snapshot identifier
|
|
86
|
+
* @returns SnapshotEntry or undefined if not found
|
|
87
|
+
*/
|
|
88
|
+
getEntry(snapshotId: string): SnapshotEntry | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Get the most recent snapshot for a page.
|
|
91
|
+
*
|
|
92
|
+
* @param pageId - Page identifier
|
|
93
|
+
* @returns Snapshot or undefined if no snapshot for page
|
|
94
|
+
*/
|
|
95
|
+
getByPageId(pageId: string): BaseSnapshot | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Find a node within a snapshot.
|
|
98
|
+
*
|
|
99
|
+
* @param snapshotId - Snapshot identifier
|
|
100
|
+
* @param nodeId - Node identifier
|
|
101
|
+
* @returns Node or undefined if not found
|
|
102
|
+
*/
|
|
103
|
+
findNode(snapshotId: string, nodeId: string): ReadableNode | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* Remove snapshot for a specific page.
|
|
106
|
+
*
|
|
107
|
+
* @param pageId - Page identifier
|
|
108
|
+
* @returns true if snapshot was removed, false if not found
|
|
109
|
+
*/
|
|
110
|
+
removeByPageId(pageId: string): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Clear all stored snapshots.
|
|
113
|
+
*/
|
|
114
|
+
clear(): void;
|
|
115
|
+
/**
|
|
116
|
+
* Destroy the store, clearing all data and stopping cleanup timer.
|
|
117
|
+
*/
|
|
118
|
+
destroy(): void;
|
|
119
|
+
/**
|
|
120
|
+
* Cleanup expired snapshots based on TTL.
|
|
121
|
+
* Does nothing if TTL is not configured.
|
|
122
|
+
*
|
|
123
|
+
* @returns Number of expired snapshots removed
|
|
124
|
+
*/
|
|
125
|
+
cleanupExpired(): number;
|
|
126
|
+
/**
|
|
127
|
+
* Get store statistics.
|
|
128
|
+
*
|
|
129
|
+
* @returns SnapshotStoreStats
|
|
130
|
+
*/
|
|
131
|
+
getStats(): SnapshotStoreStats;
|
|
132
|
+
/**
|
|
133
|
+
* Get count of stored snapshots.
|
|
134
|
+
*/
|
|
135
|
+
get size(): number;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=snapshot-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot-store.d.ts","sourceRoot":"","sources":["../../../src/snapshot/snapshot-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,QAAQ,EAAE,YAAY,CAAC;IACvB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACxB,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAE5D,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAE5D,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAEhC,6BAA6B;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAiC;gBAE1C,OAAO,CAAC,EAAE,oBAAoB;IAU1C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAOxB;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI;IAkBnD;;;;;OAKG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAKjD;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIvD;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAKrD;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAKtE;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAWvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;;;;OAKG;IACH,cAAc,IAAI,MAAM;IAyBxB;;;;OAIG;IACH,QAAQ,IAAI,kBAAkB;IAwB9B;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|