@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,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bending the network a session sees: mocked replies, blocked
|
|
3
|
+
* requests and throttled throughput.
|
|
4
|
+
*
|
|
5
|
+
* Interception is only attached while there is a rule to apply.
|
|
6
|
+
* Every paused request has to be answered or the page waits on
|
|
7
|
+
* it forever, so an interceptor with nothing to say is a
|
|
8
|
+
* liability rather than a neutral bystander.
|
|
9
|
+
*/
|
|
10
|
+
import { resolveThrottle, ruleFor, } from "../environment/index.js";
|
|
11
|
+
/** The rules and throttle a session's network answers to. */
|
|
12
|
+
export class NetworkShaper {
|
|
13
|
+
wires;
|
|
14
|
+
/** Requests being mocked or blocked, first match winning. */
|
|
15
|
+
rules = [];
|
|
16
|
+
/** How slow the network is being made, if at all. */
|
|
17
|
+
throttle;
|
|
18
|
+
/** Whether the interceptor is currently attached. */
|
|
19
|
+
intercepting = false;
|
|
20
|
+
constructor(wires) {
|
|
21
|
+
this.wires = wires;
|
|
22
|
+
}
|
|
23
|
+
/** How the network is currently being bent. */
|
|
24
|
+
get current() {
|
|
25
|
+
return { rules: this.rules, throttle: this.throttle };
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Mock a reply, block a request, slow it all down, or stop
|
|
29
|
+
* pretending.
|
|
30
|
+
*/
|
|
31
|
+
async shape(change) {
|
|
32
|
+
await this.wires.ready();
|
|
33
|
+
if (change.clear) {
|
|
34
|
+
this.rules = [];
|
|
35
|
+
this.throttle = undefined;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
if (change.rules)
|
|
39
|
+
this.rules = [...this.rules, ...change.rules];
|
|
40
|
+
// Resolved here so a profile name is as good as the conditions
|
|
41
|
+
// it stands for. Passed a name, this used to read the fields
|
|
42
|
+
// it wanted off a string, find none, and shape nothing at all.
|
|
43
|
+
if (change.throttle)
|
|
44
|
+
this.throttle = resolveThrottle(change.throttle);
|
|
45
|
+
}
|
|
46
|
+
await this.wires.cdp().send("Network.emulateNetworkConditions", {
|
|
47
|
+
offline: this.throttle?.offline ?? false,
|
|
48
|
+
latency: this.throttle?.latency ?? 0,
|
|
49
|
+
// The protocol reads -1 as no limit, which is not the same
|
|
50
|
+
// as zero, and zero would mean nothing may pass at all.
|
|
51
|
+
downloadThroughput: this.throttle?.download || -1,
|
|
52
|
+
uploadThroughput: this.throttle?.upload || -1,
|
|
53
|
+
});
|
|
54
|
+
if (this.rules.length === 0) {
|
|
55
|
+
if (this.intercepting) {
|
|
56
|
+
await this.wires.cdp().send("Fetch.disable");
|
|
57
|
+
this.intercepting = false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else if (!this.intercepting) {
|
|
61
|
+
this.wires.cdp().on("Fetch.requestPaused", (event) => {
|
|
62
|
+
void this.answerPaused(event);
|
|
63
|
+
});
|
|
64
|
+
await this.wires
|
|
65
|
+
.cdp()
|
|
66
|
+
.send("Fetch.enable", { patterns: [{ urlPattern: "*" }] });
|
|
67
|
+
this.intercepting = true;
|
|
68
|
+
}
|
|
69
|
+
return { rules: this.rules, throttle: this.throttle };
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Decide what a paused request gets.
|
|
73
|
+
*
|
|
74
|
+
* Whatever happens, it is answered. A handler that throws and
|
|
75
|
+
* says nothing leaves the page waiting forever on a request
|
|
76
|
+
* the browser has already stopped for us.
|
|
77
|
+
*/
|
|
78
|
+
async answerPaused(event) {
|
|
79
|
+
const rule = ruleFor(this.rules, event.request.url);
|
|
80
|
+
try {
|
|
81
|
+
if (rule?.action === "block") {
|
|
82
|
+
await this.wires.cdp().send("Fetch.failRequest", {
|
|
83
|
+
requestId: event.requestId,
|
|
84
|
+
errorReason: (rule.reason ??
|
|
85
|
+
"BlockedByClient"),
|
|
86
|
+
});
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (rule?.action === "mock") {
|
|
90
|
+
await this.wires.cdp().send("Fetch.fulfillRequest", {
|
|
91
|
+
requestId: event.requestId,
|
|
92
|
+
responseCode: rule.status ?? 200,
|
|
93
|
+
responseHeaders: [
|
|
94
|
+
{
|
|
95
|
+
name: "content-type",
|
|
96
|
+
value: rule.contentType ?? "text/plain",
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
body: Buffer.from(rule.body ?? "").toString("base64"),
|
|
100
|
+
});
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
await this.wires.cdp().send("Fetch.continueRequest", {
|
|
104
|
+
requestId: event.requestId,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// The request may already be resolved, or the page may have
|
|
109
|
+
// navigated out from under it. Either way there is nothing
|
|
110
|
+
// left to answer and nothing worth reporting.
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which source map belongs to which file, and what that makes
|
|
3
|
+
* of a generated position.
|
|
4
|
+
*
|
|
5
|
+
* Chrome reports the map's URL and stops there. It does no
|
|
6
|
+
* resolving of its own, because in a browser that is the
|
|
7
|
+
* devtools front end's job, so a session that wants authored
|
|
8
|
+
* positions has to keep the note itself. The note is all that
|
|
9
|
+
* is kept eagerly: most sessions never throw, and fetching every
|
|
10
|
+
* map a page mentions would cost a request per bundle to answer
|
|
11
|
+
* a question nobody asked.
|
|
12
|
+
*/
|
|
13
|
+
import type { EvalFrame } from "../evaluate/index.js";
|
|
14
|
+
import { type AuthoredPosition } from "../sourcemap/index.js";
|
|
15
|
+
import type { SessionWires } from "./wires.js";
|
|
16
|
+
/** The maps a page has declared, fetched only when asked after. */
|
|
17
|
+
export declare class SourceMapStore {
|
|
18
|
+
private readonly wires;
|
|
19
|
+
/** Which map each script and stylesheet named, unresolved. */
|
|
20
|
+
private readonly mapUrls;
|
|
21
|
+
/** Maps already fetched. A null records one that will not come. */
|
|
22
|
+
private readonly maps;
|
|
23
|
+
/** Which URL each stylesheet id belongs to. */
|
|
24
|
+
private readonly sheetUrls;
|
|
25
|
+
constructor(wires: SessionWires);
|
|
26
|
+
/**
|
|
27
|
+
* Note which map belongs to which script and stylesheet, from
|
|
28
|
+
* here on.
|
|
29
|
+
*/
|
|
30
|
+
listen(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Tell each frame of a stack where it was written.
|
|
33
|
+
*
|
|
34
|
+
* A frame with no map keeps its generated position rather than
|
|
35
|
+
* being dropped: half a stack is worse than a raw one.
|
|
36
|
+
*/
|
|
37
|
+
resolveFrames(frames: readonly EvalFrame[]): Promise<readonly EvalFrame[]>;
|
|
38
|
+
/**
|
|
39
|
+
* Where a stylesheet position was authored, or nothing when no
|
|
40
|
+
* map covers it.
|
|
41
|
+
*
|
|
42
|
+
* The cascade names its stylesheet by protocol id, so the join
|
|
43
|
+
* from id to URL to map happens here, where all three notes
|
|
44
|
+
* live.
|
|
45
|
+
*/
|
|
46
|
+
authoredForSheet(styleSheetId: string, position: {
|
|
47
|
+
readonly line: number;
|
|
48
|
+
readonly column: number;
|
|
49
|
+
}): Promise<AuthoredPosition | undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* Fetch and decode the map for a file, once.
|
|
52
|
+
*
|
|
53
|
+
* The fetch goes through the page rather than through node,
|
|
54
|
+
* because the page is already on the right origin with the
|
|
55
|
+
* right cookies. A map behind a login is unreachable any
|
|
56
|
+
* other way.
|
|
57
|
+
*
|
|
58
|
+
* A failure is cached as firmly as a success. A map that 404s
|
|
59
|
+
* will still 404 on the next frame of the same stack, and
|
|
60
|
+
* asking again once per frame is how one bad path turns into
|
|
61
|
+
* a dozen requests.
|
|
62
|
+
*/
|
|
63
|
+
private mapFor;
|
|
64
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which source map belongs to which file, and what that makes
|
|
3
|
+
* of a generated position.
|
|
4
|
+
*
|
|
5
|
+
* Chrome reports the map's URL and stops there. It does no
|
|
6
|
+
* resolving of its own, because in a browser that is the
|
|
7
|
+
* devtools front end's job, so a session that wants authored
|
|
8
|
+
* positions has to keep the note itself. The note is all that
|
|
9
|
+
* is kept eagerly: most sessions never throw, and fetching every
|
|
10
|
+
* map a page mentions would cost a request per bundle to answer
|
|
11
|
+
* a question nobody asked.
|
|
12
|
+
*/
|
|
13
|
+
import { authoredPosition, parseSourceMap, resolveMapUrl, } from "../sourcemap/index.js";
|
|
14
|
+
/** The maps a page has declared, fetched only when asked after. */
|
|
15
|
+
export class SourceMapStore {
|
|
16
|
+
wires;
|
|
17
|
+
/** Which map each script and stylesheet named, unresolved. */
|
|
18
|
+
mapUrls = new Map();
|
|
19
|
+
/** Maps already fetched. A null records one that will not come. */
|
|
20
|
+
maps = new Map();
|
|
21
|
+
/** Which URL each stylesheet id belongs to. */
|
|
22
|
+
sheetUrls = new Map();
|
|
23
|
+
constructor(wires) {
|
|
24
|
+
this.wires = wires;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Note which map belongs to which script and stylesheet, from
|
|
28
|
+
* here on.
|
|
29
|
+
*/
|
|
30
|
+
async listen() {
|
|
31
|
+
this.wires.cdp().on("Debugger.scriptParsed", (event) => {
|
|
32
|
+
if (!event.sourceMapURL || !event.url)
|
|
33
|
+
return;
|
|
34
|
+
this.mapUrls.set(event.url, event.sourceMapURL);
|
|
35
|
+
});
|
|
36
|
+
this.wires.cdp().on("CSS.styleSheetAdded", (event) => {
|
|
37
|
+
const { sourceURL, sourceMapURL, styleSheetId } = event.header;
|
|
38
|
+
if (!sourceMapURL || !sourceURL)
|
|
39
|
+
return;
|
|
40
|
+
this.mapUrls.set(sourceURL, sourceMapURL);
|
|
41
|
+
// The cascade names a stylesheet by id, not by URL, so the
|
|
42
|
+
// two have to be joined here while both are in hand.
|
|
43
|
+
this.sheetUrls.set(styleSheetId, sourceURL);
|
|
44
|
+
});
|
|
45
|
+
await this.wires.cdp().send("Debugger.enable");
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Tell each frame of a stack where it was written.
|
|
49
|
+
*
|
|
50
|
+
* A frame with no map keeps its generated position rather than
|
|
51
|
+
* being dropped: half a stack is worse than a raw one.
|
|
52
|
+
*/
|
|
53
|
+
async resolveFrames(frames) {
|
|
54
|
+
return Promise.all(frames.map(async (frame) => {
|
|
55
|
+
if (!frame.url)
|
|
56
|
+
return frame;
|
|
57
|
+
const map = await this.mapFor(frame.url);
|
|
58
|
+
if (!map)
|
|
59
|
+
return frame;
|
|
60
|
+
const authored = authoredPosition(map, {
|
|
61
|
+
line: frame.lineNumber,
|
|
62
|
+
column: frame.columnNumber,
|
|
63
|
+
});
|
|
64
|
+
return authored === undefined ? frame : { ...frame, authored };
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Where a stylesheet position was authored, or nothing when no
|
|
69
|
+
* map covers it.
|
|
70
|
+
*
|
|
71
|
+
* The cascade names its stylesheet by protocol id, so the join
|
|
72
|
+
* from id to URL to map happens here, where all three notes
|
|
73
|
+
* live.
|
|
74
|
+
*/
|
|
75
|
+
async authoredForSheet(styleSheetId, position) {
|
|
76
|
+
const url = this.sheetUrls.get(styleSheetId);
|
|
77
|
+
if (url === undefined)
|
|
78
|
+
return undefined;
|
|
79
|
+
const map = await this.mapFor(url);
|
|
80
|
+
if (!map)
|
|
81
|
+
return undefined;
|
|
82
|
+
return authoredPosition(map, position);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Fetch and decode the map for a file, once.
|
|
86
|
+
*
|
|
87
|
+
* The fetch goes through the page rather than through node,
|
|
88
|
+
* because the page is already on the right origin with the
|
|
89
|
+
* right cookies. A map behind a login is unreachable any
|
|
90
|
+
* other way.
|
|
91
|
+
*
|
|
92
|
+
* A failure is cached as firmly as a success. A map that 404s
|
|
93
|
+
* will still 404 on the next frame of the same stack, and
|
|
94
|
+
* asking again once per frame is how one bad path turns into
|
|
95
|
+
* a dozen requests.
|
|
96
|
+
*/
|
|
97
|
+
async mapFor(fileUrl) {
|
|
98
|
+
const cached = this.maps.get(fileUrl);
|
|
99
|
+
if (cached !== undefined)
|
|
100
|
+
return cached ?? undefined;
|
|
101
|
+
const declared = this.mapUrls.get(fileUrl);
|
|
102
|
+
if (!declared)
|
|
103
|
+
return undefined;
|
|
104
|
+
const located = resolveMapUrl(fileUrl, declared);
|
|
105
|
+
if (!located) {
|
|
106
|
+
this.maps.set(fileUrl, null);
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
let json;
|
|
110
|
+
if (located.kind === "inline") {
|
|
111
|
+
json = located.json;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
try {
|
|
115
|
+
const response = await this.wires.cdp().send("Runtime.evaluate", {
|
|
116
|
+
expression: `fetch(${JSON.stringify(located.url)})
|
|
117
|
+
.then((r) => (r.ok ? r.text() : null))
|
|
118
|
+
.catch(() => null)`,
|
|
119
|
+
awaitPromise: true,
|
|
120
|
+
returnByValue: true,
|
|
121
|
+
});
|
|
122
|
+
const body = response.result.value;
|
|
123
|
+
if (typeof body === "string")
|
|
124
|
+
json = body;
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
// A page that navigated away mid-fetch is not a reason
|
|
128
|
+
// to lose the stack we were annotating.
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const parsed = json === undefined ? undefined : parseSourceMap(json);
|
|
132
|
+
this.maps.set(fileUrl, parsed ?? null);
|
|
133
|
+
return parsed;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything a session overhears: console lines, exceptions,
|
|
3
|
+
* requests, dialogs, navigations, downloads and live-region
|
|
4
|
+
* announcements, each kept from the moment the tab opens.
|
|
5
|
+
*
|
|
6
|
+
* One keeper for all of it because the buffers share a life:
|
|
7
|
+
* they are installed together at open, reinstalled together
|
|
8
|
+
* after a crash, and recited together by status. The session
|
|
9
|
+
* decides when to listen; this decides what is heard and how it
|
|
10
|
+
* is kept.
|
|
11
|
+
*/
|
|
12
|
+
import { type Announcement } from "../a11y/index.js";
|
|
13
|
+
import { type DialogEvent, type DialogPolicy, type DownloadRecord, type LifecycleEvent, type LogEntry, type NetworkRequest, type Recorded, type SocketRecord } from "../telemetry/index.js";
|
|
14
|
+
import type { SessionWires } from "./wires.js";
|
|
15
|
+
/** What the listeners need from the session beyond the browser. */
|
|
16
|
+
interface TelemetryHooks {
|
|
17
|
+
/** Start replacing a crashed tab the moment it is announced. */
|
|
18
|
+
readonly onCrash: () => void;
|
|
19
|
+
/** Where downloads should land. */
|
|
20
|
+
readonly downloadDir: () => string;
|
|
21
|
+
/** Note a landed download in the session's ledger. */
|
|
22
|
+
readonly keep: (path: string) => void;
|
|
23
|
+
}
|
|
24
|
+
/** The buffers a session fills by listening, and their readers. */
|
|
25
|
+
export declare class SessionTelemetry {
|
|
26
|
+
private readonly wires;
|
|
27
|
+
private readonly hooks;
|
|
28
|
+
/** What the page announced, oldest first, within its budget. */
|
|
29
|
+
private readonly announcements;
|
|
30
|
+
/**
|
|
31
|
+
* What the browser said about each nominated region, keyed by
|
|
32
|
+
* document epoch and registry index. Null means the browser
|
|
33
|
+
* ruled it not live.
|
|
34
|
+
*/
|
|
35
|
+
private readonly livenessByRegion;
|
|
36
|
+
/** Everything the page has said since it opened. */
|
|
37
|
+
private readonly logBuffer;
|
|
38
|
+
/** Every request the page has made since it opened. */
|
|
39
|
+
private readonly requestLog;
|
|
40
|
+
/**
|
|
41
|
+
* Every websocket event, bounded like everything else here.
|
|
42
|
+
*
|
|
43
|
+
* A chatty socket can push frames faster than anything reads
|
|
44
|
+
* them, so this is the same ring buffer the logs use: the most
|
|
45
|
+
* recent within a budget, and a count of what it had to drop.
|
|
46
|
+
*/
|
|
47
|
+
private readonly socketLog;
|
|
48
|
+
/** Every dialog the page has raised, and how it was answered. */
|
|
49
|
+
private readonly dialogLog;
|
|
50
|
+
/** Where the page has been, and whether it survived. */
|
|
51
|
+
private lifecycleLog?;
|
|
52
|
+
/** How dialogs get answered while nobody is watching. */
|
|
53
|
+
private dialogPolicy;
|
|
54
|
+
/** Files the page has handed back. */
|
|
55
|
+
private readonly downloadLog;
|
|
56
|
+
/**
|
|
57
|
+
* Wall seconds minus the protocol's monotonic seconds.
|
|
58
|
+
*
|
|
59
|
+
* The protocol's clock counts from when the browser started,
|
|
60
|
+
* so it reads around 586,000 while ours reads 1.78 billion.
|
|
61
|
+
* Comparing a recorded request against our own clock without
|
|
62
|
+
* this correction does not merely give a wrong answer, it
|
|
63
|
+
* gives a confidently idle one, because every request looks
|
|
64
|
+
* like it finished aeons ago.
|
|
65
|
+
*/
|
|
66
|
+
private clockOffset?;
|
|
67
|
+
/**
|
|
68
|
+
* Announcements still being ruled on. Candidates resolve one
|
|
69
|
+
* at a time along this chain, so a slow lookup cannot overtake
|
|
70
|
+
* a fast one and record two out of the order they were said.
|
|
71
|
+
*/
|
|
72
|
+
private pending;
|
|
73
|
+
constructor(wires: SessionWires, hooks: TelemetryHooks);
|
|
74
|
+
/**
|
|
75
|
+
* Listen for everything the page says, from the moment it
|
|
76
|
+
* opens.
|
|
77
|
+
*
|
|
78
|
+
* Three sources, because no one of them is complete. The
|
|
79
|
+
* console is what the page chose to say; exceptions are what
|
|
80
|
+
* it did not choose; and the browser's own log carries what
|
|
81
|
+
* the page never hears at all, a resource that failed to load
|
|
82
|
+
* or a request the browser refused.
|
|
83
|
+
*/
|
|
84
|
+
listenForLogs(): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Watch every request the page makes.
|
|
87
|
+
*
|
|
88
|
+
* The protocol reports one request as four separate events
|
|
89
|
+
* over its life, so the recorder does the reassembly and this
|
|
90
|
+
* only relabels the CDP names it consumes.
|
|
91
|
+
*/
|
|
92
|
+
listenForRequests(): Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Answer dialogs, because an unanswered one stops the page.
|
|
95
|
+
*
|
|
96
|
+
* Until something replies, no script runs and no action lands,
|
|
97
|
+
* so there is no such thing as declining to have a policy.
|
|
98
|
+
* Every answer given is recorded, since a dismissed confirm
|
|
99
|
+
* changes what the page did next and the reader has to be able
|
|
100
|
+
* to see that it happened.
|
|
101
|
+
*/
|
|
102
|
+
listenForDialogs(): Promise<void>;
|
|
103
|
+
/** Decide how dialogs will be answered from here on. */
|
|
104
|
+
setDialogPolicy(policy: DialogPolicy): void;
|
|
105
|
+
/** How dialogs are currently answered. */
|
|
106
|
+
get dialogs(): {
|
|
107
|
+
readonly policy: DialogPolicy;
|
|
108
|
+
readonly seen: readonly DialogEvent[];
|
|
109
|
+
};
|
|
110
|
+
/** Every request the page has made. */
|
|
111
|
+
requests(): readonly NetworkRequest[];
|
|
112
|
+
/**
|
|
113
|
+
* The body of one recorded reply, fetched on demand.
|
|
114
|
+
*
|
|
115
|
+
* Bodies are not captured as they stream past: most are never
|
|
116
|
+
* asked for, and holding every one would cost far more memory
|
|
117
|
+
* than the rest of the session put together. Chrome keeps them
|
|
118
|
+
* for the current document, so this asks only when asked.
|
|
119
|
+
*/
|
|
120
|
+
bodyOf(requestId: string): Promise<{
|
|
121
|
+
body: string;
|
|
122
|
+
base64Encoded: boolean;
|
|
123
|
+
} | undefined>;
|
|
124
|
+
/**
|
|
125
|
+
* What the page has said, from a cursor onward.
|
|
126
|
+
*
|
|
127
|
+
* The buffer survives navigation on purpose: a message logged
|
|
128
|
+
* just before a redirect is often the one that explains it.
|
|
129
|
+
*/
|
|
130
|
+
logs(since?: number): {
|
|
131
|
+
readonly entries: readonly Recorded<LogEntry>[];
|
|
132
|
+
readonly dropped: number;
|
|
133
|
+
readonly cursor: number;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Watch where the page goes, and notice if it dies.
|
|
137
|
+
*
|
|
138
|
+
* The crash half is not optional. After the tab crashes every
|
|
139
|
+
* call against it hangs rather than failing, measured against
|
|
140
|
+
* a deliberately crashed tab, so a session that waited to find
|
|
141
|
+
* out lazily would simply stop responding. Recovery therefore
|
|
142
|
+
* happens the moment the crash is announced.
|
|
143
|
+
*/
|
|
144
|
+
listenForLifecycle(): Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* Point the lifecycle handlers at a replacement tab.
|
|
147
|
+
*
|
|
148
|
+
* A new tab is a new main frame, and a recorder still watching
|
|
149
|
+
* the old id would ignore every navigation from here on while
|
|
150
|
+
* looking perfectly healthy.
|
|
151
|
+
*/
|
|
152
|
+
readoptLifecycle(frameId: string): void;
|
|
153
|
+
/** Point the lifecycle handlers at the current protocol channel. */
|
|
154
|
+
private attachLifecycle;
|
|
155
|
+
/**
|
|
156
|
+
* Catch files the page hands back.
|
|
157
|
+
*
|
|
158
|
+
* The behaviour has to be set against this session's browser
|
|
159
|
+
* context, not merely the connection. Set without the context
|
|
160
|
+
* id, Chrome cancels every download in a non-default context
|
|
161
|
+
* and writes nothing, which looks exactly like a page that
|
|
162
|
+
* never offered a file.
|
|
163
|
+
*/
|
|
164
|
+
listenForDownloads(): Promise<void>;
|
|
165
|
+
/** Files the page has handed back. */
|
|
166
|
+
downloads(): readonly DownloadRecord[];
|
|
167
|
+
/** Every websocket conversation, folded from its events. */
|
|
168
|
+
sockets(): readonly SocketRecord[];
|
|
169
|
+
/** Socket events dropped to stay within the buffer's budget. */
|
|
170
|
+
get socketFramesDropped(): number;
|
|
171
|
+
/** Where the page has been. */
|
|
172
|
+
get history(): readonly LifecycleEvent[];
|
|
173
|
+
/**
|
|
174
|
+
* Now, on the protocol's clock, so it can be compared with
|
|
175
|
+
* what requests carry.
|
|
176
|
+
*
|
|
177
|
+
* Before any request has been seen there is no offset to
|
|
178
|
+
* apply, but there are also no requests to compare against,
|
|
179
|
+
* so the figure cannot mislead anyone.
|
|
180
|
+
*/
|
|
181
|
+
protocolNow(): number;
|
|
182
|
+
/**
|
|
183
|
+
* Start hearing what the page says. The binding is installed
|
|
184
|
+
* once and survives navigation; the observer is registered
|
|
185
|
+
* for every document, so announcements made during load are
|
|
186
|
+
* caught too.
|
|
187
|
+
*
|
|
188
|
+
* Candidates arrive faster than they can be ruled on, so they
|
|
189
|
+
* are resolved one at a time along a chain. Resolving them
|
|
190
|
+
* concurrently would let a slow lookup overtake a fast one and
|
|
191
|
+
* record two announcements out of the order they were said.
|
|
192
|
+
*/
|
|
193
|
+
listenForAnnouncements(): Promise<void>;
|
|
194
|
+
/**
|
|
195
|
+
* What the page has announced since a cursor, with the cursor
|
|
196
|
+
* to read from next time and how many were dropped.
|
|
197
|
+
*/
|
|
198
|
+
heard(since?: number): Promise<{
|
|
199
|
+
entries: readonly Recorded<Announcement>[];
|
|
200
|
+
cursor: number;
|
|
201
|
+
dropped: number;
|
|
202
|
+
}>;
|
|
203
|
+
/**
|
|
204
|
+
* Record a nominated change only if the browser calls its
|
|
205
|
+
* region live, at the politeness the browser computed.
|
|
206
|
+
*/
|
|
207
|
+
private recordIfLive;
|
|
208
|
+
/**
|
|
209
|
+
* Ask the browser what it computed for a nominated region.
|
|
210
|
+
*
|
|
211
|
+
* The answer is cached per document: liveness is a property of
|
|
212
|
+
* the markup, and a navigation starts a new registry with a
|
|
213
|
+
* new epoch, so a stale entry can never be read back.
|
|
214
|
+
*/
|
|
215
|
+
private politenessOf;
|
|
216
|
+
/** Read a region's computed live politeness from the AX tree. */
|
|
217
|
+
private readLiveness;
|
|
218
|
+
}
|
|
219
|
+
export {};
|