@derive-to/artifacts 0.0.0-stage → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +197 -2
- package/dist/host/bridge.d.ts +38 -0
- package/dist/host/bridge.d.ts.map +1 -0
- package/dist/host/bridge.js +86 -0
- package/dist/host/bridge.js.map +1 -0
- package/dist/host/client.d.ts +168 -0
- package/dist/host/client.d.ts.map +1 -0
- package/dist/host/client.js +214 -0
- package/dist/host/client.js.map +1 -0
- package/dist/host/emitter.d.ts +7 -0
- package/dist/host/emitter.d.ts.map +1 -0
- package/dist/host/emitter.js +18 -0
- package/dist/host/emitter.js.map +1 -0
- package/dist/host/index.d.ts +7 -0
- package/dist/host/index.d.ts.map +1 -0
- package/dist/host/index.js +5 -0
- package/dist/host/index.js.map +1 -0
- package/dist/host/live.d.ts +18 -0
- package/dist/host/live.d.ts.map +1 -0
- package/dist/host/live.js +32 -0
- package/dist/host/live.js.map +1 -0
- package/dist/host/print.d.ts +3 -0
- package/dist/host/print.d.ts.map +1 -0
- package/dist/host/print.js +57 -0
- package/dist/host/print.js.map +1 -0
- package/dist/host/sse.d.ts +11 -0
- package/dist/host/sse.d.ts.map +1 -0
- package/dist/host/sse.js +57 -0
- package/dist/host/sse.js.map +1 -0
- package/dist/host/view.d.ts +60 -0
- package/dist/host/view.d.ts.map +1 -0
- package/dist/host/view.js +218 -0
- package/dist/host/view.js.map +1 -0
- package/dist/protocol/access.d.ts +39 -0
- package/dist/protocol/access.d.ts.map +1 -0
- package/dist/protocol/access.js +30 -0
- package/dist/protocol/access.js.map +1 -0
- package/dist/protocol/anchors.d.ts +61 -0
- package/dist/protocol/anchors.d.ts.map +1 -0
- package/dist/protocol/anchors.js +41 -0
- package/dist/protocol/anchors.js.map +1 -0
- package/dist/protocol/collection.d.ts +33 -0
- package/dist/protocol/collection.d.ts.map +1 -0
- package/dist/protocol/collection.js +168 -0
- package/dist/protocol/collection.js.map +1 -0
- package/dist/protocol/define.d.ts +9 -0
- package/dist/protocol/define.d.ts.map +1 -0
- package/dist/protocol/define.js +2 -0
- package/dist/protocol/define.js.map +1 -0
- package/dist/protocol/errors.d.ts +55 -0
- package/dist/protocol/errors.d.ts.map +1 -0
- package/dist/protocol/errors.js +54 -0
- package/dist/protocol/errors.js.map +1 -0
- package/dist/protocol/extension.d.ts +44 -0
- package/dist/protocol/extension.d.ts.map +1 -0
- package/dist/protocol/extension.js +37 -0
- package/dist/protocol/extension.js.map +1 -0
- package/dist/protocol/http.d.ts +195 -0
- package/dist/protocol/http.d.ts.map +1 -0
- package/dist/protocol/http.js +72 -0
- package/dist/protocol/http.js.map +1 -0
- package/dist/protocol/index.d.ts +19 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +19 -0
- package/dist/protocol/index.js.map +1 -0
- package/dist/protocol/inputs.d.ts +62 -0
- package/dist/protocol/inputs.d.ts.map +1 -0
- package/dist/protocol/inputs.js +51 -0
- package/dist/protocol/inputs.js.map +1 -0
- package/dist/protocol/layout.d.ts +33 -0
- package/dist/protocol/layout.d.ts.map +1 -0
- package/dist/protocol/layout.js +45 -0
- package/dist/protocol/layout.js.map +1 -0
- package/dist/protocol/mentions.d.ts +16 -0
- package/dist/protocol/mentions.d.ts.map +1 -0
- package/dist/protocol/mentions.js +35 -0
- package/dist/protocol/mentions.js.map +1 -0
- package/dist/protocol/methods.d.ts +146 -0
- package/dist/protocol/methods.d.ts.map +1 -0
- package/dist/protocol/methods.js +57 -0
- package/dist/protocol/methods.js.map +1 -0
- package/dist/protocol/presentation.d.ts +9 -0
- package/dist/protocol/presentation.d.ts.map +1 -0
- package/dist/protocol/presentation.js +7 -0
- package/dist/protocol/presentation.js.map +1 -0
- package/dist/protocol/quote-match.d.ts +20 -0
- package/dist/protocol/quote-match.d.ts.map +1 -0
- package/dist/protocol/quote-match.js +33 -0
- package/dist/protocol/quote-match.js.map +1 -0
- package/dist/protocol/sharing.d.ts +133 -0
- package/dist/protocol/sharing.d.ts.map +1 -0
- package/dist/protocol/sharing.js +67 -0
- package/dist/protocol/sharing.js.map +1 -0
- package/dist/protocol/slot-map.d.ts +4 -0
- package/dist/protocol/slot-map.d.ts.map +1 -0
- package/dist/protocol/slot-map.js +10 -0
- package/dist/protocol/slot-map.js.map +1 -0
- package/dist/protocol/source-anchors.d.ts +101 -0
- package/dist/protocol/source-anchors.d.ts.map +1 -0
- package/dist/protocol/source-anchors.js +250 -0
- package/dist/protocol/source-anchors.js.map +1 -0
- package/dist/protocol/source-assets.d.ts +15 -0
- package/dist/protocol/source-assets.d.ts.map +1 -0
- package/dist/protocol/source-assets.js +66 -0
- package/dist/protocol/source-assets.js.map +1 -0
- package/dist/protocol/source-cache.d.ts +23 -0
- package/dist/protocol/source-cache.d.ts.map +1 -0
- package/dist/protocol/source-cache.js +52 -0
- package/dist/protocol/source-cache.js.map +1 -0
- package/dist/protocol/source-copy-dom.d.ts +11 -0
- package/dist/protocol/source-copy-dom.d.ts.map +1 -0
- package/dist/protocol/source-copy-dom.js +103 -0
- package/dist/protocol/source-copy-dom.js.map +1 -0
- package/dist/protocol/source-copy-identities.d.ts +19 -0
- package/dist/protocol/source-copy-identities.d.ts.map +1 -0
- package/dist/protocol/source-copy-identities.js +119 -0
- package/dist/protocol/source-copy-identities.js.map +1 -0
- package/dist/protocol/source-deck-elements.d.ts +30 -0
- package/dist/protocol/source-deck-elements.d.ts.map +1 -0
- package/dist/protocol/source-deck-elements.js +67 -0
- package/dist/protocol/source-deck-elements.js.map +1 -0
- package/dist/protocol/source-deck-ops.d.ts +18 -0
- package/dist/protocol/source-deck-ops.d.ts.map +1 -0
- package/dist/protocol/source-deck-ops.js +154 -0
- package/dist/protocol/source-deck-ops.js.map +1 -0
- package/dist/protocol/source-deck.d.ts +20 -0
- package/dist/protocol/source-deck.d.ts.map +1 -0
- package/dist/protocol/source-deck.js +103 -0
- package/dist/protocol/source-deck.js.map +1 -0
- package/dist/protocol/source-edits.d.ts +21 -0
- package/dist/protocol/source-edits.d.ts.map +1 -0
- package/dist/protocol/source-edits.js +126 -0
- package/dist/protocol/source-edits.js.map +1 -0
- package/dist/protocol/source-element-edits.d.ts +24 -0
- package/dist/protocol/source-element-edits.d.ts.map +1 -0
- package/dist/protocol/source-element-edits.js +93 -0
- package/dist/protocol/source-element-edits.js.map +1 -0
- package/dist/protocol/source-element-match.d.ts +4 -0
- package/dist/protocol/source-element-match.d.ts.map +1 -0
- package/dist/protocol/source-element-match.js +40 -0
- package/dist/protocol/source-element-match.js.map +1 -0
- package/dist/protocol/source-element-neighbors.d.ts +8 -0
- package/dist/protocol/source-element-neighbors.d.ts.map +1 -0
- package/dist/protocol/source-element-neighbors.js +39 -0
- package/dist/protocol/source-element-neighbors.js.map +1 -0
- package/dist/protocol/source-element-properties.d.ts +25 -0
- package/dist/protocol/source-element-properties.d.ts.map +1 -0
- package/dist/protocol/source-element-properties.js +71 -0
- package/dist/protocol/source-element-properties.js.map +1 -0
- package/dist/protocol/source-element-scan.d.ts +4 -0
- package/dist/protocol/source-element-scan.d.ts.map +1 -0
- package/dist/protocol/source-element-scan.js +181 -0
- package/dist/protocol/source-element-scan.js.map +1 -0
- package/dist/protocol/source-element-score.d.ts +12 -0
- package/dist/protocol/source-element-score.d.ts.map +1 -0
- package/dist/protocol/source-element-score.js +82 -0
- package/dist/protocol/source-element-score.js.map +1 -0
- package/dist/protocol/source-element-selector.d.ts +19 -0
- package/dist/protocol/source-element-selector.d.ts.map +1 -0
- package/dist/protocol/source-element-selector.js +115 -0
- package/dist/protocol/source-element-selector.js.map +1 -0
- package/dist/protocol/source-element-types.d.ts +79 -0
- package/dist/protocol/source-element-types.d.ts.map +1 -0
- package/dist/protocol/source-element-types.js +2 -0
- package/dist/protocol/source-element-types.js.map +1 -0
- package/dist/protocol/source-elements.d.ts +7 -0
- package/dist/protocol/source-elements.d.ts.map +1 -0
- package/dist/protocol/source-elements.js +6 -0
- package/dist/protocol/source-elements.js.map +1 -0
- package/dist/protocol/source-entities.d.ts +17 -0
- package/dist/protocol/source-entities.d.ts.map +1 -0
- package/dist/protocol/source-entities.js +45 -0
- package/dist/protocol/source-entities.js.map +1 -0
- package/dist/protocol/source-hash.d.ts +4 -0
- package/dist/protocol/source-hash.d.ts.map +1 -0
- package/dist/protocol/source-hash.js +5 -0
- package/dist/protocol/source-hash.js.map +1 -0
- package/dist/protocol/source-head.d.ts +4 -0
- package/dist/protocol/source-head.d.ts.map +1 -0
- package/dist/protocol/source-head.js +79 -0
- package/dist/protocol/source-head.js.map +1 -0
- package/dist/protocol/source-html-attributes.d.ts +20 -0
- package/dist/protocol/source-html-attributes.d.ts.map +1 -0
- package/dist/protocol/source-html-attributes.js +89 -0
- package/dist/protocol/source-html-attributes.js.map +1 -0
- package/dist/protocol/source-html-elements.d.ts +5 -0
- package/dist/protocol/source-html-elements.d.ts.map +1 -0
- package/dist/protocol/source-html-elements.js +144 -0
- package/dist/protocol/source-html-elements.js.map +1 -0
- package/dist/protocol/source-html.d.ts +51 -0
- package/dist/protocol/source-html.d.ts.map +1 -0
- package/dist/protocol/source-html.js +167 -0
- package/dist/protocol/source-html.js.map +1 -0
- package/dist/protocol/source-layout-limits.d.ts +21 -0
- package/dist/protocol/source-layout-limits.d.ts.map +1 -0
- package/dist/protocol/source-layout-limits.js +20 -0
- package/dist/protocol/source-layout-limits.js.map +1 -0
- package/dist/protocol/source-layout.d.ts +29 -0
- package/dist/protocol/source-layout.d.ts.map +1 -0
- package/dist/protocol/source-layout.js +149 -0
- package/dist/protocol/source-layout.js.map +1 -0
- package/dist/protocol/source-markdown-blocks.d.ts +4 -0
- package/dist/protocol/source-markdown-blocks.d.ts.map +1 -0
- package/dist/protocol/source-markdown-blocks.js +175 -0
- package/dist/protocol/source-markdown-blocks.js.map +1 -0
- package/dist/protocol/source-markdown-history.d.ts +26 -0
- package/dist/protocol/source-markdown-history.d.ts.map +1 -0
- package/dist/protocol/source-markdown-history.js +133 -0
- package/dist/protocol/source-markdown-history.js.map +1 -0
- package/dist/protocol/source-markdown-inline.d.ts +20 -0
- package/dist/protocol/source-markdown-inline.d.ts.map +1 -0
- package/dist/protocol/source-markdown-inline.js +155 -0
- package/dist/protocol/source-markdown-inline.js.map +1 -0
- package/dist/protocol/source-markdown-model.d.ts +49 -0
- package/dist/protocol/source-markdown-model.d.ts.map +1 -0
- package/dist/protocol/source-markdown-model.js +28 -0
- package/dist/protocol/source-markdown-model.js.map +1 -0
- package/dist/protocol/source-markdown-op-align.d.ts +5 -0
- package/dist/protocol/source-markdown-op-align.d.ts.map +1 -0
- package/dist/protocol/source-markdown-op-align.js +49 -0
- package/dist/protocol/source-markdown-op-align.js.map +1 -0
- package/dist/protocol/source-markdown-op-blocks.d.ts +4 -0
- package/dist/protocol/source-markdown-op-blocks.d.ts.map +1 -0
- package/dist/protocol/source-markdown-op-blocks.js +198 -0
- package/dist/protocol/source-markdown-op-blocks.js.map +1 -0
- package/dist/protocol/source-markdown-op-context.d.ts +38 -0
- package/dist/protocol/source-markdown-op-context.d.ts.map +1 -0
- package/dist/protocol/source-markdown-op-context.js +44 -0
- package/dist/protocol/source-markdown-op-context.js.map +1 -0
- package/dist/protocol/source-markdown-op-inline.d.ts +8 -0
- package/dist/protocol/source-markdown-op-inline.d.ts.map +1 -0
- package/dist/protocol/source-markdown-op-inline.js +281 -0
- package/dist/protocol/source-markdown-op-inline.js.map +1 -0
- package/dist/protocol/source-markdown-op-reading.d.ts +7 -0
- package/dist/protocol/source-markdown-op-reading.d.ts.map +1 -0
- package/dist/protocol/source-markdown-op-reading.js +93 -0
- package/dist/protocol/source-markdown-op-reading.js.map +1 -0
- package/dist/protocol/source-markdown-ops.d.ts +13 -0
- package/dist/protocol/source-markdown-ops.d.ts.map +1 -0
- package/dist/protocol/source-markdown-ops.js +105 -0
- package/dist/protocol/source-markdown-ops.js.map +1 -0
- package/dist/protocol/source-markdown-projection.d.ts +30 -0
- package/dist/protocol/source-markdown-projection.d.ts.map +1 -0
- package/dist/protocol/source-markdown-projection.js +164 -0
- package/dist/protocol/source-markdown-projection.js.map +1 -0
- package/dist/protocol/source-markdown-types.d.ts +32 -0
- package/dist/protocol/source-markdown-types.d.ts.map +1 -0
- package/dist/protocol/source-markdown-types.js +2 -0
- package/dist/protocol/source-markdown-types.js.map +1 -0
- package/dist/protocol/source-markdown.d.ts +5 -0
- package/dist/protocol/source-markdown.d.ts.map +1 -0
- package/dist/protocol/source-markdown.js +9 -0
- package/dist/protocol/source-markdown.js.map +1 -0
- package/dist/protocol/source-op-apply.d.ts +14 -0
- package/dist/protocol/source-op-apply.d.ts.map +1 -0
- package/dist/protocol/source-op-apply.js +77 -0
- package/dist/protocol/source-op-apply.js.map +1 -0
- package/dist/protocol/source-op-context.d.ts +35 -0
- package/dist/protocol/source-op-context.d.ts.map +1 -0
- package/dist/protocol/source-op-context.js +97 -0
- package/dist/protocol/source-op-context.js.map +1 -0
- package/dist/protocol/source-op-hash.d.ts +36 -0
- package/dist/protocol/source-op-hash.d.ts.map +1 -0
- package/dist/protocol/source-op-hash.js +181 -0
- package/dist/protocol/source-op-hash.js.map +1 -0
- package/dist/protocol/source-op-history.d.ts +10 -0
- package/dist/protocol/source-op-history.d.ts.map +1 -0
- package/dist/protocol/source-op-history.js +85 -0
- package/dist/protocol/source-op-history.js.map +1 -0
- package/dist/protocol/source-op-index.d.ts +19 -0
- package/dist/protocol/source-op-index.d.ts.map +1 -0
- package/dist/protocol/source-op-index.js +53 -0
- package/dist/protocol/source-op-index.js.map +1 -0
- package/dist/protocol/source-op-parse.d.ts +11 -0
- package/dist/protocol/source-op-parse.d.ts.map +1 -0
- package/dist/protocol/source-op-parse.js +138 -0
- package/dist/protocol/source-op-parse.js.map +1 -0
- package/dist/protocol/source-op-preservation.d.ts +11 -0
- package/dist/protocol/source-op-preservation.d.ts.map +1 -0
- package/dist/protocol/source-op-preservation.js +47 -0
- package/dist/protocol/source-op-preservation.js.map +1 -0
- package/dist/protocol/source-op-render.d.ts +17 -0
- package/dist/protocol/source-op-render.d.ts.map +1 -0
- package/dist/protocol/source-op-render.js +116 -0
- package/dist/protocol/source-op-render.js.map +1 -0
- package/dist/protocol/source-op-types.d.ts +51 -0
- package/dist/protocol/source-op-types.d.ts.map +1 -0
- package/dist/protocol/source-op-types.js +2 -0
- package/dist/protocol/source-op-types.js.map +1 -0
- package/dist/protocol/source-quote-selector.d.ts +12 -0
- package/dist/protocol/source-quote-selector.d.ts.map +1 -0
- package/dist/protocol/source-quote-selector.js +29 -0
- package/dist/protocol/source-quote-selector.js.map +1 -0
- package/dist/protocol/source-ranges.d.ts +11 -0
- package/dist/protocol/source-ranges.d.ts.map +1 -0
- package/dist/protocol/source-ranges.js +37 -0
- package/dist/protocol/source-ranges.js.map +1 -0
- package/dist/protocol/source-read-html-navigation.d.ts +12 -0
- package/dist/protocol/source-read-html-navigation.d.ts.map +1 -0
- package/dist/protocol/source-read-html-navigation.js +76 -0
- package/dist/protocol/source-read-html-navigation.js.map +1 -0
- package/dist/protocol/source-read-html-tokens.d.ts +12 -0
- package/dist/protocol/source-read-html-tokens.d.ts.map +1 -0
- package/dist/protocol/source-read-html-tokens.js +58 -0
- package/dist/protocol/source-read-html-tokens.js.map +1 -0
- package/dist/protocol/source-read-landmarks.d.ts +24 -0
- package/dist/protocol/source-read-landmarks.d.ts.map +1 -0
- package/dist/protocol/source-read-landmarks.js +73 -0
- package/dist/protocol/source-read-landmarks.js.map +1 -0
- package/dist/protocol/source-read-markdown-blocks.d.ts +4 -0
- package/dist/protocol/source-read-markdown-blocks.d.ts.map +1 -0
- package/dist/protocol/source-read-markdown-blocks.js +87 -0
- package/dist/protocol/source-read-markdown-blocks.js.map +1 -0
- package/dist/protocol/source-read-markdown-inline.d.ts +4 -0
- package/dist/protocol/source-read-markdown-inline.d.ts.map +1 -0
- package/dist/protocol/source-read-markdown-inline.js +63 -0
- package/dist/protocol/source-read-markdown-inline.js.map +1 -0
- package/dist/protocol/source-read-markdown-state.d.ts +33 -0
- package/dist/protocol/source-read-markdown-state.d.ts.map +1 -0
- package/dist/protocol/source-read-markdown-state.js +79 -0
- package/dist/protocol/source-read-markdown-state.js.map +1 -0
- package/dist/protocol/source-read-markdown-tables.d.ts +4 -0
- package/dist/protocol/source-read-markdown-tables.d.ts.map +1 -0
- package/dist/protocol/source-read-markdown-tables.js +68 -0
- package/dist/protocol/source-read-markdown-tables.js.map +1 -0
- package/dist/protocol/source-read-markdown-text.d.ts +8 -0
- package/dist/protocol/source-read-markdown-text.d.ts.map +1 -0
- package/dist/protocol/source-read-markdown-text.js +42 -0
- package/dist/protocol/source-read-markdown-text.js.map +1 -0
- package/dist/protocol/source-read-markdown.d.ts +9 -0
- package/dist/protocol/source-read-markdown.d.ts.map +1 -0
- package/dist/protocol/source-read-markdown.js +106 -0
- package/dist/protocol/source-read-markdown.js.map +1 -0
- package/dist/protocol/source-read-spine.d.ts +33 -0
- package/dist/protocol/source-read-spine.d.ts.map +1 -0
- package/dist/protocol/source-read-spine.js +94 -0
- package/dist/protocol/source-read-spine.js.map +1 -0
- package/dist/protocol/source-reflow.d.ts +7 -0
- package/dist/protocol/source-reflow.d.ts.map +1 -0
- package/dist/protocol/source-reflow.js +127 -0
- package/dist/protocol/source-reflow.js.map +1 -0
- package/dist/protocol/source-stamp.d.ts +22 -0
- package/dist/protocol/source-stamp.d.ts.map +1 -0
- package/dist/protocol/source-stamp.js +52 -0
- package/dist/protocol/source-stamp.js.map +1 -0
- package/dist/protocol/source-stamped-sync.d.ts +11 -0
- package/dist/protocol/source-stamped-sync.d.ts.map +1 -0
- package/dist/protocol/source-stamped-sync.js +238 -0
- package/dist/protocol/source-stamped-sync.js.map +1 -0
- package/dist/protocol/source-structural-apply.d.ts +5 -0
- package/dist/protocol/source-structural-apply.d.ts.map +1 -0
- package/dist/protocol/source-structural-apply.js +59 -0
- package/dist/protocol/source-structural-apply.js.map +1 -0
- package/dist/protocol/source-structural-backfill-parts.d.ts +25 -0
- package/dist/protocol/source-structural-backfill-parts.d.ts.map +1 -0
- package/dist/protocol/source-structural-backfill-parts.js +85 -0
- package/dist/protocol/source-structural-backfill-parts.js.map +1 -0
- package/dist/protocol/source-structural-backfill-rules.d.ts +9 -0
- package/dist/protocol/source-structural-backfill-rules.d.ts.map +1 -0
- package/dist/protocol/source-structural-backfill-rules.js +94 -0
- package/dist/protocol/source-structural-backfill-rules.js.map +1 -0
- package/dist/protocol/source-structural-backfill.d.ts +7 -0
- package/dist/protocol/source-structural-backfill.d.ts.map +1 -0
- package/dist/protocol/source-structural-backfill.js +79 -0
- package/dist/protocol/source-structural-backfill.js.map +1 -0
- package/dist/protocol/source-structural-gap.d.ts +5 -0
- package/dist/protocol/source-structural-gap.d.ts.map +1 -0
- package/dist/protocol/source-structural-gap.js +21 -0
- package/dist/protocol/source-structural-gap.js.map +1 -0
- package/dist/protocol/source-structural-inspect.d.ts +5 -0
- package/dist/protocol/source-structural-inspect.d.ts.map +1 -0
- package/dist/protocol/source-structural-inspect.js +137 -0
- package/dist/protocol/source-structural-inspect.js.map +1 -0
- package/dist/protocol/source-structural-order.d.ts +22 -0
- package/dist/protocol/source-structural-order.d.ts.map +1 -0
- package/dist/protocol/source-structural-order.js +128 -0
- package/dist/protocol/source-structural-order.js.map +1 -0
- package/dist/protocol/source-structural-size.d.ts +14 -0
- package/dist/protocol/source-structural-size.d.ts.map +1 -0
- package/dist/protocol/source-structural-size.js +99 -0
- package/dist/protocol/source-structural-size.js.map +1 -0
- package/dist/protocol/source-structural-spacing.d.ts +10 -0
- package/dist/protocol/source-structural-spacing.d.ts.map +1 -0
- package/dist/protocol/source-structural-spacing.js +55 -0
- package/dist/protocol/source-structural-spacing.js.map +1 -0
- package/dist/protocol/source-structural-targets.d.ts +8 -0
- package/dist/protocol/source-structural-targets.d.ts.map +1 -0
- package/dist/protocol/source-structural-targets.js +55 -0
- package/dist/protocol/source-structural-targets.js.map +1 -0
- package/dist/protocol/source-structural-types.d.ts +120 -0
- package/dist/protocol/source-structural-types.d.ts.map +1 -0
- package/dist/protocol/source-structural-types.js +3 -0
- package/dist/protocol/source-structural-types.js.map +1 -0
- package/dist/protocol/source-style.d.ts +15 -0
- package/dist/protocol/source-style.d.ts.map +1 -0
- package/dist/protocol/source-style.js +130 -0
- package/dist/protocol/source-style.js.map +1 -0
- package/dist/protocol/source-tags.d.ts +6 -0
- package/dist/protocol/source-tags.d.ts.map +1 -0
- package/dist/protocol/source-tags.js +5 -0
- package/dist/protocol/source-tags.js.map +1 -0
- package/dist/protocol/source-text-index.d.ts +22 -0
- package/dist/protocol/source-text-index.d.ts.map +1 -0
- package/dist/protocol/source-text-index.js +95 -0
- package/dist/protocol/source-text-index.js.map +1 -0
- package/dist/protocol/source-text-range.d.ts +9 -0
- package/dist/protocol/source-text-range.d.ts.map +1 -0
- package/dist/protocol/source-text-range.js +55 -0
- package/dist/protocol/source-text-range.js.map +1 -0
- package/dist/protocol/source-text-segments.d.ts +27 -0
- package/dist/protocol/source-text-segments.d.ts.map +1 -0
- package/dist/protocol/source-text-segments.js +65 -0
- package/dist/protocol/source-text-segments.js.map +1 -0
- package/dist/protocol/source-text.d.ts +9 -0
- package/dist/protocol/source-text.d.ts.map +1 -0
- package/dist/protocol/source-text.js +72 -0
- package/dist/protocol/source-text.js.map +1 -0
- package/dist/protocol/source-video-attributes.d.ts +5 -0
- package/dist/protocol/source-video-attributes.d.ts.map +1 -0
- package/dist/protocol/source-video-attributes.js +29 -0
- package/dist/protocol/source-video-attributes.js.map +1 -0
- package/dist/protocol/source-video-edits.d.ts +4 -0
- package/dist/protocol/source-video-edits.d.ts.map +1 -0
- package/dist/protocol/source-video-edits.js +85 -0
- package/dist/protocol/source-video-edits.js.map +1 -0
- package/dist/protocol/source-video-id.d.ts +4 -0
- package/dist/protocol/source-video-id.d.ts.map +1 -0
- package/dist/protocol/source-video-id.js +9 -0
- package/dist/protocol/source-video-id.js.map +1 -0
- package/dist/protocol/source-video.d.ts +38 -0
- package/dist/protocol/source-video.d.ts.map +1 -0
- package/dist/protocol/source-video.js +116 -0
- package/dist/protocol/source-video.js.map +1 -0
- package/dist/protocol/source.d.ts +47 -0
- package/dist/protocol/source.d.ts.map +1 -0
- package/dist/protocol/source.js +45 -0
- package/dist/protocol/source.js.map +1 -0
- package/dist/protocol/state-apply.d.ts +22 -0
- package/dist/protocol/state-apply.d.ts.map +1 -0
- package/dist/protocol/state-apply.js +13 -0
- package/dist/protocol/state-apply.js.map +1 -0
- package/dist/protocol/state-limits.d.ts +10 -0
- package/dist/protocol/state-limits.d.ts.map +1 -0
- package/dist/protocol/state-limits.js +11 -0
- package/dist/protocol/state-limits.js.map +1 -0
- package/dist/protocol/state.d.ts +60 -0
- package/dist/protocol/state.d.ts.map +1 -0
- package/dist/protocol/state.js +56 -0
- package/dist/protocol/state.js.map +1 -0
- package/dist/protocol/text.d.ts +9 -0
- package/dist/protocol/text.d.ts.map +1 -0
- package/dist/protocol/text.js +72 -0
- package/dist/protocol/text.js.map +1 -0
- package/dist/protocol/tools.d.ts +81 -0
- package/dist/protocol/tools.d.ts.map +1 -0
- package/dist/protocol/tools.js +29 -0
- package/dist/protocol/tools.js.map +1 -0
- package/dist/protocol/viewer.d.ts +21 -0
- package/dist/protocol/viewer.d.ts.map +1 -0
- package/dist/protocol/viewer.js +18 -0
- package/dist/protocol/viewer.js.map +1 -0
- package/dist/react/artifact-list.d.ts +17 -0
- package/dist/react/artifact-list.d.ts.map +1 -0
- package/dist/react/artifact-list.js +121 -0
- package/dist/react/artifact-list.js.map +1 -0
- package/dist/react/comment-body.d.ts +5 -0
- package/dist/react/comment-body.d.ts.map +1 -0
- package/dist/react/comment-body.js +14 -0
- package/dist/react/comment-body.js.map +1 -0
- package/dist/react/comment-input.d.ts +18 -0
- package/dist/react/comment-input.d.ts.map +1 -0
- package/dist/react/comment-input.js +74 -0
- package/dist/react/comment-input.js.map +1 -0
- package/dist/react/composer.d.ts +10 -0
- package/dist/react/composer.d.ts.map +1 -0
- package/dist/react/composer.js +42 -0
- package/dist/react/composer.js.map +1 -0
- package/dist/react/context.d.ts +57 -0
- package/dist/react/context.d.ts.map +1 -0
- package/dist/react/context.js +11 -0
- package/dist/react/context.js.map +1 -0
- package/dist/react/cursors.d.ts +3 -0
- package/dist/react/cursors.d.ts.map +1 -0
- package/dist/react/cursors.js +8 -0
- package/dist/react/cursors.js.map +1 -0
- package/dist/react/edit-controls.d.ts +4 -0
- package/dist/react/edit-controls.d.ts.map +1 -0
- package/dist/react/edit-controls.js +29 -0
- package/dist/react/edit-controls.js.map +1 -0
- package/dist/react/editing-actions.d.ts +44 -0
- package/dist/react/editing-actions.d.ts.map +1 -0
- package/dist/react/editing-actions.js +129 -0
- package/dist/react/editing-actions.js.map +1 -0
- package/dist/react/history.css +79 -0
- package/dist/react/index.d.ts +20 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +19 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/labels.d.ts +124 -0
- package/dist/react/labels.d.ts.map +1 -0
- package/dist/react/labels.js +115 -0
- package/dist/react/labels.js.map +1 -0
- package/dist/react/layout-surface.d.ts +29 -0
- package/dist/react/layout-surface.d.ts.map +1 -0
- package/dist/react/layout-surface.js +111 -0
- package/dist/react/layout-surface.js.map +1 -0
- package/dist/react/mention-list.d.ts +12 -0
- package/dist/react/mention-list.d.ts.map +1 -0
- package/dist/react/mention-list.js +16 -0
- package/dist/react/mention-list.js.map +1 -0
- package/dist/react/native-stage.d.ts +8 -0
- package/dist/react/native-stage.d.ts.map +1 -0
- package/dist/react/native-stage.js +41 -0
- package/dist/react/native-stage.js.map +1 -0
- package/dist/react/overlays.css +43 -0
- package/dist/react/panel.css +488 -0
- package/dist/react/panel.d.ts +26 -0
- package/dist/react/panel.d.ts.map +1 -0
- package/dist/react/panel.js +101 -0
- package/dist/react/panel.js.map +1 -0
- package/dist/react/presence.d.ts +3 -0
- package/dist/react/presence.d.ts.map +1 -0
- package/dist/react/presence.js +23 -0
- package/dist/react/presence.js.map +1 -0
- package/dist/react/present-button.d.ts +3 -0
- package/dist/react/present-button.d.ts.map +1 -0
- package/dist/react/present-button.js +14 -0
- package/dist/react/present-button.js.map +1 -0
- package/dist/react/provider.d.ts +22 -0
- package/dist/react/provider.d.ts.map +1 -0
- package/dist/react/provider.js +163 -0
- package/dist/react/provider.js.map +1 -0
- package/dist/react/rail-layout.d.ts +10 -0
- package/dist/react/rail-layout.d.ts.map +1 -0
- package/dist/react/rail-layout.js +32 -0
- package/dist/react/rail-layout.js.map +1 -0
- package/dist/react/rail.d.ts +10 -0
- package/dist/react/rail.d.ts.map +1 -0
- package/dist/react/rail.js +38 -0
- package/dist/react/rail.js.map +1 -0
- package/dist/react/role-badge.d.ts +17 -0
- package/dist/react/role-badge.d.ts.map +1 -0
- package/dist/react/role-badge.js +26 -0
- package/dist/react/role-badge.js.map +1 -0
- package/dist/react/selection-button.d.ts +3 -0
- package/dist/react/selection-button.d.ts.map +1 -0
- package/dist/react/selection-button.js +14 -0
- package/dist/react/selection-button.js.map +1 -0
- package/dist/react/sharing-panel.d.ts +8 -0
- package/dist/react/sharing-panel.d.ts.map +1 -0
- package/dist/react/sharing-panel.js +105 -0
- package/dist/react/sharing-panel.js.map +1 -0
- package/dist/react/slide-navigator.css +164 -0
- package/dist/react/slide-navigator.d.ts +5 -0
- package/dist/react/slide-navigator.d.ts.map +1 -0
- package/dist/react/slide-navigator.js +120 -0
- package/dist/react/slide-navigator.js.map +1 -0
- package/dist/react/stage.css +84 -0
- package/dist/react/stage.d.ts +13 -0
- package/dist/react/stage.d.ts.map +1 -0
- package/dist/react/stage.js +176 -0
- package/dist/react/stage.js.map +1 -0
- package/dist/react/styles.css +374 -0
- package/dist/react/thread-card.d.ts +8 -0
- package/dist/react/thread-card.d.ts.map +1 -0
- package/dist/react/thread-card.js +75 -0
- package/dist/react/thread-card.js.map +1 -0
- package/dist/react/time.d.ts +7 -0
- package/dist/react/time.d.ts.map +1 -0
- package/dist/react/time.js +19 -0
- package/dist/react/time.js.map +1 -0
- package/dist/react/tokens.css +58 -0
- package/dist/react/use-actions.d.ts +27 -0
- package/dist/react/use-actions.d.ts.map +1 -0
- package/dist/react/use-actions.js +91 -0
- package/dist/react/use-actions.js.map +1 -0
- package/dist/react/use-editing.d.ts +28 -0
- package/dist/react/use-editing.d.ts.map +1 -0
- package/dist/react/use-editing.js +70 -0
- package/dist/react/use-editing.js.map +1 -0
- package/dist/react/use-latest.d.ts +4 -0
- package/dist/react/use-latest.d.ts.map +1 -0
- package/dist/react/use-latest.js +11 -0
- package/dist/react/use-latest.js.map +1 -0
- package/dist/react/use-live.d.ts +58 -0
- package/dist/react/use-live.d.ts.map +1 -0
- package/dist/react/use-live.js +42 -0
- package/dist/react/use-live.js.map +1 -0
- package/dist/react/use-mention-picker.d.ts +18 -0
- package/dist/react/use-mention-picker.d.ts.map +1 -0
- package/dist/react/use-mention-picker.js +66 -0
- package/dist/react/use-mention-picker.js.map +1 -0
- package/dist/react/use-presence-sender.d.ts +4 -0
- package/dist/react/use-presence-sender.d.ts.map +1 -0
- package/dist/react/use-presence-sender.js +27 -0
- package/dist/react/use-presence-sender.js.map +1 -0
- package/dist/react/use-presenting.d.ts +26 -0
- package/dist/react/use-presenting.d.ts.map +1 -0
- package/dist/react/use-presenting.js +118 -0
- package/dist/react/use-presenting.js.map +1 -0
- package/dist/react/use-rail-layout.d.ts +13 -0
- package/dist/react/use-rail-layout.d.ts.map +1 -0
- package/dist/react/use-rail-layout.js +38 -0
- package/dist/react/use-rail-layout.js.map +1 -0
- package/dist/react/use-sharing.d.ts +27 -0
- package/dist/react/use-sharing.d.ts.map +1 -0
- package/dist/react/use-sharing.js +93 -0
- package/dist/react/use-sharing.js.map +1 -0
- package/dist/react/version-history.d.ts +12 -0
- package/dist/react/version-history.d.ts.map +1 -0
- package/dist/react/version-history.js +81 -0
- package/dist/react/version-history.js.map +1 -0
- package/dist/runtime/anchoring.d.ts +17 -0
- package/dist/runtime/anchoring.d.ts.map +1 -0
- package/dist/runtime/anchoring.js +258 -0
- package/dist/runtime/anchoring.js.map +1 -0
- package/dist/runtime/assets.d.ts +6 -0
- package/dist/runtime/assets.js +3 -0
- package/dist/runtime/connection.d.ts +32 -0
- package/dist/runtime/connection.d.ts.map +1 -0
- package/dist/runtime/connection.js +27 -0
- package/dist/runtime/connection.js.map +1 -0
- package/dist/runtime/editing.d.ts +10 -0
- package/dist/runtime/editing.d.ts.map +1 -0
- package/dist/runtime/editing.js +170 -0
- package/dist/runtime/editing.js.map +1 -0
- package/dist/runtime/geometry.d.ts +4 -0
- package/dist/runtime/geometry.d.ts.map +1 -0
- package/dist/runtime/geometry.js +8 -0
- package/dist/runtime/geometry.js.map +1 -0
- package/dist/runtime/highlights.d.ts +2 -0
- package/dist/runtime/highlights.d.ts.map +1 -0
- package/dist/runtime/highlights.js +29 -0
- package/dist/runtime/highlights.js.map +1 -0
- package/dist/runtime/index.d.ts +6 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +4 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/layout-handle.d.ts +33 -0
- package/dist/runtime/layout-handle.d.ts.map +1 -0
- package/dist/runtime/layout-handle.js +218 -0
- package/dist/runtime/layout-handle.js.map +1 -0
- package/dist/runtime/layout.d.ts +27 -0
- package/dist/runtime/layout.d.ts.map +1 -0
- package/dist/runtime/layout.js +290 -0
- package/dist/runtime/layout.js.map +1 -0
- package/dist/runtime/presence.d.ts +5 -0
- package/dist/runtime/presence.d.ts.map +1 -0
- package/dist/runtime/presence.js +26 -0
- package/dist/runtime/presence.js.map +1 -0
- package/dist/runtime/runtime.d.ts +31 -0
- package/dist/runtime/runtime.d.ts.map +1 -0
- package/dist/runtime/runtime.entry.d.ts +9 -0
- package/dist/runtime/runtime.entry.d.ts.map +1 -0
- package/dist/runtime/runtime.entry.js +6 -0
- package/dist/runtime/runtime.entry.js.map +1 -0
- package/dist/runtime/runtime.js +189 -0
- package/dist/runtime/runtime.js.map +1 -0
- package/dist/runtime/sandbox/relay.d.ts +2 -0
- package/dist/runtime/sandbox/relay.d.ts.map +1 -0
- package/dist/runtime/sandbox/relay.js +82 -0
- package/dist/runtime/sandbox/relay.js.map +1 -0
- package/dist/runtime/sandbox.entry.d.ts +2 -0
- package/dist/runtime/sandbox.entry.d.ts.map +1 -0
- package/dist/runtime/sandbox.entry.js +3 -0
- package/dist/runtime/sandbox.entry.js.map +1 -0
- package/dist/runtime/shared.d.ts +22 -0
- package/dist/runtime/shared.d.ts.map +1 -0
- package/dist/runtime/shared.js +118 -0
- package/dist/runtime/shared.js.map +1 -0
- package/dist/runtime/slides.d.ts +20 -0
- package/dist/runtime/slides.d.ts.map +1 -0
- package/dist/runtime/slides.js +143 -0
- package/dist/runtime/slides.js.map +1 -0
- package/dist/runtime/source-align.d.ts +12 -0
- package/dist/runtime/source-align.d.ts.map +1 -0
- package/dist/runtime/source-align.js +158 -0
- package/dist/runtime/source-align.js.map +1 -0
- package/dist/runtime/source-attributes.d.ts +34 -0
- package/dist/runtime/source-attributes.d.ts.map +1 -0
- package/dist/runtime/source-attributes.js +51 -0
- package/dist/runtime/source-attributes.js.map +1 -0
- package/dist/runtime/source-copy-origin.d.ts +5 -0
- package/dist/runtime/source-copy-origin.d.ts.map +1 -0
- package/dist/runtime/source-copy-origin.js +28 -0
- package/dist/runtime/source-copy-origin.js.map +1 -0
- package/dist/runtime/source-element-dom-resolve.d.ts +11 -0
- package/dist/runtime/source-element-dom-resolve.d.ts.map +1 -0
- package/dist/runtime/source-element-dom-resolve.js +104 -0
- package/dist/runtime/source-element-dom-resolve.js.map +1 -0
- package/dist/runtime/source-element-dom.d.ts +14 -0
- package/dist/runtime/source-element-dom.d.ts.map +1 -0
- package/dist/runtime/source-element-dom.js +75 -0
- package/dist/runtime/source-element-dom.js.map +1 -0
- package/dist/runtime/source-page.d.ts +32 -0
- package/dist/runtime/source-page.d.ts.map +1 -0
- package/dist/runtime/source-page.js +137 -0
- package/dist/runtime/source-page.js.map +1 -0
- package/dist/runtime/source-patch.d.ts +20 -0
- package/dist/runtime/source-patch.d.ts.map +1 -0
- package/dist/runtime/source-patch.js +94 -0
- package/dist/runtime/source-patch.js.map +1 -0
- package/dist/runtime/source-serialize.d.ts +12 -0
- package/dist/runtime/source-serialize.d.ts.map +1 -0
- package/dist/runtime/source-serialize.js +144 -0
- package/dist/runtime/source-serialize.js.map +1 -0
- package/dist/runtime/source-text-anchor.d.ts +5 -0
- package/dist/runtime/source-text-anchor.d.ts.map +1 -0
- package/dist/runtime/source-text-anchor.js +27 -0
- package/dist/runtime/source-text-anchor.js.map +1 -0
- package/dist/runtime/source-text-dom.d.ts +5 -0
- package/dist/runtime/source-text-dom.d.ts.map +1 -0
- package/dist/runtime/source-text-dom.js +53 -0
- package/dist/runtime/source-text-dom.js.map +1 -0
- package/dist/runtime/source-tokens.d.ts +84 -0
- package/dist/runtime/source-tokens.d.ts.map +1 -0
- package/dist/runtime/source-tokens.js +192 -0
- package/dist/runtime/source-tokens.js.map +1 -0
- package/dist/runtime/source-video-attributes.d.ts +5 -0
- package/dist/runtime/source-video-attributes.d.ts.map +1 -0
- package/dist/runtime/source-video-attributes.js +5 -0
- package/dist/runtime/source-video-attributes.js.map +1 -0
- package/dist/runtime/source-video-controller.d.ts +43 -0
- package/dist/runtime/source-video-controller.d.ts.map +1 -0
- package/dist/runtime/source-video-controller.js +190 -0
- package/dist/runtime/source-video-controller.js.map +1 -0
- package/dist/runtime/source-video-dom.d.ts +3 -0
- package/dist/runtime/source-video-dom.d.ts.map +1 -0
- package/dist/runtime/source-video-dom.js +14 -0
- package/dist/runtime/source-video-dom.js.map +1 -0
- package/dist/runtime/source.d.ts +14 -0
- package/dist/runtime/source.d.ts.map +1 -0
- package/dist/runtime/source.js +13 -0
- package/dist/runtime/source.js.map +1 -0
- package/dist/runtime/state-backend.d.ts +28 -0
- package/dist/runtime/state-backend.d.ts.map +1 -0
- package/dist/runtime/state-backend.js +86 -0
- package/dist/runtime/state-backend.js.map +1 -0
- package/dist/runtime/text-index.d.ts +11 -0
- package/dist/runtime/text-index.d.ts.map +1 -0
- package/dist/runtime/text-index.js +73 -0
- package/dist/runtime/text-index.js.map +1 -0
- package/dist/runtime/theme.d.ts +5 -0
- package/dist/runtime/theme.d.ts.map +1 -0
- package/dist/runtime/theme.js +30 -0
- package/dist/runtime/theme.js.map +1 -0
- package/dist/runtime/viewer.d.ts +5 -0
- package/dist/runtime/viewer.d.ts.map +1 -0
- package/dist/runtime/viewer.entry.d.ts +2 -0
- package/dist/runtime/viewer.entry.d.ts.map +1 -0
- package/dist/runtime/viewer.entry.js +3 -0
- package/dist/runtime/viewer.entry.js.map +1 -0
- package/dist/runtime/viewer.js +62 -0
- package/dist/runtime/viewer.js.map +1 -0
- package/dist/runtime.global.js +142 -0
- package/dist/sandbox.global.js +1 -0
- package/dist/server/adapters/activity.d.ts +4 -0
- package/dist/server/adapters/activity.d.ts.map +1 -0
- package/dist/server/adapters/activity.js +25 -0
- package/dist/server/adapters/activity.js.map +1 -0
- package/dist/server/adapters/kysely/index.d.ts +30 -0
- package/dist/server/adapters/kysely/index.d.ts.map +1 -0
- package/dist/server/adapters/kysely/index.js +31 -0
- package/dist/server/adapters/kysely/index.js.map +1 -0
- package/dist/server/adapters/kysely/schema.d.ts +11 -0
- package/dist/server/adapters/kysely/schema.d.ts.map +1 -0
- package/dist/server/adapters/kysely/schema.js +159 -0
- package/dist/server/adapters/kysely/schema.js.map +1 -0
- package/dist/server/adapters/kysely/sharing.d.ts +5 -0
- package/dist/server/adapters/kysely/sharing.d.ts.map +1 -0
- package/dist/server/adapters/kysely/sharing.js +81 -0
- package/dist/server/adapters/kysely/sharing.js.map +1 -0
- package/dist/server/adapters/kysely/store.d.ts +87 -0
- package/dist/server/adapters/kysely/store.d.ts.map +1 -0
- package/dist/server/adapters/kysely/store.js +328 -0
- package/dist/server/adapters/kysely/store.js.map +1 -0
- package/dist/server/adapters/memory-bus.d.ts +6 -0
- package/dist/server/adapters/memory-bus.d.ts.map +1 -0
- package/dist/server/adapters/memory-bus.js +26 -0
- package/dist/server/adapters/memory-bus.js.map +1 -0
- package/dist/server/adapters/memory-store.d.ts +4 -0
- package/dist/server/adapters/memory-store.d.ts.map +1 -0
- package/dist/server/adapters/memory-store.js +125 -0
- package/dist/server/adapters/memory-store.js.map +1 -0
- package/dist/server/adapters/memory.d.ts +8 -0
- package/dist/server/adapters/memory.d.ts.map +1 -0
- package/dist/server/adapters/memory.js +23 -0
- package/dist/server/adapters/memory.js.map +1 -0
- package/dist/server/adapters/postgres/blobs.d.ts +6 -0
- package/dist/server/adapters/postgres/blobs.d.ts.map +1 -0
- package/dist/server/adapters/postgres/blobs.js +17 -0
- package/dist/server/adapters/postgres/blobs.js.map +1 -0
- package/dist/server/adapters/postgres/bus.d.ts +7 -0
- package/dist/server/adapters/postgres/bus.d.ts.map +1 -0
- package/dist/server/adapters/postgres/bus.js +60 -0
- package/dist/server/adapters/postgres/bus.js.map +1 -0
- package/dist/server/adapters/postgres/client.d.ts +38 -0
- package/dist/server/adapters/postgres/client.d.ts.map +1 -0
- package/dist/server/adapters/postgres/client.js +22 -0
- package/dist/server/adapters/postgres/client.js.map +1 -0
- package/dist/server/adapters/postgres/index.d.ts +29 -0
- package/dist/server/adapters/postgres/index.d.ts.map +1 -0
- package/dist/server/adapters/postgres/index.js +23 -0
- package/dist/server/adapters/postgres/index.js.map +1 -0
- package/dist/server/adapters/postgres/schema.d.ts +10 -0
- package/dist/server/adapters/postgres/schema.d.ts.map +1 -0
- package/dist/server/adapters/postgres/schema.js +111 -0
- package/dist/server/adapters/postgres/schema.js.map +1 -0
- package/dist/server/adapters/postgres/store.d.ts +4 -0
- package/dist/server/adapters/postgres/store.d.ts.map +1 -0
- package/dist/server/adapters/postgres/store.js +189 -0
- package/dist/server/adapters/postgres/store.js.map +1 -0
- package/dist/server/adapters/s3.d.ts +22 -0
- package/dist/server/adapters/s3.d.ts.map +1 -0
- package/dist/server/adapters/s3.js +47 -0
- package/dist/server/adapters/s3.js.map +1 -0
- package/dist/server/adapters/sql-rows.d.ts +26 -0
- package/dist/server/adapters/sql-rows.d.ts.map +1 -0
- package/dist/server/adapters/sql-rows.js +134 -0
- package/dist/server/adapters/sql-rows.js.map +1 -0
- package/dist/server/adapters/sqlite/index.d.ts +9 -0
- package/dist/server/adapters/sqlite/index.d.ts.map +1 -0
- package/dist/server/adapters/sqlite/index.js +30 -0
- package/dist/server/adapters/sqlite/index.js.map +1 -0
- package/dist/server/bin.d.ts +3 -0
- package/dist/server/bin.d.ts.map +1 -0
- package/dist/server/bin.js +7 -0
- package/dist/server/bin.js.map +1 -0
- package/dist/server/cli.d.ts +8 -0
- package/dist/server/cli.d.ts.map +1 -0
- package/dist/server/cli.js +103 -0
- package/dist/server/cli.js.map +1 -0
- package/dist/server/collection-storage.d.ts +55 -0
- package/dist/server/collection-storage.d.ts.map +1 -0
- package/dist/server/collection-storage.js +77 -0
- package/dist/server/collection-storage.js.map +1 -0
- package/dist/server/core/access.d.ts +17 -0
- package/dist/server/core/access.d.ts.map +1 -0
- package/dist/server/core/access.js +61 -0
- package/dist/server/core/access.js.map +1 -0
- package/dist/server/core/artifacts.d.ts +50 -0
- package/dist/server/core/artifacts.d.ts.map +1 -0
- package/dist/server/core/artifacts.js +152 -0
- package/dist/server/core/artifacts.js.map +1 -0
- package/dist/server/core/assets.d.ts +23 -0
- package/dist/server/core/assets.d.ts.map +1 -0
- package/dist/server/core/assets.js +41 -0
- package/dist/server/core/assets.js.map +1 -0
- package/dist/server/core/base64.d.ts +3 -0
- package/dist/server/core/base64.d.ts.map +1 -0
- package/dist/server/core/base64.js +17 -0
- package/dist/server/core/base64.js.map +1 -0
- package/dist/server/core/blobs.d.ts +10 -0
- package/dist/server/core/blobs.d.ts.map +1 -0
- package/dist/server/core/blobs.js +10 -0
- package/dist/server/core/blobs.js.map +1 -0
- package/dist/server/core/errors.d.ts +22 -0
- package/dist/server/core/errors.d.ts.map +1 -0
- package/dist/server/core/errors.js +32 -0
- package/dist/server/core/errors.js.map +1 -0
- package/dist/server/core/export.d.ts +8 -0
- package/dist/server/core/export.d.ts.map +1 -0
- package/dist/server/core/export.js +27 -0
- package/dist/server/core/export.js.map +1 -0
- package/dist/server/core/ids.d.ts +4 -0
- package/dist/server/core/ids.d.ts.map +1 -0
- package/dist/server/core/ids.js +12 -0
- package/dist/server/core/ids.js.map +1 -0
- package/dist/server/core/index.d.ts +36 -0
- package/dist/server/core/index.d.ts.map +1 -0
- package/dist/server/core/index.js +19 -0
- package/dist/server/core/index.js.map +1 -0
- package/dist/server/core/inline-assets.d.ts +6 -0
- package/dist/server/core/inline-assets.d.ts.map +1 -0
- package/dist/server/core/inline-assets.js +43 -0
- package/dist/server/core/inline-assets.js.map +1 -0
- package/dist/server/core/live.d.ts +10 -0
- package/dist/server/core/live.d.ts.map +1 -0
- package/dist/server/core/live.js +73 -0
- package/dist/server/core/live.js.map +1 -0
- package/dist/server/core/source-publication.d.ts +30 -0
- package/dist/server/core/source-publication.d.ts.map +1 -0
- package/dist/server/core/source-publication.js +89 -0
- package/dist/server/core/source-publication.js.map +1 -0
- package/dist/server/core/source.d.ts +16 -0
- package/dist/server/core/source.d.ts.map +1 -0
- package/dist/server/core/source.js +9 -0
- package/dist/server/core/source.js.map +1 -0
- package/dist/server/core/summary.d.ts +12 -0
- package/dist/server/core/summary.d.ts.map +1 -0
- package/dist/server/core/summary.js +40 -0
- package/dist/server/core/summary.js.map +1 -0
- package/dist/server/core/version-reader.d.ts +21 -0
- package/dist/server/core/version-reader.d.ts.map +1 -0
- package/dist/server/core/version-reader.js +49 -0
- package/dist/server/core/version-reader.js.map +1 -0
- package/dist/server/core/views.d.ts +6 -0
- package/dist/server/core/views.d.ts.map +1 -0
- package/dist/server/core/views.js +19 -0
- package/dist/server/core/views.js.map +1 -0
- package/dist/server/hosts.d.ts +13 -0
- package/dist/server/hosts.d.ts.map +1 -0
- package/dist/server/hosts.js +11 -0
- package/dist/server/hosts.js.map +1 -0
- package/dist/server/http/app.d.ts +48 -0
- package/dist/server/http/app.d.ts.map +1 -0
- package/dist/server/http/app.js +82 -0
- package/dist/server/http/app.js.map +1 -0
- package/dist/server/http/body.d.ts +5 -0
- package/dist/server/http/body.d.ts.map +1 -0
- package/dist/server/http/body.js +9 -0
- package/dist/server/http/body.js.map +1 -0
- package/dist/server/http/gates.d.ts +26 -0
- package/dist/server/http/gates.d.ts.map +1 -0
- package/dist/server/http/gates.js +43 -0
- package/dist/server/http/gates.js.map +1 -0
- package/dist/server/http/routes/artifacts.d.ts +5 -0
- package/dist/server/http/routes/artifacts.d.ts.map +1 -0
- package/dist/server/http/routes/artifacts.js +75 -0
- package/dist/server/http/routes/artifacts.js.map +1 -0
- package/dist/server/http/routes/events.d.ts +5 -0
- package/dist/server/http/routes/events.d.ts.map +1 -0
- package/dist/server/http/routes/events.js +26 -0
- package/dist/server/http/routes/events.js.map +1 -0
- package/dist/server/http/routes/mcp.d.ts +17 -0
- package/dist/server/http/routes/mcp.d.ts.map +1 -0
- package/dist/server/http/routes/mcp.js +37 -0
- package/dist/server/http/routes/mcp.js.map +1 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +5 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/kit/broadcasts.d.ts +5 -0
- package/dist/server/kit/broadcasts.d.ts.map +1 -0
- package/dist/server/kit/broadcasts.js +10 -0
- package/dist/server/kit/broadcasts.js.map +1 -0
- package/dist/server/kit/events.d.ts +97 -0
- package/dist/server/kit/events.d.ts.map +1 -0
- package/dist/server/kit/events.js +28 -0
- package/dist/server/kit/events.js.map +1 -0
- package/dist/server/kit/observe.d.ts +20 -0
- package/dist/server/kit/observe.d.ts.map +1 -0
- package/dist/server/kit/observe.js +24 -0
- package/dist/server/kit/observe.js.map +1 -0
- package/dist/server/kit/plugin.d.ts +34 -0
- package/dist/server/kit/plugin.d.ts.map +1 -0
- package/dist/server/kit/plugin.js +4 -0
- package/dist/server/kit/plugin.js.map +1 -0
- package/dist/server/kit/tool.d.ts +60 -0
- package/dist/server/kit/tool.d.ts.map +1 -0
- package/dist/server/kit/tool.js +65 -0
- package/dist/server/kit/tool.js.map +1 -0
- package/dist/server/kit/wire.d.ts +9 -0
- package/dist/server/kit/wire.d.ts.map +1 -0
- package/dist/server/kit/wire.js +14 -0
- package/dist/server/kit/wire.js.map +1 -0
- package/dist/server/kit.d.ts +25 -0
- package/dist/server/kit.d.ts.map +1 -0
- package/dist/server/kit.js +18 -0
- package/dist/server/kit.js.map +1 -0
- package/dist/server/mcp/result.d.ts +5 -0
- package/dist/server/mcp/result.d.ts.map +1 -0
- package/dist/server/mcp/result.js +25 -0
- package/dist/server/mcp/result.js.map +1 -0
- package/dist/server/mcp/schema.d.ts +7 -0
- package/dist/server/mcp/schema.d.ts.map +1 -0
- package/dist/server/mcp/schema.js +27 -0
- package/dist/server/mcp/schema.js.map +1 -0
- package/dist/server/mcp/tools.d.ts +35 -0
- package/dist/server/mcp/tools.d.ts.map +1 -0
- package/dist/server/mcp/tools.js +72 -0
- package/dist/server/mcp/tools.js.map +1 -0
- package/dist/server/mcp/viewer.d.ts +17 -0
- package/dist/server/mcp/viewer.d.ts.map +1 -0
- package/dist/server/mcp/viewer.js +47 -0
- package/dist/server/mcp/viewer.js.map +1 -0
- package/dist/server/plugins/comments/index.d.ts +8 -0
- package/dist/server/plugins/comments/index.d.ts.map +1 -0
- package/dist/server/plugins/comments/index.js +79 -0
- package/dist/server/plugins/comments/index.js.map +1 -0
- package/dist/server/plugins/comments/routes.d.ts +6 -0
- package/dist/server/plugins/comments/routes.d.ts.map +1 -0
- package/dist/server/plugins/comments/routes.js +34 -0
- package/dist/server/plugins/comments/routes.js.map +1 -0
- package/dist/server/plugins/comments/service.d.ts +20 -0
- package/dist/server/plugins/comments/service.d.ts.map +1 -0
- package/dist/server/plugins/comments/service.js +66 -0
- package/dist/server/plugins/comments/service.js.map +1 -0
- package/dist/server/plugins/components/catalog.d.ts +15 -0
- package/dist/server/plugins/components/catalog.d.ts.map +1 -0
- package/dist/server/plugins/components/catalog.js +39 -0
- package/dist/server/plugins/components/catalog.js.map +1 -0
- package/dist/server/plugins/components/index.d.ts +21 -0
- package/dist/server/plugins/components/index.d.ts.map +1 -0
- package/dist/server/plugins/components/index.js +35 -0
- package/dist/server/plugins/components/index.js.map +1 -0
- package/dist/server/plugins/components/tags.d.ts +9 -0
- package/dist/server/plugins/components/tags.d.ts.map +1 -0
- package/dist/server/plugins/components/tags.js +22 -0
- package/dist/server/plugins/components/tags.js.map +1 -0
- package/dist/server/plugins/editing/apply.d.ts +9 -0
- package/dist/server/plugins/editing/apply.d.ts.map +1 -0
- package/dist/server/plugins/editing/apply.js +30 -0
- package/dist/server/plugins/editing/apply.js.map +1 -0
- package/dist/server/plugins/editing/index.d.ts +8 -0
- package/dist/server/plugins/editing/index.d.ts.map +1 -0
- package/dist/server/plugins/editing/index.js +48 -0
- package/dist/server/plugins/editing/index.js.map +1 -0
- package/dist/server/plugins/editing/layout.d.ts +4 -0
- package/dist/server/plugins/editing/layout.d.ts.map +1 -0
- package/dist/server/plugins/editing/layout.js +29 -0
- package/dist/server/plugins/editing/layout.js.map +1 -0
- package/dist/server/plugins/editing/source-text.d.ts +10 -0
- package/dist/server/plugins/editing/source-text.d.ts.map +1 -0
- package/dist/server/plugins/editing/source-text.js +10 -0
- package/dist/server/plugins/editing/source-text.js.map +1 -0
- package/dist/server/plugins/editing/source.d.ts +18 -0
- package/dist/server/plugins/editing/source.d.ts.map +1 -0
- package/dist/server/plugins/editing/source.js +15 -0
- package/dist/server/plugins/editing/source.js.map +1 -0
- package/dist/server/plugins/index.d.ts +25 -0
- package/dist/server/plugins/index.d.ts.map +1 -0
- package/dist/server/plugins/index.js +20 -0
- package/dist/server/plugins/index.js.map +1 -0
- package/dist/server/plugins/mcp-auth.d.ts +12 -0
- package/dist/server/plugins/mcp-auth.d.ts.map +1 -0
- package/dist/server/plugins/mcp-auth.js +27 -0
- package/dist/server/plugins/mcp-auth.js.map +1 -0
- package/dist/server/plugins/mentions.d.ts +10 -0
- package/dist/server/plugins/mentions.d.ts.map +1 -0
- package/dist/server/plugins/mentions.js +28 -0
- package/dist/server/plugins/mentions.js.map +1 -0
- package/dist/server/plugins/moderation.d.ts +17 -0
- package/dist/server/plugins/moderation.d.ts.map +1 -0
- package/dist/server/plugins/moderation.js +17 -0
- package/dist/server/plugins/moderation.js.map +1 -0
- package/dist/server/plugins/notifications.d.ts +22 -0
- package/dist/server/plugins/notifications.d.ts.map +1 -0
- package/dist/server/plugins/notifications.js +43 -0
- package/dist/server/plugins/notifications.js.map +1 -0
- package/dist/server/plugins/presence.d.ts +3 -0
- package/dist/server/plugins/presence.d.ts.map +1 -0
- package/dist/server/plugins/presence.js +23 -0
- package/dist/server/plugins/presence.js.map +1 -0
- package/dist/server/plugins/rate-limit.d.ts +18 -0
- package/dist/server/plugins/rate-limit.d.ts.map +1 -0
- package/dist/server/plugins/rate-limit.js +43 -0
- package/dist/server/plugins/rate-limit.js.map +1 -0
- package/dist/server/plugins/state/index.d.ts +10 -0
- package/dist/server/plugins/state/index.d.ts.map +1 -0
- package/dist/server/plugins/state/index.js +66 -0
- package/dist/server/plugins/state/index.js.map +1 -0
- package/dist/server/plugins/state/service.d.ts +21 -0
- package/dist/server/plugins/state/service.d.ts.map +1 -0
- package/dist/server/plugins/state/service.js +65 -0
- package/dist/server/plugins/state/service.js.map +1 -0
- package/dist/server/plugins/webhook.d.ts +17 -0
- package/dist/server/plugins/webhook.d.ts.map +1 -0
- package/dist/server/plugins/webhook.js +54 -0
- package/dist/server/plugins/webhook.js.map +1 -0
- package/dist/server/ports.d.ts +214 -0
- package/dist/server/ports.d.ts.map +1 -0
- package/dist/server/ports.js +22 -0
- package/dist/server/ports.js.map +1 -0
- package/dist/server/sandbox/assets.d.ts +13 -0
- package/dist/server/sandbox/assets.d.ts.map +1 -0
- package/dist/server/sandbox/assets.js +8 -0
- package/dist/server/sandbox/assets.js.map +1 -0
- package/dist/server/sandbox/csp.d.ts +5 -0
- package/dist/server/sandbox/csp.d.ts.map +1 -0
- package/dist/server/sandbox/csp.js +29 -0
- package/dist/server/sandbox/csp.js.map +1 -0
- package/dist/server/sandbox/inject.d.ts +9 -0
- package/dist/server/sandbox/inject.d.ts.map +1 -0
- package/dist/server/sandbox/inject.js +42 -0
- package/dist/server/sandbox/inject.js.map +1 -0
- package/dist/server/sandbox/server.d.ts +17 -0
- package/dist/server/sandbox/server.d.ts.map +1 -0
- package/dist/server/sandbox/server.js +63 -0
- package/dist/server/sandbox/server.js.map +1 -0
- package/dist/server/sharing/index.d.ts +41 -0
- package/dist/server/sharing/index.d.ts.map +1 -0
- package/dist/server/sharing/index.js +150 -0
- package/dist/server/sharing/index.js.map +1 -0
- package/dist/server/sharing/postgres.d.ts +13 -0
- package/dist/server/sharing/postgres.d.ts.map +1 -0
- package/dist/server/sharing/postgres.js +87 -0
- package/dist/server/sharing/postgres.js.map +1 -0
- package/dist/server/sharing/store.d.ts +23 -0
- package/dist/server/sharing/store.d.ts.map +1 -0
- package/dist/server/sharing/store.js +38 -0
- package/dist/server/sharing/store.js.map +1 -0
- package/dist/server/source.d.ts +8 -0
- package/dist/server/source.d.ts.map +1 -0
- package/dist/server/source.js +6 -0
- package/dist/server/source.js.map +1 -0
- package/dist/server/testing.d.ts +17 -0
- package/dist/server/testing.d.ts.map +1 -0
- package/dist/server/testing.js +287 -0
- package/dist/server/testing.js.map +1 -0
- package/dist/viewer.global.js +150 -0
- package/package.json +204 -3
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { DecodingMode, decodeHTML } from "entities/decode";
|
|
2
|
+
import { normWs } from "./source-anchors.js";
|
|
3
|
+
import { RAW_TEXT_ELEMENTS, RCDATA_ELEMENTS, walkHtmlTags } from "./source-html.js";
|
|
4
|
+
import { attrValue } from "./source-html-attributes.js";
|
|
5
|
+
import { projectPageText } from "./source-text.js";
|
|
6
|
+
const TEXT_CAP = 4000;
|
|
7
|
+
const BLOCKS = new Set([
|
|
8
|
+
"address",
|
|
9
|
+
"article",
|
|
10
|
+
"aside",
|
|
11
|
+
"blockquote",
|
|
12
|
+
"details",
|
|
13
|
+
"div",
|
|
14
|
+
"dl",
|
|
15
|
+
"fieldset",
|
|
16
|
+
"figcaption",
|
|
17
|
+
"figure",
|
|
18
|
+
"footer",
|
|
19
|
+
"form",
|
|
20
|
+
"h1",
|
|
21
|
+
"h2",
|
|
22
|
+
"h3",
|
|
23
|
+
"h4",
|
|
24
|
+
"h5",
|
|
25
|
+
"h6",
|
|
26
|
+
"header",
|
|
27
|
+
"hr",
|
|
28
|
+
"main",
|
|
29
|
+
"menu",
|
|
30
|
+
"nav",
|
|
31
|
+
"ol",
|
|
32
|
+
"p",
|
|
33
|
+
"pre",
|
|
34
|
+
"section",
|
|
35
|
+
"table",
|
|
36
|
+
"ul",
|
|
37
|
+
]);
|
|
38
|
+
const CLOSES = {
|
|
39
|
+
li: new Set(["li"]),
|
|
40
|
+
dt: new Set(["dt", "dd"]),
|
|
41
|
+
dd: new Set(["dt", "dd"]),
|
|
42
|
+
td: new Set(["td", "th", "tr"]),
|
|
43
|
+
th: new Set(["td", "th", "tr"]),
|
|
44
|
+
tr: new Set(["tr"]),
|
|
45
|
+
option: new Set(["option", "optgroup"]),
|
|
46
|
+
thead: new Set(["tbody", "tfoot"]),
|
|
47
|
+
tbody: new Set(["tbody", "tfoot"]),
|
|
48
|
+
};
|
|
49
|
+
const SKIP = new Set([
|
|
50
|
+
"html",
|
|
51
|
+
"head",
|
|
52
|
+
"body",
|
|
53
|
+
"script",
|
|
54
|
+
"style",
|
|
55
|
+
"meta",
|
|
56
|
+
"link",
|
|
57
|
+
"title",
|
|
58
|
+
"base",
|
|
59
|
+
"noscript",
|
|
60
|
+
"template",
|
|
61
|
+
]);
|
|
62
|
+
const KEEP = [
|
|
63
|
+
"src",
|
|
64
|
+
"href",
|
|
65
|
+
"alt",
|
|
66
|
+
"title",
|
|
67
|
+
"aria-label",
|
|
68
|
+
"role",
|
|
69
|
+
"name",
|
|
70
|
+
"data-derive-slide",
|
|
71
|
+
"data-derive-id",
|
|
72
|
+
"data-derive-review-id",
|
|
73
|
+
"data-derive-review-kind",
|
|
74
|
+
"data-derive-review-label",
|
|
75
|
+
];
|
|
76
|
+
const finish = (frame) => {
|
|
77
|
+
if (frame)
|
|
78
|
+
frame.element.text = normWs(frame.parts.join(""));
|
|
79
|
+
};
|
|
80
|
+
const append = (scan, text) => {
|
|
81
|
+
for (const frame of scan.open) {
|
|
82
|
+
if (frame.length >= TEXT_CAP)
|
|
83
|
+
continue;
|
|
84
|
+
const part = text.slice(0, TEXT_CAP - frame.length);
|
|
85
|
+
frame.parts.push(part);
|
|
86
|
+
frame.length += part.length;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const close = (scan, name) => {
|
|
90
|
+
const at = scan.open.findLastIndex((frame) => frame.element.tag === name);
|
|
91
|
+
if (at >= 0)
|
|
92
|
+
while (scan.open.length > at)
|
|
93
|
+
finish(scan.open.pop());
|
|
94
|
+
};
|
|
95
|
+
const closeImplicit = (scan, name) => {
|
|
96
|
+
while (scan.open.length) {
|
|
97
|
+
const top = scan.open.at(-1)?.element.tag ?? "";
|
|
98
|
+
const closes = top === "p" ? BLOCKS : CLOSES[top];
|
|
99
|
+
if (!closes?.has(name))
|
|
100
|
+
return;
|
|
101
|
+
finish(scan.open.pop());
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
const attributesOf = (raw) => Object.fromEntries([...KEEP, "id", "class"].flatMap((name) => {
|
|
105
|
+
const value = attrValue(raw, name);
|
|
106
|
+
return value === null ? [] : [[name, decodeHTML(value, DecodingMode.Attribute)]];
|
|
107
|
+
}));
|
|
108
|
+
const add = (scan, tag) => {
|
|
109
|
+
closeImplicit(scan, tag.name);
|
|
110
|
+
const all = attributesOf(tag.attrs);
|
|
111
|
+
const ordinal = scan.counts.get(tag.name) ?? 0;
|
|
112
|
+
scan.counts.set(tag.name, ordinal + 1);
|
|
113
|
+
const element = {
|
|
114
|
+
tag: tag.name,
|
|
115
|
+
id: all["id"] || undefined,
|
|
116
|
+
classes: (all["class"] ?? "").split(/[\t\n\f\r ]+/).filter(Boolean),
|
|
117
|
+
attrs: Object.fromEntries(KEEP.flatMap((name) => {
|
|
118
|
+
const value = all[name];
|
|
119
|
+
return value === undefined ? [] : [[name, value]];
|
|
120
|
+
})),
|
|
121
|
+
text: "",
|
|
122
|
+
ordinal,
|
|
123
|
+
index: scan.out.length,
|
|
124
|
+
parent: scan.open.at(-1)?.element.index ?? -1,
|
|
125
|
+
srcFraction: tag.start / (scan.html.length || 1),
|
|
126
|
+
sourceStart: tag.start,
|
|
127
|
+
sourceEnd: tag.end,
|
|
128
|
+
};
|
|
129
|
+
scan.out.push(element);
|
|
130
|
+
if (!tag.selfClosing)
|
|
131
|
+
scan.open.push({ element, parts: [], length: 0 });
|
|
132
|
+
};
|
|
133
|
+
const gapText = (html, raw) => {
|
|
134
|
+
if (raw === "script" || raw === "style")
|
|
135
|
+
return "";
|
|
136
|
+
if (RAW_TEXT_ELEMENTS.has(raw))
|
|
137
|
+
return html;
|
|
138
|
+
if (RCDATA_ELEMENTS.has(raw))
|
|
139
|
+
return decodeHTML(html, DecodingMode.Legacy);
|
|
140
|
+
// The tag walker already removes real tags. This fragment only needs comment,
|
|
141
|
+
// declaration, and entity handling. It introduces no inter-element separators.
|
|
142
|
+
return projectPageText(html, [], false).text;
|
|
143
|
+
};
|
|
144
|
+
const releaseScopes = (hidden, starts) => {
|
|
145
|
+
for (const start of starts)
|
|
146
|
+
hidden.delete(start);
|
|
147
|
+
};
|
|
148
|
+
const finishOpen = (frames) => {
|
|
149
|
+
for (const frame of frames)
|
|
150
|
+
finish(frame);
|
|
151
|
+
};
|
|
152
|
+
/** Source descriptors use the common HTML scanner and browser entity decoder. */
|
|
153
|
+
export const scanElements = (html) => {
|
|
154
|
+
const scan = { html, out: [], open: [], counts: new Map() };
|
|
155
|
+
const hidden = new Set();
|
|
156
|
+
let from = 0;
|
|
157
|
+
let raw = "";
|
|
158
|
+
for (const tag of walkHtmlTags(html)) {
|
|
159
|
+
if (!hidden.size)
|
|
160
|
+
append(scan, gapText(html.slice(from, tag.start), raw));
|
|
161
|
+
from = tag.end;
|
|
162
|
+
raw = "";
|
|
163
|
+
releaseScopes(hidden, tag.closedOpenStarts);
|
|
164
|
+
if (tag.closing) {
|
|
165
|
+
if (!hidden.size)
|
|
166
|
+
close(scan, tag.name);
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
if (tag.namespace === "html" && ["head", "template", "noscript"].includes(tag.name))
|
|
170
|
+
hidden.add(tag.start);
|
|
171
|
+
if (RAW_TEXT_ELEMENTS.has(tag.name) || RCDATA_ELEMENTS.has(tag.name))
|
|
172
|
+
raw = tag.name;
|
|
173
|
+
if (!hidden.size && !SKIP.has(tag.name))
|
|
174
|
+
add(scan, tag);
|
|
175
|
+
}
|
|
176
|
+
if (!hidden.size)
|
|
177
|
+
append(scan, gapText(html.slice(from), raw));
|
|
178
|
+
finishOpen(scan.open);
|
|
179
|
+
return scan.out;
|
|
180
|
+
};
|
|
181
|
+
//# sourceMappingURL=source-element-scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-element-scan.js","sourceRoot":"","sources":["../../src/protocol/source-element-scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ConfidenceBand, ElementDescriptor, ElementMatch, ElementSelector } from "./source-element-types.js";
|
|
2
|
+
export interface MatchCounts {
|
|
3
|
+
fpMatches: number;
|
|
4
|
+
idMatches: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const scoreElement: (selector: ElementSelector, elements: ElementDescriptor[], index: number, counts: MatchCounts) => ElementMatch | null;
|
|
7
|
+
/** Shared content or conflicting identity signals cannot claim a certain match. */
|
|
8
|
+
export declare const gradeElement: (match: ElementMatch, counts: MatchCounts, margin: number) => {
|
|
9
|
+
band: ConfidenceBand;
|
|
10
|
+
confidence: number;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=source-element-score.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-element-score.d.ts","sourceRoot":"","sources":["../../src/protocol/source-element-score.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EAChB,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AA2DD,eAAO,MAAM,YAAY,aACb,eAAe,YACf,iBAAiB,EAAE,SACtB,MAAM,UACL,WAAW,KAClB,YAAY,GAAG,IAWjB,CAAA;AAYD,mFAAmF;AACnF,eAAO,MAAM,YAAY,UAChB,YAAY,UACX,WAAW,UACX,MAAM,KACb;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAc5C,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { neighborAgrees, neighborText } from "./source-element-neighbors.js";
|
|
2
|
+
import { fingerprintOf } from "./source-element-properties.js";
|
|
3
|
+
const identityScore = (selector, element, score) => {
|
|
4
|
+
if (selector.id) {
|
|
5
|
+
score.possible += 5;
|
|
6
|
+
if (element.id === selector.id) {
|
|
7
|
+
score.points += 5;
|
|
8
|
+
score.signals.push("id");
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
score.possible += 5;
|
|
12
|
+
if (fingerprintOf(element) === selector.fingerprint) {
|
|
13
|
+
score.points += 5;
|
|
14
|
+
score.signals.push("content");
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const ordinalScore = (selector, element, score) => {
|
|
18
|
+
score.possible += 3;
|
|
19
|
+
if (element.tag !== selector.tag)
|
|
20
|
+
return;
|
|
21
|
+
if (element.ordinal === selector.ordinal) {
|
|
22
|
+
score.points += 3;
|
|
23
|
+
score.signals.push("position");
|
|
24
|
+
}
|
|
25
|
+
else
|
|
26
|
+
score.points += 1;
|
|
27
|
+
};
|
|
28
|
+
const neighborScore = (selector, elements, index, score) => {
|
|
29
|
+
if (!selector.before && !selector.after)
|
|
30
|
+
return;
|
|
31
|
+
const near = neighborText(elements, index);
|
|
32
|
+
for (const side of ["before", "after"]) {
|
|
33
|
+
const wanted = selector[side];
|
|
34
|
+
if (!wanted)
|
|
35
|
+
continue;
|
|
36
|
+
score.possible += 1;
|
|
37
|
+
const actual = near[side];
|
|
38
|
+
if (actual && neighborAgrees(wanted, actual)) {
|
|
39
|
+
score.points += 1;
|
|
40
|
+
score.signals.push(`neighbor:${side}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export const scoreElement = (selector, elements, index, counts) => {
|
|
45
|
+
const element = elements[index];
|
|
46
|
+
if (!element)
|
|
47
|
+
return null;
|
|
48
|
+
const score = { points: 0, possible: 0, signals: [] };
|
|
49
|
+
identityScore(selector, element, score);
|
|
50
|
+
// Repeated content makes its ordinal unreliable after insertions and deletions.
|
|
51
|
+
if (counts.fpMatches <= 1)
|
|
52
|
+
ordinalScore(selector, element, score);
|
|
53
|
+
neighborScore(selector, elements, index, score);
|
|
54
|
+
score.possible += 1;
|
|
55
|
+
score.points += 1 - Math.min(1, Math.abs(element.srcFraction - selector.docFraction));
|
|
56
|
+
return { index, confidence: score.points / score.possible, band: "low", signals: score.signals };
|
|
57
|
+
};
|
|
58
|
+
const identities = (match, counts) => {
|
|
59
|
+
const id = match.signals.includes("id");
|
|
60
|
+
const content = match.signals.includes("content");
|
|
61
|
+
return {
|
|
62
|
+
unique: (id && counts.idMatches === 1) || (content && counts.fpMatches === 1),
|
|
63
|
+
ambiguous: (id && counts.idMatches > 1) || (content && counts.fpMatches > 1),
|
|
64
|
+
conflict: (id && !content && counts.fpMatches > 0) || (content && !id && counts.idMatches > 0),
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
/** Shared content or conflicting identity signals cannot claim a certain match. */
|
|
68
|
+
export const gradeElement = (match, counts, margin) => {
|
|
69
|
+
const identity = identities(match, counts);
|
|
70
|
+
const neighbor = match.signals.some((signal) => signal.startsWith("neighbor"));
|
|
71
|
+
if (identity.ambiguous && !identity.unique && !neighbor)
|
|
72
|
+
return { band: "low", confidence: Math.min(match.confidence, 0.45) };
|
|
73
|
+
if (identity.conflict)
|
|
74
|
+
return { band: "medium", confidence: Math.min(match.confidence, 0.6) };
|
|
75
|
+
if (identity.unique && match.confidence >= 0.6 && margin >= 0.12)
|
|
76
|
+
return { band: "high", confidence: match.confidence };
|
|
77
|
+
if ((identity.unique || neighbor || match.signals.includes("position")) &&
|
|
78
|
+
match.confidence >= 0.5)
|
|
79
|
+
return { band: "medium", confidence: Math.min(match.confidence, 0.75) };
|
|
80
|
+
return { band: "low", confidence: Math.min(match.confidence, 0.5) };
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=source-element-score.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-element-score.js","sourceRoot":"","sources":["../../src/protocol/source-element-score.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ConfidenceBand, ElementDescriptor, ElementMatch, ElementSelector } from "./source-element-types.js";
|
|
2
|
+
/** Agents capture the same persisted selector as the browser for an authored id. */
|
|
3
|
+
export declare const elementSelectorForId: (html: string, id: string) => ElementSelector | null;
|
|
4
|
+
/** Each successful version hop updates identity while retaining the original snapshot. */
|
|
5
|
+
export declare const rederiveSelector: (selector: ElementSelector, element: ElementDescriptor, elements: ElementDescriptor[]) => ElementSelector;
|
|
6
|
+
export interface ForwardWalk {
|
|
7
|
+
resolved: boolean;
|
|
8
|
+
confidence: number;
|
|
9
|
+
band: ConfidenceBand;
|
|
10
|
+
selector: ElementSelector;
|
|
11
|
+
survived: number;
|
|
12
|
+
}
|
|
13
|
+
/** Ordered saved HTML lets an anchor recover through several small changes. */
|
|
14
|
+
export declare const planElementForwardWalk: (start: ElementSelector, versionHtml: string[]) => ForwardWalk;
|
|
15
|
+
/** Preserve the existing selector fields. Hostile scalar fields cannot break a sweep. */
|
|
16
|
+
export declare const parseElementSelector: (json: string | null) => ElementSelector | null;
|
|
17
|
+
export declare const isElementAnchor: (json: string | null) => boolean;
|
|
18
|
+
export declare const elementResolvesIn: (selector: ElementSelector, html: string) => ElementMatch | null;
|
|
19
|
+
//# sourceMappingURL=source-element-selector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-element-selector.d.ts","sourceRoot":"","sources":["../../src/protocol/source-element-selector.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EAEZ,eAAe,EAEhB,MAAM,2BAA2B,CAAA;AAElC,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,SAAU,MAAM,MAAM,MAAM,KAAG,eAAe,GAAG,IAuBjF,CAAA;AAED,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,aACjB,eAAe,WAChB,iBAAiB,YAChB,iBAAiB,EAAE,KAC5B,eAYF,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,eAAe,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,UAC1B,eAAe,eACT,MAAM,EAAE,KACpB,WAoBF,CAAA;AAmBD,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,SAAU,MAAM,GAAG,IAAI,KAAG,eAAe,GAAG,IA2B5E,CAAA;AAED,eAAO,MAAM,eAAe,SAAU,MAAM,GAAG,IAAI,KAAG,OAA8C,CAAA;AAEpG,eAAO,MAAM,iBAAiB,aAAc,eAAe,QAAQ,MAAM,KAAG,YAAY,GAAG,IAC7C,CAAA"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { resolveElement } from "./source-element-match.js";
|
|
2
|
+
import { neighborText } from "./source-element-neighbors.js";
|
|
3
|
+
import { elementAlt, elementLabel, elementSrc, fingerprintOf, roleOf, } from "./source-element-properties.js";
|
|
4
|
+
import { scanElements } from "./source-element-scan.js";
|
|
5
|
+
/** Agents capture the same persisted selector as the browser for an authored id. */
|
|
6
|
+
export const elementSelectorForId = (html, id) => {
|
|
7
|
+
const elements = scanElements(html);
|
|
8
|
+
const element = elements.find((candidate) => candidate.id === id);
|
|
9
|
+
if (!element)
|
|
10
|
+
return null;
|
|
11
|
+
const role = roleOf(element);
|
|
12
|
+
const src = elementSrc(element);
|
|
13
|
+
const alt = elementAlt(element);
|
|
14
|
+
return {
|
|
15
|
+
type: "ElementSelector",
|
|
16
|
+
tag: element.tag,
|
|
17
|
+
role,
|
|
18
|
+
id,
|
|
19
|
+
fingerprint: fingerprintOf(element),
|
|
20
|
+
ordinal: element.ordinal,
|
|
21
|
+
docFraction: element.srcFraction,
|
|
22
|
+
...neighborText(elements, element.index),
|
|
23
|
+
snapshot: {
|
|
24
|
+
tag: element.tag,
|
|
25
|
+
label: elementLabel({ ...element, role }),
|
|
26
|
+
...(src ? { src } : {}),
|
|
27
|
+
...(alt ? { alt } : {}),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
/** Each successful version hop updates identity while retaining the original snapshot. */
|
|
32
|
+
export const rederiveSelector = (selector, element, elements) => {
|
|
33
|
+
const near = neighborText(elements, element.index);
|
|
34
|
+
return {
|
|
35
|
+
...selector,
|
|
36
|
+
tag: element.tag,
|
|
37
|
+
id: element.id,
|
|
38
|
+
fingerprint: fingerprintOf(element),
|
|
39
|
+
ordinal: element.ordinal,
|
|
40
|
+
docFraction: element.srcFraction,
|
|
41
|
+
before: near.before ?? selector.before,
|
|
42
|
+
after: near.after ?? selector.after,
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
/** Ordered saved HTML lets an anchor recover through several small changes. */
|
|
46
|
+
export const planElementForwardWalk = (start, versionHtml) => {
|
|
47
|
+
let selector = start;
|
|
48
|
+
let survived = 0;
|
|
49
|
+
let last = null;
|
|
50
|
+
for (const html of versionHtml) {
|
|
51
|
+
const elements = scanElements(html);
|
|
52
|
+
const match = resolveElement(selector, elements);
|
|
53
|
+
if (!match)
|
|
54
|
+
return { resolved: false, confidence: 0, band: "low", selector, survived };
|
|
55
|
+
const element = elements[match.index];
|
|
56
|
+
if (element)
|
|
57
|
+
selector = rederiveSelector(selector, element, elements);
|
|
58
|
+
last = match;
|
|
59
|
+
survived++;
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
resolved: last !== null,
|
|
63
|
+
confidence: last?.confidence ?? 0,
|
|
64
|
+
band: last?.band ?? "low",
|
|
65
|
+
selector,
|
|
66
|
+
survived,
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
const stringOf = (value) => typeof value === "string" ? value : undefined;
|
|
70
|
+
const numberOf = (value, fallback) => typeof value === "number" && Number.isFinite(value) ? value : fallback;
|
|
71
|
+
const selectorObject = (json) => {
|
|
72
|
+
if (!json)
|
|
73
|
+
return null;
|
|
74
|
+
try {
|
|
75
|
+
const value = JSON.parse(json);
|
|
76
|
+
return value && typeof value === "object" && !Array.isArray(value)
|
|
77
|
+
? value
|
|
78
|
+
: null;
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
/** Preserve the existing selector fields. Hostile scalar fields cannot break a sweep. */
|
|
85
|
+
export const parseElementSelector = (json) => {
|
|
86
|
+
const value = selectorObject(json);
|
|
87
|
+
if (value?.["type"] !== "ElementSelector")
|
|
88
|
+
return null;
|
|
89
|
+
const tag = stringOf(value["tag"]);
|
|
90
|
+
const fingerprint = stringOf(value["fingerprint"]);
|
|
91
|
+
if (!tag || !fingerprint)
|
|
92
|
+
return null;
|
|
93
|
+
const snapshot = value["snapshot"];
|
|
94
|
+
return {
|
|
95
|
+
type: "ElementSelector",
|
|
96
|
+
tag,
|
|
97
|
+
role: (stringOf(value["role"]) ?? "block"),
|
|
98
|
+
id: stringOf(value["id"]),
|
|
99
|
+
css: stringOf(value["css"]),
|
|
100
|
+
fingerprint,
|
|
101
|
+
ordinal: numberOf(value["ordinal"], 0),
|
|
102
|
+
docFraction: Math.max(0, Math.min(1, numberOf(value["docFraction"], 0))),
|
|
103
|
+
before: stringOf(value["before"]),
|
|
104
|
+
after: stringOf(value["after"]),
|
|
105
|
+
snapshot: snapshot && typeof snapshot === "object"
|
|
106
|
+
? snapshot
|
|
107
|
+
: { tag, label: tag },
|
|
108
|
+
slide: typeof value["slide"] === "number" && Number.isFinite(value["slide"])
|
|
109
|
+
? value["slide"]
|
|
110
|
+
: undefined,
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
export const isElementAnchor = (json) => parseElementSelector(json) !== null;
|
|
114
|
+
export const elementResolvesIn = (selector, html) => resolveElement(selector, scanElements(html));
|
|
115
|
+
//# sourceMappingURL=source-element-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-element-selector.js","sourceRoot":"","sources":["../../src/protocol/source-element-selector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/** Persisted element selectors retain their existing field names. */
|
|
2
|
+
export type ElementRole = "image" | "chart" | "loop-step" | "loop-policy" | "loop-transition" | "graph-node" | "graph-edge" | "media" | "embed" | "table" | "code" | "figure" | "block";
|
|
3
|
+
/** What the element looked like when the comment was made — shown when the live
|
|
4
|
+
* element can no longer be found, so an orphaned comment still has a referent. */
|
|
5
|
+
export interface ElementSnapshot {
|
|
6
|
+
tag: string;
|
|
7
|
+
/** Human descriptor, e.g. "Image — revenue.png", "Table (4×3)", "Embedded video". */
|
|
8
|
+
label: string;
|
|
9
|
+
/** Normalized text content (truncated). */
|
|
10
|
+
text?: string | undefined;
|
|
11
|
+
/** img/video/iframe/embed source, if any. */
|
|
12
|
+
src?: string | undefined;
|
|
13
|
+
/** alt / aria-label / title / caption, if any. */
|
|
14
|
+
alt?: string | undefined;
|
|
15
|
+
/** Displayed size at capture (for a placeholder aspect ratio). */
|
|
16
|
+
w?: number | undefined;
|
|
17
|
+
h?: number | undefined;
|
|
18
|
+
/** Truncated outerHTML for a visual preview. Sanitized again at render time. */
|
|
19
|
+
html?: string | undefined;
|
|
20
|
+
}
|
|
21
|
+
export interface ElementSelector {
|
|
22
|
+
type: "ElementSelector";
|
|
23
|
+
tag: string;
|
|
24
|
+
role: ElementRole;
|
|
25
|
+
/** Element id — only recorded when it looks authored (not a hashy/generated id). */
|
|
26
|
+
id?: string | undefined;
|
|
27
|
+
/** Structural css path (`tag:nth-of-type(n)` chain). Captured + verified in the
|
|
28
|
+
* browser, where a real DOM exists; the server cascade skips it. */
|
|
29
|
+
css?: string | undefined;
|
|
30
|
+
/** Content hash over {tag, src, alt, leading text}. The single strongest signal. */
|
|
31
|
+
fingerprint: string;
|
|
32
|
+
/** 0-based index among same-tag elements in document order. */
|
|
33
|
+
ordinal: number;
|
|
34
|
+
/** Vertical position at capture as a fraction of the document (0..1) — "save
|
|
35
|
+
* position". A weak geometric tiebreaker; the server approximates it from the
|
|
36
|
+
* element's offset in the HTML source. */
|
|
37
|
+
docFraction: number;
|
|
38
|
+
/** Normalized text of the nearest preceding / following text-bearing block. */
|
|
39
|
+
before?: string | undefined;
|
|
40
|
+
after?: string | undefined;
|
|
41
|
+
snapshot: ElementSnapshot;
|
|
42
|
+
/** Deck artifacts only: the 0-based slide the comment was made on. */
|
|
43
|
+
slide?: number | undefined;
|
|
44
|
+
}
|
|
45
|
+
/** A flat, parent-free description of one element, the server-side stand-in for a
|
|
46
|
+
* live DOM node (we ship no HTML parser, so `scanElements` builds these). */
|
|
47
|
+
export interface ElementDescriptor {
|
|
48
|
+
tag: string;
|
|
49
|
+
id?: string | undefined;
|
|
50
|
+
classes: string[];
|
|
51
|
+
/** Selected attributes only (src/href/alt/title/aria-label/role/data-*). */
|
|
52
|
+
attrs: Record<string, string>;
|
|
53
|
+
/** Normalized subtree text (truncated). */
|
|
54
|
+
text: string;
|
|
55
|
+
/** 0-based index among same-tag elements, document order. */
|
|
56
|
+
ordinal: number;
|
|
57
|
+
/** Global element index in document order. */
|
|
58
|
+
index: number;
|
|
59
|
+
/** Index of the enclosing element (-1 at top level). Lets neighbour lookup skip
|
|
60
|
+
* ancestors/descendants so a wrapped element (`<div><img><p>…`) resolves the same
|
|
61
|
+
* preceding/following block the browser-side walk does. */
|
|
62
|
+
parent: number;
|
|
63
|
+
/** Start offset in the HTML source / total length (0..1) — geometry proxy. */
|
|
64
|
+
srcFraction: number;
|
|
65
|
+
/** Exact opening-tag span in the stored source. Element edits use this to change
|
|
66
|
+
* attributes without serializing (and therefore rewriting) the rest of the page. */
|
|
67
|
+
sourceStart: number;
|
|
68
|
+
sourceEnd: number;
|
|
69
|
+
}
|
|
70
|
+
export type ConfidenceBand = "high" | "medium" | "low";
|
|
71
|
+
export interface ElementMatch {
|
|
72
|
+
/** Index into the `ElementDescriptor[]` passed to `resolveElement`. */
|
|
73
|
+
index: number;
|
|
74
|
+
confidence: number;
|
|
75
|
+
band: ConfidenceBand;
|
|
76
|
+
/** Which signals agreed — useful for debugging + UI ("matched by id, content"). */
|
|
77
|
+
signals: string[];
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=source-element-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-element-types.d.ts","sourceRoot":"","sources":["../../src/protocol/source-element-types.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,OAAO,GACP,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,QAAQ,GACR,OAAO,CAAA;AAEX;mFACmF;AACnF,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,kEAAkE;IAClE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtB,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,iBAAiB,CAAA;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,WAAW,CAAA;IACjB,oFAAoF;IACpF,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB;yEACqE;IACrE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAA;IACnB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;IACf;;+CAE2C;IAC3C,WAAW,EAAE,MAAM,CAAA;IACnB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,QAAQ,EAAE,eAAe,CAAA;IACzB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED;8EAC8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb;;gEAE4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAA;IACnB;yFACqF;IACrF,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEtD,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,cAAc,CAAA;IACpB,mFAAmF;IACnF,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-element-types.js","sourceRoot":"","sources":["../../src/protocol/source-element-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { resolveElement } from "./source-element-match.js";
|
|
2
|
+
export { elementLabel, fingerprintOf, roleOf } from "./source-element-properties.js";
|
|
3
|
+
export { scanElements } from "./source-element-scan.js";
|
|
4
|
+
export { gradeElement } from "./source-element-score.js";
|
|
5
|
+
export { elementResolvesIn, elementSelectorForId, type ForwardWalk, isElementAnchor, parseElementSelector, planElementForwardWalk, rederiveSelector, } from "./source-element-selector.js";
|
|
6
|
+
export type * from "./source-element-types.js";
|
|
7
|
+
//# sourceMappingURL=source-elements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-elements.d.ts","sourceRoot":"","sources":["../../src/protocol/source-elements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,WAAW,EAChB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,8BAA8B,CAAA;AACrC,mBAAmB,2BAA2B,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { resolveElement } from "./source-element-match.js";
|
|
2
|
+
export { elementLabel, fingerprintOf, roleOf } from "./source-element-properties.js";
|
|
3
|
+
export { scanElements } from "./source-element-scan.js";
|
|
4
|
+
export { gradeElement } from "./source-element-score.js";
|
|
5
|
+
export { elementResolvesIn, elementSelectorForId, isElementAnchor, parseElementSelector, planElementForwardWalk, rederiveSelector, } from "./source-element-selector.js";
|
|
6
|
+
//# sourceMappingURL=source-elements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-elements.js","sourceRoot":"","sources":["../../src/protocol/source-elements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EAEpB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,8BAA8B,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DecodingMode } from "entities/decode";
|
|
2
|
+
export declare const ENTITY_RE: RegExp;
|
|
3
|
+
export interface DecodedEntity {
|
|
4
|
+
start: number;
|
|
5
|
+
end: number;
|
|
6
|
+
text: string;
|
|
7
|
+
}
|
|
8
|
+
/** Browser-compatible character references and their exact raw spans. The entity
|
|
9
|
+
* decoder reports how many source characters it consumed, which is essential for
|
|
10
|
+
* mapping legacy semicolonless names and multi-code-point named entities back to
|
|
11
|
+
* authored bytes without guessing. */
|
|
12
|
+
export declare function decodedEntitiesIn(input: string, from?: number, to?: number, mode?: DecodingMode): DecodedEntity[];
|
|
13
|
+
/** Decode numeric character references and the common named entities the browser
|
|
14
|
+
* would. Unknown named entities pass through untouched. Shared by `pageText` and
|
|
15
|
+
* the doc-text markdown conversion so both read an `&` the same way. */
|
|
16
|
+
export declare function decodeEntities(s: string): string;
|
|
17
|
+
//# sourceMappingURL=source-entities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-entities.d.ts","sourceRoot":"","sources":["../../src/protocol/source-entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6C,MAAM,iBAAiB,CAAA;AAEzF,eAAO,MAAM,SAAS,EAAE,MAAiE,CAAA;AAEzF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;uCAGuC;AACvC,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,MAAU,EAChB,EAAE,GAAE,MAAqB,EACzB,IAAI,GAAE,YAAkC,GACvC,aAAa,EAAE,CA0BjB;AAED;;6EAE6E;AAC7E,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { DecodingMode, decodeHTML, EntityDecoder, htmlDecodeTree } from "entities/decode";
|
|
2
|
+
export const ENTITY_RE = /&(?:#(?:x[0-9a-fA-F]+|[0-9]+)|[a-zA-Z][a-zA-Z0-9]+);?/g;
|
|
3
|
+
/** Browser-compatible character references and their exact raw spans. The entity
|
|
4
|
+
* decoder reports how many source characters it consumed, which is essential for
|
|
5
|
+
* mapping legacy semicolonless names and multi-code-point named entities back to
|
|
6
|
+
* authored bytes without guessing. */
|
|
7
|
+
export function decodedEntitiesIn(input, from = 0, to = input.length, mode = DecodingMode.Legacy) {
|
|
8
|
+
const out = [];
|
|
9
|
+
let decoded = "";
|
|
10
|
+
const decoder = new EntityDecoder(htmlDecodeTree, (cp) => {
|
|
11
|
+
decoded += cp === 0xa0 ? " " : String.fromCodePoint(cp);
|
|
12
|
+
});
|
|
13
|
+
let cursor = from;
|
|
14
|
+
for (;;) {
|
|
15
|
+
// `indexOf("&", cursor)` has no end bound. When this helper runs once per visible
|
|
16
|
+
// text run, an entity-free run near the start of a large document would scan every
|
|
17
|
+
// later run again before the result was rejected as `>= to`. Walk only this run so
|
|
18
|
+
// all calls made by one page projection examine each source character at most once.
|
|
19
|
+
let amp = cursor;
|
|
20
|
+
while (amp < to && input.charCodeAt(amp) !== 38)
|
|
21
|
+
amp++;
|
|
22
|
+
if (amp >= to)
|
|
23
|
+
break;
|
|
24
|
+
decoded = "";
|
|
25
|
+
decoder.startEntity(mode);
|
|
26
|
+
let consumed = decoder.write(input, amp + 1);
|
|
27
|
+
if (consumed < 0)
|
|
28
|
+
consumed = decoder.end();
|
|
29
|
+
const end = amp + consumed;
|
|
30
|
+
if (consumed > 1 && decoded && end <= to) {
|
|
31
|
+
out.push({ start: amp, end, text: decoded });
|
|
32
|
+
cursor = end;
|
|
33
|
+
}
|
|
34
|
+
else
|
|
35
|
+
cursor = amp + 1;
|
|
36
|
+
}
|
|
37
|
+
return out;
|
|
38
|
+
}
|
|
39
|
+
/** Decode numeric character references and the common named entities the browser
|
|
40
|
+
* would. Unknown named entities pass through untouched. Shared by `pageText` and
|
|
41
|
+
* the doc-text markdown conversion so both read an `&` the same way. */
|
|
42
|
+
export function decodeEntities(s) {
|
|
43
|
+
return decodeHTML(s, DecodingMode.Legacy).replaceAll("\u00a0", " ");
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=source-entities.js.map
|