@jitsusama/agentic-harness.core 0.1.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/README.md +52 -0
- package/dist/advisor/charter.d.ts +14 -0
- package/dist/advisor/charter.js +48 -0
- package/dist/advisor/findings.d.ts +43 -0
- package/dist/advisor/findings.js +82 -0
- package/dist/advisor/index.d.ts +24 -0
- package/dist/advisor/index.js +23 -0
- package/dist/advisor/settings.d.ts +16 -0
- package/dist/advisor/settings.js +30 -0
- package/dist/advisor/substantive.d.ts +14 -0
- package/dist/advisor/substantive.js +33 -0
- package/dist/advisor/tools.d.ts +38 -0
- package/dist/advisor/tools.js +202 -0
- package/dist/attribution/commit-hook.d.ts +53 -0
- package/dist/attribution/commit-hook.js +133 -0
- package/dist/attribution/gh-footer.d.ts +27 -0
- package/dist/attribution/gh-footer.js +80 -0
- package/dist/attribution/index.d.ts +11 -0
- package/dist/attribution/index.js +11 -0
- package/dist/attribution/model-name.d.ts +11 -0
- package/dist/attribution/model-name.js +26 -0
- package/dist/bin/attribution.d.ts +36 -0
- package/dist/bin/attribution.js +82 -0
- package/dist/bin/cli.d.ts +14 -0
- package/dist/bin/cli.js +236 -0
- package/dist/bin/gate-deps.d.ts +23 -0
- package/dist/bin/gate-deps.js +61 -0
- package/dist/bin/guardians.d.ts +51 -0
- package/dist/bin/guardians.js +174 -0
- package/dist/bin/memory.d.ts +16 -0
- package/dist/bin/memory.js +81 -0
- package/dist/bin/notes.d.ts +30 -0
- package/dist/bin/notes.js +67 -0
- package/dist/bin/process-exec.d.ts +14 -0
- package/dist/bin/process-exec.js +31 -0
- package/dist/bin/quest.d.ts +38 -0
- package/dist/bin/quest.js +187 -0
- package/dist/bin/slack-auth.d.ts +49 -0
- package/dist/bin/slack-auth.js +107 -0
- package/dist/clock/index.d.ts +46 -0
- package/dist/clock/index.js +72 -0
- package/dist/command/cwd.d.ts +21 -0
- package/dist/command/cwd.js +60 -0
- package/dist/command/edit.d.ts +14 -0
- package/dist/command/edit.js +22 -0
- package/dist/command/flags.d.ts +29 -0
- package/dist/command/flags.js +111 -0
- package/dist/command/index.d.ts +16 -0
- package/dist/command/index.js +12 -0
- package/dist/command/tokenize.d.ts +7 -0
- package/dist/command/tokenize.js +315 -0
- package/dist/command/types.d.ts +66 -0
- package/dist/command/types.js +9 -0
- package/dist/completion/index.d.ts +17 -0
- package/dist/completion/index.js +16 -0
- package/dist/completion/investigate.d.ts +63 -0
- package/dist/completion/investigate.js +198 -0
- package/dist/completion/resolve.d.ts +29 -0
- package/dist/completion/resolve.js +42 -0
- package/dist/completion/side.d.ts +51 -0
- package/dist/completion/side.js +93 -0
- package/dist/completion/types.d.ts +84 -0
- package/dist/completion/types.js +14 -0
- package/dist/exec/exec.d.ts +38 -0
- package/dist/exec/exec.js +51 -0
- package/dist/exec/index.d.ts +8 -0
- package/dist/exec/index.js +8 -0
- package/dist/gate/decision.d.ts +52 -0
- package/dist/gate/decision.js +68 -0
- package/dist/gate/deps.d.ts +14 -0
- package/dist/gate/deps.js +1 -0
- package/dist/gate/index.d.ts +2 -0
- package/dist/gate/index.js +1 -0
- package/dist/git-cli/index.d.ts +47 -0
- package/dist/git-cli/index.js +127 -0
- package/dist/github-cli/command-spec.d.ts +14 -0
- package/dist/github-cli/command-spec.js +18 -0
- package/dist/github-cli/index.d.ts +71 -0
- package/dist/github-cli/index.js +188 -0
- package/dist/google/apis/calendar.d.ts +64 -0
- package/dist/google/apis/calendar.js +297 -0
- package/dist/google/apis/docs.d.ts +29 -0
- package/dist/google/apis/docs.js +154 -0
- package/dist/google/apis/drive.d.ts +46 -0
- package/dist/google/apis/drive.js +189 -0
- package/dist/google/apis/gmail.d.ts +67 -0
- package/dist/google/apis/gmail.js +374 -0
- package/dist/google/apis/index.d.ts +10 -0
- package/dist/google/apis/index.js +10 -0
- package/dist/google/apis/sheets.d.ts +16 -0
- package/dist/google/apis/sheets.js +54 -0
- package/dist/google/apis/slides.d.ts +16 -0
- package/dist/google/apis/slides.js +40 -0
- package/dist/google/auth/browser.d.ts +5 -0
- package/dist/google/auth/browser.js +27 -0
- package/dist/google/auth/credentials.d.ts +26 -0
- package/dist/google/auth/credentials.js +69 -0
- package/dist/google/auth/errors.d.ts +15 -0
- package/dist/google/auth/errors.js +26 -0
- package/dist/google/auth/index.d.ts +12 -0
- package/dist/google/auth/index.js +12 -0
- package/dist/google/auth/oauth-app.d.ts +15 -0
- package/dist/google/auth/oauth-app.js +20 -0
- package/dist/google/auth/oauth.d.ts +46 -0
- package/dist/google/auth/oauth.js +146 -0
- package/dist/google/auth/server.d.ts +13 -0
- package/dist/google/auth/server.js +70 -0
- package/dist/google/auth/setup-instructions.d.ts +16 -0
- package/dist/google/auth/setup-instructions.js +24 -0
- package/dist/google/auth/store.d.ts +19 -0
- package/dist/google/auth/store.js +27 -0
- package/dist/google/index.d.ts +13 -0
- package/dist/google/index.js +12 -0
- package/dist/google/paths.d.ts +17 -0
- package/dist/google/paths.js +28 -0
- package/dist/google/renderers/calendar.d.ts +23 -0
- package/dist/google/renderers/calendar.js +312 -0
- package/dist/google/renderers/drive.d.ts +31 -0
- package/dist/google/renderers/drive.js +214 -0
- package/dist/google/renderers/email.d.ts +16 -0
- package/dist/google/renderers/email.js +130 -0
- package/dist/google/renderers/index.d.ts +8 -0
- package/dist/google/renderers/index.js +8 -0
- package/dist/google/types.d.ts +143 -0
- package/dist/google/types.js +27 -0
- package/dist/governance/distill.d.ts +31 -0
- package/dist/governance/distill.js +78 -0
- package/dist/governance/index.d.ts +11 -0
- package/dist/governance/index.js +10 -0
- package/dist/governance/render.d.ts +13 -0
- package/dist/governance/render.js +23 -0
- package/dist/governance/store.d.ts +32 -0
- package/dist/governance/store.js +102 -0
- package/dist/governance/types.d.ts +19 -0
- package/dist/governance/types.js +9 -0
- package/dist/guardian/index.d.ts +7 -0
- package/dist/guardian/index.js +7 -0
- package/dist/guardian/types.d.ts +37 -0
- package/dist/guardian/types.js +12 -0
- package/dist/internal/github/cli.d.ts +40 -0
- package/dist/internal/github/cli.js +102 -0
- package/dist/internal/guardian/commit-file.d.ts +7 -0
- package/dist/internal/guardian/commit-file.js +36 -0
- package/dist/internal/guardian/commit-format.d.ts +35 -0
- package/dist/internal/guardian/commit-format.js +63 -0
- package/dist/internal/guardian/commit-shell.d.ts +38 -0
- package/dist/internal/guardian/commit-shell.js +134 -0
- package/dist/internal/guardian/history-gate.d.ts +41 -0
- package/dist/internal/guardian/history-gate.js +76 -0
- package/dist/internal/guardian/prose-gate.d.ts +31 -0
- package/dist/internal/guardian/prose-gate.js +50 -0
- package/dist/internal/guardian/redirect-gate.d.ts +41 -0
- package/dist/internal/guardian/redirect-gate.js +114 -0
- package/dist/internal/guardian/section-gate.d.ts +20 -0
- package/dist/internal/guardian/section-gate.js +36 -0
- package/dist/internal/guardian/title-gate.d.ts +20 -0
- package/dist/internal/guardian/title-gate.js +36 -0
- package/dist/internal/json-array.d.ts +11 -0
- package/dist/internal/json-array.js +40 -0
- package/dist/internal/lsp/registry.d.ts +12 -0
- package/dist/internal/lsp/registry.js +16 -0
- package/dist/internal/notes/discovery.d.ts +59 -0
- package/dist/internal/notes/discovery.js +91 -0
- package/dist/internal/notes/frontmatter.d.ts +52 -0
- package/dist/internal/notes/frontmatter.js +163 -0
- package/dist/internal/notes/id.d.ts +42 -0
- package/dist/internal/notes/id.js +80 -0
- package/dist/internal/notes/io.d.ts +25 -0
- package/dist/internal/notes/io.js +51 -0
- package/dist/internal/notes/sanitize.d.ts +19 -0
- package/dist/internal/notes/sanitize.js +35 -0
- package/dist/internal/process-global.d.ts +20 -0
- package/dist/internal/process-global.js +28 -0
- package/dist/internal/quest/alias-index.d.ts +61 -0
- package/dist/internal/quest/alias-index.js +69 -0
- package/dist/internal/quest/append-journey.d.ts +22 -0
- package/dist/internal/quest/append-journey.js +63 -0
- package/dist/internal/quest/bash-write.d.ts +49 -0
- package/dist/internal/quest/bash-write.js +208 -0
- package/dist/internal/quest/dates.d.ts +14 -0
- package/dist/internal/quest/dates.js +20 -0
- package/dist/internal/quest/discovery.d.ts +96 -0
- package/dist/internal/quest/discovery.js +354 -0
- package/dist/internal/quest/fields.d.ts +37 -0
- package/dist/internal/quest/fields.js +94 -0
- package/dist/internal/quest/frontmatter.d.ts +88 -0
- package/dist/internal/quest/frontmatter.js +630 -0
- package/dist/internal/quest/git-signals.d.ts +53 -0
- package/dist/internal/quest/git-signals.js +192 -0
- package/dist/internal/quest/id.d.ts +50 -0
- package/dist/internal/quest/id.js +116 -0
- package/dist/internal/quest/io.d.ts +54 -0
- package/dist/internal/quest/io.js +233 -0
- package/dist/internal/quest/mentions.d.ts +45 -0
- package/dist/internal/quest/mentions.js +70 -0
- package/dist/internal/quest/mutate.d.ts +38 -0
- package/dist/internal/quest/mutate.js +83 -0
- package/dist/internal/quest/process-liveness.d.ts +98 -0
- package/dist/internal/quest/process-liveness.js +216 -0
- package/dist/internal/quest/quest-doc.d.ts +116 -0
- package/dist/internal/quest/quest-doc.js +239 -0
- package/dist/internal/quest/ranking.d.ts +48 -0
- package/dist/internal/quest/ranking.js +114 -0
- package/dist/internal/quest/reopen.d.ts +65 -0
- package/dist/internal/quest/reopen.js +113 -0
- package/dist/internal/quest/resolve-cwd.d.ts +32 -0
- package/dist/internal/quest/resolve-cwd.js +89 -0
- package/dist/internal/quest/sanitize.d.ts +42 -0
- package/dist/internal/quest/sanitize.js +69 -0
- package/dist/internal/quest/scaffold.d.ts +59 -0
- package/dist/internal/quest/scaffold.js +169 -0
- package/dist/internal/quest/scratch.d.ts +27 -0
- package/dist/internal/quest/scratch.js +106 -0
- package/dist/internal/quest/session-liveness.d.ts +125 -0
- package/dist/internal/quest/session-liveness.js +386 -0
- package/dist/internal/quest/session-ownership.d.ts +22 -0
- package/dist/internal/quest/session-ownership.js +100 -0
- package/dist/internal/quest/session-registry.d.ts +221 -0
- package/dist/internal/quest/session-registry.js +266 -0
- package/dist/internal/quest/status.d.ts +10 -0
- package/dist/internal/quest/status.js +15 -0
- package/dist/internal/quest/structural-journal.d.ts +41 -0
- package/dist/internal/quest/structural-journal.js +67 -0
- package/dist/internal/quest/structural.d.ts +43 -0
- package/dist/internal/quest/structural.js +77 -0
- package/dist/internal/quest/toc.d.ts +28 -0
- package/dist/internal/quest/toc.js +90 -0
- package/dist/internal/quest/trees.d.ts +53 -0
- package/dist/internal/quest/trees.js +145 -0
- package/dist/internal/quest/url-fetchers.d.ts +50 -0
- package/dist/internal/quest/url-fetchers.js +97 -0
- package/dist/internal/quest/write-classifier.d.ts +46 -0
- package/dist/internal/quest/write-classifier.js +59 -0
- package/dist/internal/refs/builtins.d.ts +32 -0
- package/dist/internal/refs/builtins.js +179 -0
- package/dist/internal/refs/registry.d.ts +25 -0
- package/dist/internal/refs/registry.js +42 -0
- package/dist/internal/registry/global-symbol-registry.d.ts +37 -0
- package/dist/internal/registry/global-symbol-registry.js +55 -0
- package/dist/internal/review/registry.d.ts +12 -0
- package/dist/internal/review/registry.js +16 -0
- package/dist/internal/sqlite/db.d.ts +16 -0
- package/dist/internal/sqlite/db.js +26 -0
- package/dist/internal/terminal/builtins.d.ts +8 -0
- package/dist/internal/terminal/builtins.js +14 -0
- package/dist/internal/terminal/drivers/fallback.d.ts +8 -0
- package/dist/internal/terminal/drivers/fallback.js +31 -0
- package/dist/internal/terminal/drivers/shared.d.ts +39 -0
- package/dist/internal/terminal/drivers/shared.js +51 -0
- package/dist/internal/terminal/drivers/tmux.d.ts +14 -0
- package/dist/internal/terminal/drivers/tmux.js +88 -0
- package/dist/internal/terminal/drivers/wezterm.d.ts +35 -0
- package/dist/internal/terminal/drivers/wezterm.js +175 -0
- package/dist/internal/terminal/registry.d.ts +12 -0
- package/dist/internal/terminal/registry.js +16 -0
- package/dist/internal/tree/builtins.d.ts +8 -0
- package/dist/internal/tree/builtins.js +10 -0
- package/dist/internal/tree/providers/git-worktree.d.ts +20 -0
- package/dist/internal/tree/providers/git-worktree.js +279 -0
- package/dist/internal/tree/registry.d.ts +12 -0
- package/dist/internal/tree/registry.js +16 -0
- package/dist/lsp/config.d.ts +77 -0
- package/dist/lsp/config.js +154 -0
- package/dist/lsp/external.d.ts +13 -0
- package/dist/lsp/external.js +52 -0
- package/dist/lsp/format.d.ts +11 -0
- package/dist/lsp/format.js +54 -0
- package/dist/lsp/index.d.ts +17 -0
- package/dist/lsp/index.js +16 -0
- package/dist/lsp/offsets.d.ts +22 -0
- package/dist/lsp/offsets.js +51 -0
- package/dist/lsp/registry.d.ts +28 -0
- package/dist/lsp/registry.js +45 -0
- package/dist/lsp/standalone/backend.d.ts +42 -0
- package/dist/lsp/standalone/backend.js +150 -0
- package/dist/lsp/standalone/document.d.ts +45 -0
- package/dist/lsp/standalone/document.js +81 -0
- package/dist/lsp/standalone/server.d.ts +84 -0
- package/dist/lsp/standalone/server.js +521 -0
- package/dist/lsp/types.d.ts +119 -0
- package/dist/lsp/types.js +13 -0
- package/dist/memory/db.d.ts +15 -0
- package/dist/memory/db.js +25 -0
- package/dist/memory/index.d.ts +12 -0
- package/dist/memory/index.js +11 -0
- package/dist/memory/paths.d.ts +19 -0
- package/dist/memory/paths.js +33 -0
- package/dist/memory/scope.d.ts +14 -0
- package/dist/memory/scope.js +22 -0
- package/dist/memory/store.d.ts +12 -0
- package/dist/memory/store.js +146 -0
- package/dist/memory/types.d.ts +80 -0
- package/dist/memory/types.js +6 -0
- package/dist/notes/types.d.ts +50 -0
- package/dist/notes/types.js +23 -0
- package/dist/notes/verbs/create.d.ts +5 -0
- package/dist/notes/verbs/create.js +55 -0
- package/dist/notes/verbs/mutate.d.ts +8 -0
- package/dist/notes/verbs/mutate.js +152 -0
- package/dist/notes/verbs/queries.d.ts +15 -0
- package/dist/notes/verbs/queries.js +116 -0
- package/dist/notes/verbs/reindex.d.ts +12 -0
- package/dist/notes/verbs/reindex.js +35 -0
- package/dist/notes/verbs/shared.d.ts +37 -0
- package/dist/notes/verbs/shared.js +29 -0
- package/dist/observability/index.d.ts +13 -0
- package/dist/observability/index.js +12 -0
- package/dist/observability/recorder.d.ts +50 -0
- package/dist/observability/recorder.js +77 -0
- package/dist/observability/store.d.ts +22 -0
- package/dist/observability/store.js +213 -0
- package/dist/observability/types.d.ts +82 -0
- package/dist/observability/types.js +1 -0
- package/dist/process/index.d.ts +9 -0
- package/dist/process/index.js +9 -0
- package/dist/process/process.d.ts +95 -0
- package/dist/process/process.js +153 -0
- package/dist/prose/block.d.ts +9 -0
- package/dist/prose/block.js +43 -0
- package/dist/prose/detect.d.ts +50 -0
- package/dist/prose/detect.js +217 -0
- package/dist/prose/gate.d.ts +14 -0
- package/dist/prose/gate.js +21 -0
- package/dist/prose/index.d.ts +4 -0
- package/dist/prose/index.js +4 -0
- package/dist/prose/wrap.d.ts +9 -0
- package/dist/prose/wrap.js +47 -0
- package/dist/quest/actions.d.ts +20 -0
- package/dist/quest/actions.js +107 -0
- package/dist/quest/config.d.ts +79 -0
- package/dist/quest/config.js +83 -0
- package/dist/quest/index.d.ts +29 -0
- package/dist/quest/index.js +28 -0
- package/dist/quest/lifecycle.d.ts +365 -0
- package/dist/quest/lifecycle.js +900 -0
- package/dist/quest/lookup.d.ts +243 -0
- package/dist/quest/lookup.js +496 -0
- package/dist/quest/machine.d.ts +48 -0
- package/dist/quest/machine.js +96 -0
- package/dist/quest/render-rows.d.ts +166 -0
- package/dist/quest/render-rows.js +214 -0
- package/dist/quest/state.d.ts +111 -0
- package/dist/quest/state.js +46 -0
- package/dist/quest/types.d.ts +224 -0
- package/dist/quest/types.js +10 -0
- package/dist/quest/verbs/alias.d.ts +9 -0
- package/dist/quest/verbs/alias.js +129 -0
- package/dist/quest/verbs/lifecycle.d.ts +36 -0
- package/dist/quest/verbs/lifecycle.js +407 -0
- package/dist/quest/verbs/queries.d.ts +24 -0
- package/dist/quest/verbs/queries.js +241 -0
- package/dist/quest/verbs/reorder.d.ts +15 -0
- package/dist/quest/verbs/reorder.js +85 -0
- package/dist/quest/verbs/shared.d.ts +63 -0
- package/dist/quest/verbs/shared.js +35 -0
- package/dist/quest/verbs/stage.d.ts +39 -0
- package/dist/quest/verbs/stage.js +506 -0
- package/dist/quest/verbs/structural.d.ts +23 -0
- package/dist/quest/verbs/structural.js +310 -0
- package/dist/quest/verbs/tree-ops.d.ts +20 -0
- package/dist/quest/verbs/tree-ops.js +289 -0
- package/dist/refs/index.d.ts +13 -0
- package/dist/refs/index.js +12 -0
- package/dist/refs/lookup.d.ts +53 -0
- package/dist/refs/lookup.js +102 -0
- package/dist/refs/register.d.ts +34 -0
- package/dist/refs/register.js +44 -0
- package/dist/refs/types.d.ts +81 -0
- package/dist/refs/types.js +17 -0
- package/dist/remote/index.d.ts +9 -0
- package/dist/remote/index.js +9 -0
- package/dist/remote/name.d.ts +22 -0
- package/dist/remote/name.js +30 -0
- package/dist/result/cite.d.ts +84 -0
- package/dist/result/cite.js +127 -0
- package/dist/result/counts.d.ts +15 -0
- package/dist/result/counts.js +17 -0
- package/dist/result/details.d.ts +61 -0
- package/dist/result/details.js +121 -0
- package/dist/result/digest.d.ts +37 -0
- package/dist/result/digest.js +227 -0
- package/dist/result/follow.d.ts +29 -0
- package/dist/result/follow.js +37 -0
- package/dist/result/index.d.ts +26 -0
- package/dist/result/index.js +26 -0
- package/dist/result/listing.d.ts +62 -0
- package/dist/result/listing.js +72 -0
- package/dist/result/location.d.ts +67 -0
- package/dist/result/location.js +125 -0
- package/dist/result/query.d.ts +67 -0
- package/dist/result/query.js +144 -0
- package/dist/result/spill.d.ts +41 -0
- package/dist/result/spill.js +121 -0
- package/dist/result/store.d.ts +83 -0
- package/dist/result/store.js +214 -0
- package/dist/result/view.d.ts +31 -0
- package/dist/result/view.js +38 -0
- package/dist/review/anchor.d.ts +84 -0
- package/dist/review/anchor.js +89 -0
- package/dist/review/ask/agents.d.ts +80 -0
- package/dist/review/ask/agents.js +296 -0
- package/dist/review/ask/anchorable.d.ts +35 -0
- package/dist/review/ask/anchorable.js +76 -0
- package/dist/review/ask/answer.d.ts +54 -0
- package/dist/review/ask/answer.js +209 -0
- package/dist/review/ask/audit.d.ts +71 -0
- package/dist/review/ask/audit.js +158 -0
- package/dist/review/ask/collect.d.ts +41 -0
- package/dist/review/ask/collect.js +82 -0
- package/dist/review/ask/council.d.ts +290 -0
- package/dist/review/ask/council.js +386 -0
- package/dist/review/ask/critique.d.ts +69 -0
- package/dist/review/ask/critique.js +157 -0
- package/dist/review/ask/harvest.d.ts +119 -0
- package/dist/review/ask/harvest.js +409 -0
- package/dist/review/ask/identity.d.ts +93 -0
- package/dist/review/ask/identity.js +134 -0
- package/dist/review/ask/judge.d.ts +37 -0
- package/dist/review/ask/judge.js +140 -0
- package/dist/review/ask/persona.d.ts +84 -0
- package/dist/review/ask/persona.js +127 -0
- package/dist/review/ask/progress.d.ts +117 -0
- package/dist/review/ask/progress.js +137 -0
- package/dist/review/ask/prompt.d.ts +131 -0
- package/dist/review/ask/prompt.js +242 -0
- package/dist/review/ask/roster.d.ts +94 -0
- package/dist/review/ask/roster.js +338 -0
- package/dist/review/ask/run.d.ts +435 -0
- package/dist/review/ask/run.js +340 -0
- package/dist/review/ask/span.d.ts +70 -0
- package/dist/review/ask/span.js +166 -0
- package/dist/review/ask/stack-round.d.ts +66 -0
- package/dist/review/ask/stack-round.js +125 -0
- package/dist/review/ask/start.d.ts +48 -0
- package/dist/review/ask/start.js +118 -0
- package/dist/review/ask/store.d.ts +83 -0
- package/dist/review/ask/store.js +226 -0
- package/dist/review/ask/wire.d.ts +89 -0
- package/dist/review/ask/wire.js +204 -0
- package/dist/review/attach.d.ts +161 -0
- package/dist/review/attach.js +357 -0
- package/dist/review/authoring.d.ts +84 -0
- package/dist/review/authoring.js +203 -0
- package/dist/review/backed.d.ts +90 -0
- package/dist/review/backed.js +168 -0
- package/dist/review/bind.d.ts +75 -0
- package/dist/review/bind.js +223 -0
- package/dist/review/budget.d.ts +133 -0
- package/dist/review/budget.js +278 -0
- package/dist/review/capabilities.d.ts +217 -0
- package/dist/review/capabilities.js +46 -0
- package/dist/review/change.d.ts +155 -0
- package/dist/review/change.js +15 -0
- package/dist/review/checks.d.ts +56 -0
- package/dist/review/checks.js +11 -0
- package/dist/review/config.d.ts +71 -0
- package/dist/review/config.js +125 -0
- package/dist/review/conventions.d.ts +35 -0
- package/dist/review/conventions.js +58 -0
- package/dist/review/conversation.d.ts +98 -0
- package/dist/review/conversation.js +16 -0
- package/dist/review/decided.d.ts +58 -0
- package/dist/review/decided.js +67 -0
- package/dist/review/diff.d.ts +116 -0
- package/dist/review/diff.js +237 -0
- package/dist/review/draft/continuation.d.ts +23 -0
- package/dist/review/draft/continuation.js +32 -0
- package/dist/review/draft/fanout.d.ts +57 -0
- package/dist/review/draft/fanout.js +46 -0
- package/dist/review/draft/handle.d.ts +55 -0
- package/dist/review/draft/handle.js +110 -0
- package/dist/review/draft/plan.d.ts +112 -0
- package/dist/review/draft/plan.js +343 -0
- package/dist/review/draft/publish.d.ts +38 -0
- package/dist/review/draft/publish.js +118 -0
- package/dist/review/draft/render.d.ts +32 -0
- package/dist/review/draft/render.js +100 -0
- package/dist/review/draft/state.d.ts +98 -0
- package/dist/review/draft/state.js +83 -0
- package/dist/review/draft/store.d.ts +33 -0
- package/dist/review/draft/store.js +100 -0
- package/dist/review/elsewhere.d.ts +27 -0
- package/dist/review/elsewhere.js +39 -0
- package/dist/review/engine.d.ts +106 -0
- package/dist/review/engine.js +243 -0
- package/dist/review/events.d.ts +59 -0
- package/dist/review/events.js +35 -0
- package/dist/review/failed.d.ts +46 -0
- package/dist/review/failed.js +56 -0
- package/dist/review/finding.d.ts +81 -0
- package/dist/review/finding.js +85 -0
- package/dist/review/fix.d.ts +147 -0
- package/dist/review/fix.js +175 -0
- package/dist/review/followup.d.ts +84 -0
- package/dist/review/followup.js +123 -0
- package/dist/review/index.d.ts +134 -0
- package/dist/review/index.js +80 -0
- package/dist/review/keys.d.ts +23 -0
- package/dist/review/keys.js +40 -0
- package/dist/review/landing.d.ts +37 -0
- package/dist/review/landing.js +68 -0
- package/dist/review/lenses.d.ts +132 -0
- package/dist/review/lenses.js +430 -0
- package/dist/review/propose-from.d.ts +76 -0
- package/dist/review/propose-from.js +86 -0
- package/dist/review/provider.d.ts +306 -0
- package/dist/review/provider.js +16 -0
- package/dist/review/providers/git/index.d.ts +23 -0
- package/dist/review/providers/git/index.js +214 -0
- package/dist/review/providers/github/authoring.d.ts +22 -0
- package/dist/review/providers/github/authoring.js +350 -0
- package/dist/review/providers/github/claims.d.ts +49 -0
- package/dist/review/providers/github/claims.js +136 -0
- package/dist/review/providers/github/conversation.d.ts +18 -0
- package/dist/review/providers/github/conversation.js +455 -0
- package/dist/review/providers/github/fields.d.ts +30 -0
- package/dist/review/providers/github/fields.js +47 -0
- package/dist/review/providers/github/index.d.ts +15 -0
- package/dist/review/providers/github/index.js +110 -0
- package/dist/review/providers/github/proposals.d.ts +14 -0
- package/dist/review/providers/github/proposals.js +298 -0
- package/dist/review/providers/github/queue.d.ts +46 -0
- package/dist/review/providers/github/queue.js +122 -0
- package/dist/review/providers/github/stacking.d.ts +20 -0
- package/dist/review/providers/github/stacking.js +107 -0
- package/dist/review/queue.d.ts +43 -0
- package/dist/review/queue.js +56 -0
- package/dist/review/reactable.d.ts +93 -0
- package/dist/review/reactable.js +140 -0
- package/dist/review/register.d.ts +52 -0
- package/dist/review/register.js +53 -0
- package/dist/review/resolve.d.ts +58 -0
- package/dist/review/resolve.js +150 -0
- package/dist/review/retarget.d.ts +73 -0
- package/dist/review/retarget.js +82 -0
- package/dist/review/revisited.d.ts +77 -0
- package/dist/review/revisited.js +121 -0
- package/dist/review/stack.d.ts +110 -0
- package/dist/review/stack.js +52 -0
- package/dist/sections/block.d.ts +9 -0
- package/dist/sections/block.js +42 -0
- package/dist/sections/detect.d.ts +31 -0
- package/dist/sections/detect.js +67 -0
- package/dist/sections/gate.d.ts +21 -0
- package/dist/sections/gate.js +22 -0
- package/dist/sections/index.d.ts +5 -0
- package/dist/sections/index.js +5 -0
- package/dist/sections/sanctioned.d.ts +13 -0
- package/dist/sections/sanctioned.js +21 -0
- package/dist/shell/index.d.ts +8 -0
- package/dist/shell/index.js +8 -0
- package/dist/shell/parse.d.ts +125 -0
- package/dist/shell/parse.js +298 -0
- package/dist/slack/api/channels.d.ts +12 -0
- package/dist/slack/api/channels.js +28 -0
- package/dist/slack/api/client.d.ts +94 -0
- package/dist/slack/api/client.js +272 -0
- package/dist/slack/api/files.d.ts +95 -0
- package/dist/slack/api/files.js +223 -0
- package/dist/slack/api/index.d.ts +11 -0
- package/dist/slack/api/index.js +11 -0
- package/dist/slack/api/messages.d.ts +98 -0
- package/dist/slack/api/messages.js +292 -0
- package/dist/slack/api/reactions.d.ts +47 -0
- package/dist/slack/api/reactions.js +50 -0
- package/dist/slack/api/resolve-conversations.d.ts +43 -0
- package/dist/slack/api/resolve-conversations.js +130 -0
- package/dist/slack/api/resolve-messages.d.ts +29 -0
- package/dist/slack/api/resolve-messages.js +93 -0
- package/dist/slack/api/resolve-users.d.ts +27 -0
- package/dist/slack/api/resolve-users.js +73 -0
- package/dist/slack/api/search.d.ts +86 -0
- package/dist/slack/api/search.js +186 -0
- package/dist/slack/api/users.d.ts +12 -0
- package/dist/slack/api/users.js +33 -0
- package/dist/slack/auth/browser-extract.d.ts +33 -0
- package/dist/slack/auth/browser-extract.js +201 -0
- package/dist/slack/auth/browser.d.ts +5 -0
- package/dist/slack/auth/browser.js +25 -0
- package/dist/slack/auth/credentials.d.ts +14 -0
- package/dist/slack/auth/credentials.js +24 -0
- package/dist/slack/auth/errors.d.ts +9 -0
- package/dist/slack/auth/errors.js +19 -0
- package/dist/slack/auth/extract.d.ts +23 -0
- package/dist/slack/auth/extract.js +44 -0
- package/dist/slack/auth/index.d.ts +12 -0
- package/dist/slack/auth/index.js +11 -0
- package/dist/slack/auth/oauth-app.d.ts +11 -0
- package/dist/slack/auth/oauth-app.js +20 -0
- package/dist/slack/auth/oauth.d.ts +31 -0
- package/dist/slack/auth/oauth.js +82 -0
- package/dist/slack/auth/server.d.ts +14 -0
- package/dist/slack/auth/server.js +75 -0
- package/dist/slack/auth/store.d.ts +17 -0
- package/dist/slack/auth/store.js +27 -0
- package/dist/slack/block-message.d.ts +9 -0
- package/dist/slack/block-message.js +30 -0
- package/dist/slack/blocks.d.ts +94 -0
- package/dist/slack/blocks.js +765 -0
- package/dist/slack/content-gate.d.ts +12 -0
- package/dist/slack/content-gate.js +22 -0
- package/dist/slack/detect.d.ts +31 -0
- package/dist/slack/detect.js +125 -0
- package/dist/slack/index.d.ts +18 -0
- package/dist/slack/index.js +17 -0
- package/dist/slack/paths.d.ts +28 -0
- package/dist/slack/paths.js +46 -0
- package/dist/slack/renderers/channel.d.ts +6 -0
- package/dist/slack/renderers/channel.js +27 -0
- package/dist/slack/renderers/index.d.ts +9 -0
- package/dist/slack/renderers/index.js +9 -0
- package/dist/slack/renderers/message.d.ts +21 -0
- package/dist/slack/renderers/message.js +214 -0
- package/dist/slack/renderers/reactions.d.ts +8 -0
- package/dist/slack/renderers/reactions.js +43 -0
- package/dist/slack/renderers/search.d.ts +6 -0
- package/dist/slack/renderers/search.js +39 -0
- package/dist/slack/renderers/user.d.ts +6 -0
- package/dist/slack/renderers/user.js +32 -0
- package/dist/slack/resolvers/cache.d.ts +29 -0
- package/dist/slack/resolvers/cache.js +70 -0
- package/dist/slack/resolvers/conversation-cache.d.ts +42 -0
- package/dist/slack/resolvers/conversation-cache.js +128 -0
- package/dist/slack/resolvers/conversation.d.ts +44 -0
- package/dist/slack/resolvers/conversation.js +229 -0
- package/dist/slack/resolvers/index.d.ts +8 -0
- package/dist/slack/resolvers/index.js +8 -0
- package/dist/slack/resolvers/target.d.ts +19 -0
- package/dist/slack/resolvers/target.js +45 -0
- package/dist/slack/resolvers/url.d.ts +20 -0
- package/dist/slack/resolvers/url.js +22 -0
- package/dist/slack/resolvers/user.d.ts +54 -0
- package/dist/slack/resolvers/user.js +134 -0
- package/dist/slack/types.d.ts +180 -0
- package/dist/slack/types.js +13 -0
- package/dist/tdd/attest.d.ts +21 -0
- package/dist/tdd/attest.js +21 -0
- package/dist/tdd/discipline.d.ts +11 -0
- package/dist/tdd/discipline.js +28 -0
- package/dist/tdd/index.d.ts +14 -0
- package/dist/tdd/index.js +13 -0
- package/dist/tdd/machine.d.ts +48 -0
- package/dist/tdd/machine.js +139 -0
- package/dist/tdd/presentation.d.ts +34 -0
- package/dist/tdd/presentation.js +38 -0
- package/dist/tdd/queries.d.ts +10 -0
- package/dist/tdd/queries.js +22 -0
- package/dist/terminal/index.d.ts +12 -0
- package/dist/terminal/index.js +11 -0
- package/dist/terminal/register.d.ts +21 -0
- package/dist/terminal/register.js +31 -0
- package/dist/terminal/resolve.d.ts +63 -0
- package/dist/terminal/resolve.js +117 -0
- package/dist/terminal/types.d.ts +134 -0
- package/dist/terminal/types.js +19 -0
- package/dist/thinking/index.d.ts +20 -0
- package/dist/thinking/index.js +27 -0
- package/dist/title/block.d.ts +9 -0
- package/dist/title/block.js +32 -0
- package/dist/title/detect.d.ts +25 -0
- package/dist/title/detect.js +154 -0
- package/dist/title/gate.d.ts +19 -0
- package/dist/title/gate.js +21 -0
- package/dist/title/index.d.ts +3 -0
- package/dist/title/index.js +3 -0
- package/dist/tree/index.d.ts +18 -0
- package/dist/tree/index.js +17 -0
- package/dist/tree/register.d.ts +21 -0
- package/dist/tree/register.js +31 -0
- package/dist/tree/resolve.d.ts +20 -0
- package/dist/tree/resolve.js +31 -0
- package/dist/tree/types.d.ts +83 -0
- package/dist/tree/types.js +12 -0
- package/dist/ui/count.d.ts +29 -0
- package/dist/ui/count.js +35 -0
- package/dist/ui/path.d.ts +25 -0
- package/dist/ui/path.js +40 -0
- package/dist/verify/index.d.ts +17 -0
- package/dist/verify/index.js +14 -0
- package/dist/verify/project.d.ts +21 -0
- package/dist/verify/project.js +49 -0
- package/dist/verify/resolve.d.ts +26 -0
- package/dist/verify/resolve.js +27 -0
- package/dist/verify/run.d.ts +31 -0
- package/dist/verify/run.js +145 -0
- package/dist/web/a11y/announcements.d.ts +67 -0
- package/dist/web/a11y/announcements.js +116 -0
- package/dist/web/a11y/budget.d.ts +75 -0
- package/dist/web/a11y/budget.js +97 -0
- package/dist/web/a11y/focus.d.ts +37 -0
- package/dist/web/a11y/focus.js +106 -0
- package/dist/web/a11y/index.d.ts +19 -0
- package/dist/web/a11y/index.js +25 -0
- package/dist/web/a11y/naming.d.ts +23 -0
- package/dist/web/a11y/naming.js +55 -0
- package/dist/web/a11y/outline.d.ts +23 -0
- package/dist/web/a11y/outline.js +42 -0
- package/dist/web/a11y/reading.d.ts +12 -0
- package/dist/web/a11y/reading.js +101 -0
- package/dist/web/a11y/scope.d.ts +23 -0
- package/dist/web/a11y/scope.js +99 -0
- package/dist/web/a11y/states.d.ts +22 -0
- package/dist/web/a11y/states.js +53 -0
- package/dist/web/a11y/tree.d.ts +124 -0
- package/dist/web/a11y/tree.js +269 -0
- package/dist/web/a11y/walk.d.ts +225 -0
- package/dist/web/a11y/walk.js +568 -0
- package/dist/web/a11y/walkprobe.d.ts +44 -0
- package/dist/web/a11y/walkprobe.js +365 -0
- package/dist/web/audit/axe.d.ts +219 -0
- package/dist/web/audit/axe.js +322 -0
- package/dist/web/audit/behind.d.ts +63 -0
- package/dist/web/audit/behind.js +142 -0
- package/dist/web/audit/capture.d.ts +43 -0
- package/dist/web/audit/capture.js +185 -0
- package/dist/web/audit/colour.d.ts +85 -0
- package/dist/web/audit/colour.js +189 -0
- package/dist/web/audit/contrast.d.ts +74 -0
- package/dist/web/audit/contrast.js +104 -0
- package/dist/web/audit/health.d.ts +27 -0
- package/dist/web/audit/health.js +57 -0
- package/dist/web/audit/index.d.ts +22 -0
- package/dist/web/audit/index.js +22 -0
- package/dist/web/audit/pair.d.ts +55 -0
- package/dist/web/audit/pair.js +157 -0
- package/dist/web/audit/probe.d.ts +31 -0
- package/dist/web/audit/probe.js +189 -0
- package/dist/web/audit/report.d.ts +22 -0
- package/dist/web/audit/report.js +250 -0
- package/dist/web/audit/structure.d.ts +126 -0
- package/dist/web/audit/structure.js +595 -0
- package/dist/web/audit/sweep.d.ts +66 -0
- package/dist/web/audit/sweep.js +117 -0
- package/dist/web/audit/target.d.ts +89 -0
- package/dist/web/audit/target.js +168 -0
- package/dist/web/audit/verdict.d.ts +48 -0
- package/dist/web/audit/verdict.js +52 -0
- package/dist/web/audit/visual.d.ts +161 -0
- package/dist/web/audit/visual.js +297 -0
- package/dist/web/browser.d.ts +213 -0
- package/dist/web/browser.js +927 -0
- package/dist/web/compare/images.d.ts +45 -0
- package/dist/web/compare/images.js +101 -0
- package/dist/web/compare/index.d.ts +15 -0
- package/dist/web/compare/index.js +15 -0
- package/dist/web/compare/provenance.d.ts +48 -0
- package/dist/web/compare/provenance.js +86 -0
- package/dist/web/compare/regions.d.ts +78 -0
- package/dist/web/compare/regions.js +211 -0
- package/dist/web/cookies/extract.d.ts +26 -0
- package/dist/web/cookies/extract.js +167 -0
- package/dist/web/cookies/index.d.ts +8 -0
- package/dist/web/cookies/index.js +7 -0
- package/dist/web/cookies/inject.d.ts +13 -0
- package/dist/web/cookies/inject.js +27 -0
- package/dist/web/cookies/setup.d.ts +31 -0
- package/dist/web/cookies/setup.js +94 -0
- package/dist/web/design/index.d.ts +9 -0
- package/dist/web/design/index.js +9 -0
- package/dist/web/design/inventory.d.ts +126 -0
- package/dist/web/design/inventory.js +324 -0
- package/dist/web/design/probe.d.ts +24 -0
- package/dist/web/design/probe.js +88 -0
- package/dist/web/element/actionable.d.ts +34 -0
- package/dist/web/element/actionable.js +48 -0
- package/dist/web/element/animations.d.ts +48 -0
- package/dist/web/element/animations.js +74 -0
- package/dist/web/element/box.d.ts +53 -0
- package/dist/web/element/box.js +58 -0
- package/dist/web/element/hover.d.ts +75 -0
- package/dist/web/element/hover.js +172 -0
- package/dist/web/element/index.d.ts +17 -0
- package/dist/web/element/index.js +17 -0
- package/dist/web/element/listeners.d.ts +72 -0
- package/dist/web/element/listeners.js +98 -0
- package/dist/web/element/measure.d.ts +40 -0
- package/dist/web/element/measure.js +118 -0
- package/dist/web/element/probes.d.ts +108 -0
- package/dist/web/element/probes.js +195 -0
- package/dist/web/element/pseudo.d.ts +51 -0
- package/dist/web/element/pseudo.js +96 -0
- package/dist/web/element/view.d.ts +30 -0
- package/dist/web/element/view.js +117 -0
- package/dist/web/element/visibility.d.ts +42 -0
- package/dist/web/element/visibility.js +67 -0
- package/dist/web/envelope/artifacts.d.ts +23 -0
- package/dist/web/envelope/artifacts.js +45 -0
- package/dist/web/envelope/index.d.ts +9 -0
- package/dist/web/envelope/index.js +9 -0
- package/dist/web/envelope/naming.d.ts +23 -0
- package/dist/web/envelope/naming.js +43 -0
- package/dist/web/envelope/paged.d.ts +42 -0
- package/dist/web/envelope/paged.js +99 -0
- package/dist/web/envelope/sink.d.ts +43 -0
- package/dist/web/envelope/sink.js +67 -0
- package/dist/web/environment/devices.d.ts +65 -0
- package/dist/web/environment/devices.js +82 -0
- package/dist/web/environment/emulation.d.ts +124 -0
- package/dist/web/environment/emulation.js +258 -0
- package/dist/web/environment/index.d.ts +15 -0
- package/dist/web/environment/index.js +15 -0
- package/dist/web/environment/probes.d.ts +18 -0
- package/dist/web/environment/probes.js +40 -0
- package/dist/web/environment/shaping.d.ts +90 -0
- package/dist/web/environment/shaping.js +141 -0
- package/dist/web/environment/status.d.ts +51 -0
- package/dist/web/environment/status.js +109 -0
- package/dist/web/environment/storage.d.ts +55 -0
- package/dist/web/environment/storage.js +142 -0
- package/dist/web/environment/tabs.d.ts +32 -0
- package/dist/web/environment/tabs.js +47 -0
- package/dist/web/environment/view.d.ts +10 -0
- package/dist/web/environment/view.js +42 -0
- package/dist/web/evaluate/index.d.ts +6 -0
- package/dist/web/evaluate/index.js +6 -0
- package/dist/web/evaluate/outcome.d.ts +74 -0
- package/dist/web/evaluate/outcome.js +91 -0
- package/dist/web/evaluate/probe.d.ts +31 -0
- package/dist/web/evaluate/probe.js +303 -0
- package/dist/web/index.d.ts +47 -0
- package/dist/web/index.js +47 -0
- package/dist/web/input/index.d.ts +11 -0
- package/dist/web/input/index.js +11 -0
- package/dist/web/input/keys.d.ts +48 -0
- package/dist/web/input/keys.js +189 -0
- package/dist/web/input/pointer.d.ts +56 -0
- package/dist/web/input/pointer.js +77 -0
- package/dist/web/input/touch.d.ts +61 -0
- package/dist/web/input/touch.js +83 -0
- package/dist/web/mermaid.d.ts +69 -0
- package/dist/web/mermaid.js +223 -0
- package/dist/web/paths.d.ts +16 -0
- package/dist/web/paths.js +27 -0
- package/dist/web/perf/heap.d.ts +42 -0
- package/dist/web/perf/heap.js +73 -0
- package/dist/web/perf/index.d.ts +14 -0
- package/dist/web/perf/index.js +14 -0
- package/dist/web/perf/layers.d.ts +98 -0
- package/dist/web/perf/layers.js +165 -0
- package/dist/web/perf/probe.d.ts +26 -0
- package/dist/web/perf/probe.js +123 -0
- package/dist/web/perf/profile.d.ts +53 -0
- package/dist/web/perf/profile.js +97 -0
- package/dist/web/perf/trace.d.ts +152 -0
- package/dist/web/perf/trace.js +429 -0
- package/dist/web/perf/view.d.ts +6 -0
- package/dist/web/perf/view.js +86 -0
- package/dist/web/perf/vitals.d.ts +141 -0
- package/dist/web/perf/vitals.js +175 -0
- package/dist/web/reader.d.ts +131 -0
- package/dist/web/reader.js +340 -0
- package/dist/web/screenshot.d.ts +50 -0
- package/dist/web/screenshot.js +108 -0
- package/dist/web/search.d.ts +49 -0
- package/dist/web/search.js +137 -0
- package/dist/web/session/artifacts.d.ts +32 -0
- package/dist/web/session/artifacts.js +47 -0
- package/dist/web/session/emulation.d.ts +118 -0
- package/dist/web/session/emulation.js +307 -0
- package/dist/web/session/recording.d.ts +51 -0
- package/dist/web/session/recording.js +64 -0
- package/dist/web/session/settling.d.ts +42 -0
- package/dist/web/session/settling.js +104 -0
- package/dist/web/session/shaping.d.ts +48 -0
- package/dist/web/session/shaping.js +113 -0
- package/dist/web/session/sourcemaps.d.ts +64 -0
- package/dist/web/session/sourcemaps.js +135 -0
- package/dist/web/session/telemetry.d.ts +219 -0
- package/dist/web/session/telemetry.js +486 -0
- package/dist/web/session/wires.d.ts +22 -0
- package/dist/web/session/wires.js +11 -0
- package/dist/web/session.d.ts +1153 -0
- package/dist/web/session.js +3400 -0
- package/dist/web/snapshot/deep.d.ts +36 -0
- package/dist/web/snapshot/deep.js +91 -0
- package/dist/web/snapshot/flatten.d.ts +101 -0
- package/dist/web/snapshot/flatten.js +131 -0
- package/dist/web/snapshot/index.d.ts +8 -0
- package/dist/web/snapshot/index.js +10 -0
- package/dist/web/snapshot/presented.d.ts +32 -0
- package/dist/web/snapshot/presented.js +74 -0
- package/dist/web/snapshot/query.d.ts +67 -0
- package/dist/web/snapshot/query.js +136 -0
- package/dist/web/sourcemap/index.d.ts +9 -0
- package/dist/web/sourcemap/index.js +9 -0
- package/dist/web/sourcemap/mappings.d.ts +111 -0
- package/dist/web/sourcemap/mappings.js +218 -0
- package/dist/web/styles/capture.d.ts +49 -0
- package/dist/web/styles/capture.js +85 -0
- package/dist/web/styles/cascade.d.ts +107 -0
- package/dist/web/styles/cascade.js +275 -0
- package/dist/web/styles/curation.d.ts +45 -0
- package/dist/web/styles/curation.js +282 -0
- package/dist/web/styles/index.d.ts +10 -0
- package/dist/web/styles/index.js +10 -0
- package/dist/web/target/index.d.ts +7 -0
- package/dist/web/target/index.js +7 -0
- package/dist/web/target/refusals.d.ts +59 -0
- package/dist/web/target/refusals.js +305 -0
- package/dist/web/target/target.d.ts +59 -0
- package/dist/web/target/target.js +94 -0
- package/dist/web/telemetry/buffer.d.ts +35 -0
- package/dist/web/telemetry/buffer.js +72 -0
- package/dist/web/telemetry/console.d.ts +127 -0
- package/dist/web/telemetry/console.js +217 -0
- package/dist/web/telemetry/dialogs.d.ts +41 -0
- package/dist/web/telemetry/dialogs.js +38 -0
- package/dist/web/telemetry/downloads.d.ts +42 -0
- package/dist/web/telemetry/downloads.js +65 -0
- package/dist/web/telemetry/failure.d.ts +31 -0
- package/dist/web/telemetry/failure.js +72 -0
- package/dist/web/telemetry/har.d.ts +97 -0
- package/dist/web/telemetry/har.js +227 -0
- package/dist/web/telemetry/index.d.ts +18 -0
- package/dist/web/telemetry/index.js +18 -0
- package/dist/web/telemetry/lifecycle.d.ts +69 -0
- package/dist/web/telemetry/lifecycle.js +120 -0
- package/dist/web/telemetry/network.d.ts +152 -0
- package/dist/web/telemetry/network.js +130 -0
- package/dist/web/telemetry/requests.d.ts +31 -0
- package/dist/web/telemetry/requests.js +119 -0
- package/dist/web/telemetry/sockets.d.ts +56 -0
- package/dist/web/telemetry/sockets.js +101 -0
- package/dist/web/telemetry/view.d.ts +16 -0
- package/dist/web/telemetry/view.js +125 -0
- package/dist/web/wait/conditions.d.ts +87 -0
- package/dist/web/wait/conditions.js +100 -0
- package/dist/web/wait/index.d.ts +6 -0
- package/dist/web/wait/index.js +6 -0
- package/dist/web/wait/settle.d.ts +54 -0
- package/dist/web/wait/settle.js +84 -0
- package/dist/work/ask.d.ts +45 -0
- package/dist/work/ask.js +85 -0
- package/dist/work/author.d.ts +61 -0
- package/dist/work/author.js +144 -0
- package/dist/work/broker.d.ts +151 -0
- package/dist/work/broker.js +165 -0
- package/dist/work/events.d.ts +98 -0
- package/dist/work/events.js +57 -0
- package/dist/work/history.d.ts +69 -0
- package/dist/work/history.js +174 -0
- package/dist/work/index.d.ts +49 -0
- package/dist/work/index.js +33 -0
- package/dist/work/inplay.d.ts +43 -0
- package/dist/work/inplay.js +42 -0
- package/dist/work/memory.d.ts +84 -0
- package/dist/work/memory.js +203 -0
- package/dist/work/objection.d.ts +92 -0
- package/dist/work/objection.js +72 -0
- package/dist/work/provider.d.ts +79 -0
- package/dist/work/provider.js +45 -0
- package/dist/work/providers/git.d.ts +29 -0
- package/dist/work/providers/git.js +87 -0
- package/dist/work/publish.d.ts +53 -0
- package/dist/work/publish.js +139 -0
- package/dist/work/rebase.d.ts +78 -0
- package/dist/work/rebase.js +261 -0
- package/dist/work/reclaim.d.ts +56 -0
- package/dist/work/reclaim.js +52 -0
- package/dist/work/register.d.ts +29 -0
- package/dist/work/register.js +41 -0
- package/dist/work/stack.d.ts +126 -0
- package/dist/work/stack.js +243 -0
- package/dist/work/stacks.d.ts +156 -0
- package/dist/work/stacks.js +524 -0
- package/dist/work/survey.d.ts +52 -0
- package/dist/work/survey.js +58 -0
- package/dist/work/tidy.d.ts +147 -0
- package/dist/work/tidy.js +136 -0
- package/dist/work/tree.d.ts +120 -0
- package/dist/work/tree.js +69 -0
- package/dist/work/unattended.d.ts +40 -0
- package/dist/work/unattended.js +57 -0
- package/package.json +145 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded, tiled screenshot capture.
|
|
3
|
+
*
|
|
4
|
+
* `preparePage` settles the page (capture-width viewport, lazy-content
|
|
5
|
+
* scroll) so every representation is read from one state. `captureTiles`
|
|
6
|
+
* then captures the page as an ordered stack of vertical bands rather than
|
|
7
|
+
* one full-page image. Each band stays under the model provider's image
|
|
8
|
+
* dimension limit, so a long page can never produce an image the model
|
|
9
|
+
* rejects. A page taller than the tile budget is truncated and the caller
|
|
10
|
+
* is told.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Plan the vertical clip bands that tile a page of the given height. No
|
|
14
|
+
* band exceeds `bandHeight`, and the plan stops at `maxTiles`, reporting
|
|
15
|
+
* `truncated` when the page runs past the tile budget.
|
|
16
|
+
*/
|
|
17
|
+
export function planTiles(pageHeight, opts) {
|
|
18
|
+
const { bandHeight, maxTiles } = opts;
|
|
19
|
+
const bands = [];
|
|
20
|
+
for (let y = 0; y < pageHeight && bands.length < maxTiles; y += bandHeight) {
|
|
21
|
+
bands.push({ y, height: Math.min(bandHeight, pageHeight - y) });
|
|
22
|
+
}
|
|
23
|
+
const last = bands.at(-1);
|
|
24
|
+
const covered = last ? last.y + last.height : 0;
|
|
25
|
+
return { bands, truncated: covered < pageHeight };
|
|
26
|
+
}
|
|
27
|
+
/** Milliseconds to wait between scroll steps for lazy content to load. */
|
|
28
|
+
const SCROLL_STEP_WAIT = 100;
|
|
29
|
+
/** Maximum scroll steps before we give up and capture what we have. */
|
|
30
|
+
const MAX_SCROLL_STEPS = 40;
|
|
31
|
+
/**
|
|
32
|
+
* Milliseconds to wait after resizing and scrolling for the reflow and
|
|
33
|
+
* any scroll-triggered lazy loads to settle before capture.
|
|
34
|
+
*/
|
|
35
|
+
const SETTLE_WAIT = 500;
|
|
36
|
+
/**
|
|
37
|
+
* Scroll to the bottom in viewport-sized steps to trigger lazy-loaded
|
|
38
|
+
* content, then return to the top so the capture starts from the top.
|
|
39
|
+
*/
|
|
40
|
+
async function scrollToBottom(page) {
|
|
41
|
+
await page.evaluate(({ wait, max }) => new Promise((resolve) => {
|
|
42
|
+
let steps = 0;
|
|
43
|
+
const timer = setInterval(() => {
|
|
44
|
+
const before = window.scrollY;
|
|
45
|
+
window.scrollBy(0, window.innerHeight);
|
|
46
|
+
steps += 1;
|
|
47
|
+
const reachedBottom = window.scrollY === before;
|
|
48
|
+
if (steps >= max || reachedBottom) {
|
|
49
|
+
clearInterval(timer);
|
|
50
|
+
window.scrollTo(0, 0);
|
|
51
|
+
resolve();
|
|
52
|
+
}
|
|
53
|
+
}, wait);
|
|
54
|
+
}), { wait: SCROLL_STEP_WAIT, max: MAX_SCROLL_STEPS });
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Fixed capture width in CSS pixels. Well under the provider's long-edge
|
|
58
|
+
* downscale threshold, so width is never the offending dimension.
|
|
59
|
+
*/
|
|
60
|
+
const CAPTURE_WIDTH = 1280;
|
|
61
|
+
/**
|
|
62
|
+
* Height of each tile in CSS pixels. Kept under the standard tier's
|
|
63
|
+
* 1568-pixel long-edge limit so a tile is not downscaled and its text
|
|
64
|
+
* stays legible.
|
|
65
|
+
*/
|
|
66
|
+
const BAND_HEIGHT = 1500;
|
|
67
|
+
/**
|
|
68
|
+
* Ceiling on the number of tiles per page. Eight 1500-pixel bands cover
|
|
69
|
+
* 12000 pixels of page while staying well under the 20-image request
|
|
70
|
+
* rule, so a runaway page never floods the response.
|
|
71
|
+
*/
|
|
72
|
+
const MAX_TILES = 8;
|
|
73
|
+
/**
|
|
74
|
+
* Settle the page into the state every representation is captured from:
|
|
75
|
+
* fix the viewport to the capture width, then scroll to the bottom so
|
|
76
|
+
* lazy-loaded content renders, returning to the top. Call this once before
|
|
77
|
+
* reading the DOM, inner text or screenshots so they all agree.
|
|
78
|
+
*/
|
|
79
|
+
export async function preparePage(page) {
|
|
80
|
+
await page.setViewport({ width: CAPTURE_WIDTH, height: 1024 });
|
|
81
|
+
await scrollToBottom(page);
|
|
82
|
+
// Let the resize reflow and any scroll-triggered lazy loads settle so
|
|
83
|
+
// the text, DOM and screenshots that follow agree on one rendered state.
|
|
84
|
+
await page.evaluate((ms) => new Promise((r) => setTimeout(r, ms)), SETTLE_WAIT);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Capture the page as an ordered stack of PNG tiles, each a base64 string,
|
|
88
|
+
* by clipping successive vertical bands planned by `planTiles`. No tile
|
|
89
|
+
* exceeds the band height, and the capture stops at the tile ceiling.
|
|
90
|
+
* Assumes `preparePage` has already settled the viewport and lazy content.
|
|
91
|
+
*/
|
|
92
|
+
export async function captureTiles(page) {
|
|
93
|
+
const pageHeight = await page.evaluate(() => Math.ceil(document.documentElement.scrollHeight));
|
|
94
|
+
const { bands, truncated } = planTiles(pageHeight, {
|
|
95
|
+
bandHeight: BAND_HEIGHT,
|
|
96
|
+
maxTiles: MAX_TILES,
|
|
97
|
+
});
|
|
98
|
+
const tiles = [];
|
|
99
|
+
for (const band of bands) {
|
|
100
|
+
const shot = await page.screenshot({
|
|
101
|
+
type: "png",
|
|
102
|
+
encoding: "base64",
|
|
103
|
+
clip: { x: 0, y: band.y, width: CAPTURE_WIDTH, height: band.height },
|
|
104
|
+
});
|
|
105
|
+
tiles.push(typeof shot === "string" ? shot : Buffer.from(shot).toString("base64"));
|
|
106
|
+
}
|
|
107
|
+
return { tiles, truncated };
|
|
108
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web search via headless Chrome. DuckDuckGo's HTML interface
|
|
3
|
+
* is the primary provider; Bing's HTML results are the
|
|
4
|
+
* fallback when DuckDuckGo returns nothing or errors. Google
|
|
5
|
+
* blocks headless browsers, so it is not used.
|
|
6
|
+
*/
|
|
7
|
+
/** A single web search result. */
|
|
8
|
+
export interface SearchResult {
|
|
9
|
+
title: string;
|
|
10
|
+
url: string;
|
|
11
|
+
snippet: string;
|
|
12
|
+
}
|
|
13
|
+
/** A search backend: a URL to visit and a page-side extractor. */
|
|
14
|
+
interface SearchProvider {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
url(query: string): string;
|
|
17
|
+
/** Runs in the page context; returns raw title/href/snippet rows. */
|
|
18
|
+
extract(): {
|
|
19
|
+
title: string;
|
|
20
|
+
url: string;
|
|
21
|
+
snippet: string;
|
|
22
|
+
}[];
|
|
23
|
+
/** Normalize a raw href into a real destination URL. */
|
|
24
|
+
cleanUrl(href: string): string;
|
|
25
|
+
}
|
|
26
|
+
/** Extract the real URL from a DuckDuckGo redirect link. */
|
|
27
|
+
export declare function extractDuckDuckGoUrl(ddgHref: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Unwrap a Bing `ck/a` redirect to its destination. Bing
|
|
30
|
+
* wraps organic result links as `.../ck/a?...&u=a1<base64url>`;
|
|
31
|
+
* the segment after the `a1` marker is the base64url-encoded
|
|
32
|
+
* target. A link that is not wrapped is returned unchanged.
|
|
33
|
+
*/
|
|
34
|
+
export declare function extractBingUrl(href: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Try each provider in order and return the first non-empty
|
|
37
|
+
* result. A provider that throws or returns nothing hands off to
|
|
38
|
+
* the next; when all are exhausted the result is an empty list.
|
|
39
|
+
* The runner is passed in so the fallback order can be exercised
|
|
40
|
+
* without a live browser.
|
|
41
|
+
*/
|
|
42
|
+
export declare function firstProviderResults(providers: readonly SearchProvider[], run: (provider: SearchProvider) => Promise<SearchResult[]>): Promise<SearchResult[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Search the web, trying each provider in turn until one
|
|
45
|
+
* returns results. DuckDuckGo is primary and Bing is the
|
|
46
|
+
* fallback; when all are exhausted the result is an empty list.
|
|
47
|
+
*/
|
|
48
|
+
export declare function webSearch(query: string, numResults?: number, signal?: AbortSignal): Promise<SearchResult[]>;
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web search via headless Chrome. DuckDuckGo's HTML interface
|
|
3
|
+
* is the primary provider; Bing's HTML results are the
|
|
4
|
+
* fallback when DuckDuckGo returns nothing or errors. Google
|
|
5
|
+
* blocks headless browsers, so it is not used.
|
|
6
|
+
*/
|
|
7
|
+
import { newPage } from "./browser.js";
|
|
8
|
+
/** Timeout for search page navigation in milliseconds. */
|
|
9
|
+
const SEARCH_PAGE_TIMEOUT = 15_000;
|
|
10
|
+
/** Extract the real URL from a DuckDuckGo redirect link. */
|
|
11
|
+
export function extractDuckDuckGoUrl(ddgHref) {
|
|
12
|
+
const match = ddgHref.match(/uddg=([^&]+)/);
|
|
13
|
+
if (match) {
|
|
14
|
+
try {
|
|
15
|
+
return decodeURIComponent(match[1]);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
// Malformed encoding: return the href unchanged rather than
|
|
19
|
+
// promoting the redirect wrapper as if it were the target.
|
|
20
|
+
return ddgHref;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
if (ddgHref.startsWith("//"))
|
|
24
|
+
return `https:${ddgHref}`;
|
|
25
|
+
return ddgHref;
|
|
26
|
+
}
|
|
27
|
+
const DUCKDUCKGO = {
|
|
28
|
+
name: "duckduckgo",
|
|
29
|
+
url: (query) => `https://html.duckduckgo.com/html/?q=${encodeURIComponent(query)}`,
|
|
30
|
+
extract: () => {
|
|
31
|
+
const entries = [];
|
|
32
|
+
for (const item of document.querySelectorAll(".result")) {
|
|
33
|
+
const anchor = item.querySelector("a.result__a");
|
|
34
|
+
const snippetEl = item.querySelector(".result__snippet");
|
|
35
|
+
const title = anchor?.textContent?.trim() || "";
|
|
36
|
+
const href = anchor?.getAttribute("href") || "";
|
|
37
|
+
const snippet = snippetEl?.textContent?.trim() || "";
|
|
38
|
+
if (title && href)
|
|
39
|
+
entries.push({ title, url: href, snippet });
|
|
40
|
+
}
|
|
41
|
+
return entries;
|
|
42
|
+
},
|
|
43
|
+
cleanUrl: extractDuckDuckGoUrl,
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Unwrap a Bing `ck/a` redirect to its destination. Bing
|
|
47
|
+
* wraps organic result links as `.../ck/a?...&u=a1<base64url>`;
|
|
48
|
+
* the segment after the `a1` marker is the base64url-encoded
|
|
49
|
+
* target. A link that is not wrapped is returned unchanged.
|
|
50
|
+
*/
|
|
51
|
+
export function extractBingUrl(href) {
|
|
52
|
+
try {
|
|
53
|
+
const u = new URL(href, "https://www.bing.com").searchParams.get("u");
|
|
54
|
+
if (u?.startsWith("a1")) {
|
|
55
|
+
const b64 = u.slice(2).replace(/-/g, "+").replace(/_/g, "/");
|
|
56
|
+
const decoded = Buffer.from(b64, "base64").toString("utf8");
|
|
57
|
+
if (/^https?:\/\//.test(decoded))
|
|
58
|
+
return decoded;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// Not a parseable redirect; fall back to the raw href.
|
|
63
|
+
}
|
|
64
|
+
return href;
|
|
65
|
+
}
|
|
66
|
+
const BING = {
|
|
67
|
+
name: "bing",
|
|
68
|
+
url: (query) => `https://www.bing.com/search?q=${encodeURIComponent(query)}`,
|
|
69
|
+
extract: () => {
|
|
70
|
+
const entries = [];
|
|
71
|
+
for (const item of document.querySelectorAll("li.b_algo")) {
|
|
72
|
+
const anchor = item.querySelector("h2 a");
|
|
73
|
+
const snippetEl = item.querySelector(".b_caption p, p");
|
|
74
|
+
const title = anchor?.textContent?.trim() || "";
|
|
75
|
+
const href = anchor?.getAttribute("href") || "";
|
|
76
|
+
const snippet = snippetEl?.textContent?.trim() || "";
|
|
77
|
+
if (title && href)
|
|
78
|
+
entries.push({ title, url: href, snippet });
|
|
79
|
+
}
|
|
80
|
+
return entries;
|
|
81
|
+
},
|
|
82
|
+
cleanUrl: extractBingUrl,
|
|
83
|
+
};
|
|
84
|
+
/** Providers in the order they are tried. */
|
|
85
|
+
const PROVIDERS = [DUCKDUCKGO, BING];
|
|
86
|
+
/** Run one provider, returning its results or an empty list. */
|
|
87
|
+
async function runProvider(provider, query, numResults, signal) {
|
|
88
|
+
const page = await newPage();
|
|
89
|
+
try {
|
|
90
|
+
if (signal?.aborted)
|
|
91
|
+
return [];
|
|
92
|
+
await page.goto(provider.url(query), {
|
|
93
|
+
waitUntil: "domcontentloaded",
|
|
94
|
+
timeout: SEARCH_PAGE_TIMEOUT,
|
|
95
|
+
});
|
|
96
|
+
if (signal?.aborted)
|
|
97
|
+
return [];
|
|
98
|
+
const raw = await page.evaluate(provider.extract);
|
|
99
|
+
return raw.slice(0, numResults).map((r) => ({
|
|
100
|
+
...r,
|
|
101
|
+
url: provider.cleanUrl(r.url),
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
await page.close();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Try each provider in order and return the first non-empty
|
|
110
|
+
* result. A provider that throws or returns nothing hands off to
|
|
111
|
+
* the next; when all are exhausted the result is an empty list.
|
|
112
|
+
* The runner is passed in so the fallback order can be exercised
|
|
113
|
+
* without a live browser.
|
|
114
|
+
*/
|
|
115
|
+
export async function firstProviderResults(providers, run) {
|
|
116
|
+
for (const provider of providers) {
|
|
117
|
+
try {
|
|
118
|
+
const results = await run(provider);
|
|
119
|
+
if (results.length > 0)
|
|
120
|
+
return results;
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// This provider failed; fall through to the next one.
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Search the web, trying each provider in turn until one
|
|
130
|
+
* returns results. DuckDuckGo is primary and Bing is the
|
|
131
|
+
* fallback; when all are exhausted the result is an empty list.
|
|
132
|
+
*/
|
|
133
|
+
export async function webSearch(query, numResults = 10, signal) {
|
|
134
|
+
return firstProviderResults(PROVIDERS, (provider) => signal?.aborted
|
|
135
|
+
? Promise.resolve([])
|
|
136
|
+
: runProvider(provider, query, numResults, signal));
|
|
137
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything a session puts on disk, and the bookkeeping that
|
|
3
|
+
* keeps one write from trampling another.
|
|
4
|
+
*
|
|
5
|
+
* The sink is made on first use rather than at open, because
|
|
6
|
+
* most sessions never write anything and a directory per
|
|
7
|
+
* session would be litter. The stamps exist so no picture or
|
|
8
|
+
* archive overwrites another, and the ledger of paths exists so
|
|
9
|
+
* status can recite what was written, in order.
|
|
10
|
+
*/
|
|
11
|
+
import { type BundleSink } from "../envelope/index.js";
|
|
12
|
+
/** The disk side of a session: sink, stamps and ledger. */
|
|
13
|
+
export declare class ArtifactLedger {
|
|
14
|
+
/** Where this session's files are written, made on demand. */
|
|
15
|
+
private bundle?;
|
|
16
|
+
/** How many pictures have been taken. */
|
|
17
|
+
private shots;
|
|
18
|
+
/** How many archives have been written. */
|
|
19
|
+
private archives;
|
|
20
|
+
/** Everything this session has put on disk, in order. */
|
|
21
|
+
private readonly paths;
|
|
22
|
+
/** The sink artifacts go to, made on first use. */
|
|
23
|
+
sink(): BundleSink;
|
|
24
|
+
/** The next picture's stamp, so none overwrites another. */
|
|
25
|
+
nextShot(): string;
|
|
26
|
+
/** The next archive's stamp, for the same reason. */
|
|
27
|
+
nextArchive(): string;
|
|
28
|
+
/** Note a path in the ledger and hand it back. */
|
|
29
|
+
keep(path: string): string;
|
|
30
|
+
/** Everything written, in order. */
|
|
31
|
+
get written(): readonly string[];
|
|
32
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything a session puts on disk, and the bookkeeping that
|
|
3
|
+
* keeps one write from trampling another.
|
|
4
|
+
*
|
|
5
|
+
* The sink is made on first use rather than at open, because
|
|
6
|
+
* most sessions never write anything and a directory per
|
|
7
|
+
* session would be litter. The stamps exist so no picture or
|
|
8
|
+
* archive overwrites another, and the ledger of paths exists so
|
|
9
|
+
* status can recite what was written, in order.
|
|
10
|
+
*/
|
|
11
|
+
import { diskSink } from "../envelope/index.js";
|
|
12
|
+
/** The disk side of a session: sink, stamps and ledger. */
|
|
13
|
+
export class ArtifactLedger {
|
|
14
|
+
/** Where this session's files are written, made on demand. */
|
|
15
|
+
bundle;
|
|
16
|
+
/** How many pictures have been taken. */
|
|
17
|
+
shots = 0;
|
|
18
|
+
/** How many archives have been written. */
|
|
19
|
+
archives = 0;
|
|
20
|
+
/** Everything this session has put on disk, in order. */
|
|
21
|
+
paths = [];
|
|
22
|
+
/** The sink artifacts go to, made on first use. */
|
|
23
|
+
sink() {
|
|
24
|
+
if (!this.bundle)
|
|
25
|
+
this.bundle = diskSink();
|
|
26
|
+
return this.bundle;
|
|
27
|
+
}
|
|
28
|
+
/** The next picture's stamp, so none overwrites another. */
|
|
29
|
+
nextShot() {
|
|
30
|
+
this.shots += 1;
|
|
31
|
+
return String(this.shots).padStart(2, "0");
|
|
32
|
+
}
|
|
33
|
+
/** The next archive's stamp, for the same reason. */
|
|
34
|
+
nextArchive() {
|
|
35
|
+
this.archives += 1;
|
|
36
|
+
return String(this.archives).padStart(2, "0");
|
|
37
|
+
}
|
|
38
|
+
/** Note a path in the ledger and hand it back. */
|
|
39
|
+
keep(path) {
|
|
40
|
+
this.paths.push(path);
|
|
41
|
+
return path;
|
|
42
|
+
}
|
|
43
|
+
/** Everything written, in order. */
|
|
44
|
+
get written() {
|
|
45
|
+
return this.paths;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a session pretends to be, and how the pretence is kept.
|
|
3
|
+
*
|
|
4
|
+
* The intent is held whole and re-applied in full, because
|
|
5
|
+
* Chrome's media emulation forgets anything a call omits, and a
|
|
6
|
+
* cross-process navigation swaps the renderer the flags live in.
|
|
7
|
+
* Applying, observing and diverging all live here so the one
|
|
8
|
+
* piece of state has one keeper.
|
|
9
|
+
*/
|
|
10
|
+
import { type Divergence, type EmulationState, type ObservedEnvironment } from "../environment/index.js";
|
|
11
|
+
import type { SessionWires } from "./wires.js";
|
|
12
|
+
/** What emulation needs from the session besides the browser. */
|
|
13
|
+
interface EmulationHooks {
|
|
14
|
+
/** Wait for the reflow an emulation change starts to finish. */
|
|
15
|
+
readonly settle: () => Promise<unknown>;
|
|
16
|
+
}
|
|
17
|
+
/** The standing pretence, applied, observed and diverged. */
|
|
18
|
+
export declare class EmulationController {
|
|
19
|
+
private readonly wires;
|
|
20
|
+
private readonly hooks;
|
|
21
|
+
/** What this session is pretending to be. */
|
|
22
|
+
private state;
|
|
23
|
+
/**
|
|
24
|
+
* Media features this browser turned down.
|
|
25
|
+
*
|
|
26
|
+
* Kept so the refusal can be reported once, rather than lost
|
|
27
|
+
* silently or, worse, left in the intent to fail again on every
|
|
28
|
+
* navigation that replays it.
|
|
29
|
+
*/
|
|
30
|
+
private refused;
|
|
31
|
+
constructor(wires: SessionWires, hooks: EmulationHooks);
|
|
32
|
+
/** What this session has asked the browser to pretend. */
|
|
33
|
+
get asked(): EmulationState;
|
|
34
|
+
/** Whether the page believes it is being touched. */
|
|
35
|
+
get touch(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Put the emulation back exactly as it was.
|
|
38
|
+
*
|
|
39
|
+
* change merges, which is right for a caller adding one
|
|
40
|
+
* condition and wrong for anything that has to undo itself: a
|
|
41
|
+
* merge cannot clear a field, so a sweep that widened the
|
|
42
|
+
* viewport could never restore a session that had none. This
|
|
43
|
+
* replaces the state wholesale.
|
|
44
|
+
*/
|
|
45
|
+
restore(state: EmulationState): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Pretend to be a different visitor, then report what the page
|
|
48
|
+
* actually experiences.
|
|
49
|
+
*
|
|
50
|
+
* The intent is kept whole and re-applied in full, because
|
|
51
|
+
* Chrome's media emulation forgets anything a call omits, so
|
|
52
|
+
* asking for reduced motion after asking for dark mode would
|
|
53
|
+
* otherwise turn the dark mode back off.
|
|
54
|
+
*/
|
|
55
|
+
change(change?: EmulationState,
|
|
56
|
+
/** Overrides to take off, which an absent key cannot express. */
|
|
57
|
+
clear?: readonly (keyof EmulationState)[]): Promise<{
|
|
58
|
+
asked: EmulationState;
|
|
59
|
+
observed: ObservedEnvironment;
|
|
60
|
+
gaps: readonly Divergence[];
|
|
61
|
+
}>;
|
|
62
|
+
/**
|
|
63
|
+
* Put the standing intent to the browser again, after arriving.
|
|
64
|
+
*
|
|
65
|
+
* Kept, though the driver now carries emulation across a
|
|
66
|
+
* navigation itself, because this same path restores a session
|
|
67
|
+
* after a crash and because it costs nothing when nothing is
|
|
68
|
+
* being emulated.
|
|
69
|
+
*
|
|
70
|
+
* What is gone is what used to sit under here: a second
|
|
71
|
+
* application on the document-arrival event, and a loop that
|
|
72
|
+
* asked the page whether the first two had worked. Both were
|
|
73
|
+
* workarounds for sending emulation on a protocol session of our
|
|
74
|
+
* own, and neither made it certain. Removing the cause removed
|
|
75
|
+
* the need for either, measured twelve times out of twelve
|
|
76
|
+
* through the shape that used to fail one time in three.
|
|
77
|
+
*/
|
|
78
|
+
reassert(): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* How the pretence and the page disagree right now.
|
|
81
|
+
*
|
|
82
|
+
* Checked rather than recited. What is being emulated is what
|
|
83
|
+
* the session asked for, and a navigation can quietly drop part
|
|
84
|
+
* of it, so the page is asked whether it agrees before status
|
|
85
|
+
* says it is pretending to be a phone. A blank page has nothing
|
|
86
|
+
* laid out to check, so it reports no gaps rather than fake ones.
|
|
87
|
+
*/
|
|
88
|
+
currentGaps(): Promise<readonly Divergence[]>;
|
|
89
|
+
/**
|
|
90
|
+
* The standing intent with any named device resolved.
|
|
91
|
+
*
|
|
92
|
+
* A device is shorthand for a viewport and a touch screen, and
|
|
93
|
+
* anything the caller said explicitly outranks it: asking for a
|
|
94
|
+
* phone and a width means the phone with that width.
|
|
95
|
+
*/
|
|
96
|
+
private get effective();
|
|
97
|
+
/**
|
|
98
|
+
* Put the media features to the browser, dropping any it refuses.
|
|
99
|
+
*
|
|
100
|
+
* The set goes over in one call and Chrome rejects the whole set on
|
|
101
|
+
* the first feature it does not recognise, so a feature this build
|
|
102
|
+
* of Chrome has never heard of would otherwise take every working
|
|
103
|
+
* feature with it. Worse, the intent is replayed on navigation, so
|
|
104
|
+
* a single refusal became an error on later calls that asked for
|
|
105
|
+
* nothing at all: one real session failed a plain navigate with
|
|
106
|
+
* "Unsupported media feature: prefers-contrast" long after the
|
|
107
|
+
* emulate call that set it.
|
|
108
|
+
*
|
|
109
|
+
* Dropping is per feature and one at a time, because the message
|
|
110
|
+
* names only the first offender.
|
|
111
|
+
*/
|
|
112
|
+
private applyMediaFeatures;
|
|
113
|
+
/** Put the whole standing intent to the browser. */
|
|
114
|
+
apply(): Promise<void>;
|
|
115
|
+
/** What the page says it is experiencing. */
|
|
116
|
+
private observe;
|
|
117
|
+
}
|
|
118
|
+
export {};
|