@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,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reading what a model actually sent.
|
|
3
|
+
*
|
|
4
|
+
* A model answers in prose with JSON somewhere inside it, however
|
|
5
|
+
* firmly it was asked not to, and every round has to cope with the
|
|
6
|
+
* same handful of shapes. This is shared rather than copied because it
|
|
7
|
+
* is one concept and not two that merely look alike: if models change
|
|
8
|
+
* how they wrap an answer, every round is wrong in the same way at the
|
|
9
|
+
* same time, and there should be one place to fix it.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* The JSON object in an answer, wherever it is.
|
|
13
|
+
*
|
|
14
|
+
* Tries the whole answer, then a fenced block, then the widest
|
|
15
|
+
* brace-delimited span. Widest rather than first, because a model that
|
|
16
|
+
* reasons before answering often writes a smaller object earlier in
|
|
17
|
+
* the prose. The fence is tried before the span because a model
|
|
18
|
+
* quoting code in its reasoning puts braces in the prose, and the span
|
|
19
|
+
* then swallows the prose and parses as nothing.
|
|
20
|
+
*/
|
|
21
|
+
export declare function findJson(text: string): Record<string, unknown> | undefined;
|
|
22
|
+
/** An answer, and whether it is all of one. */
|
|
23
|
+
export interface AnswerRead {
|
|
24
|
+
/** The object the answer carried, whole or salvaged. */
|
|
25
|
+
readonly parsed: Record<string, unknown> | undefined;
|
|
26
|
+
/** Whether what came back is the surviving part of a longer answer. */
|
|
27
|
+
readonly truncated: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* What a reviewer said, taking the part that survived over nothing.
|
|
31
|
+
*
|
|
32
|
+
* Every round reads its answer the same way and can be interrupted in
|
|
33
|
+
* the same place, so the fallback belongs here rather than four times
|
|
34
|
+
* over. A caller that must know it is holding half an answer reads
|
|
35
|
+
* `truncated`, and every caller must, because a partial answer that
|
|
36
|
+
* does not say so is a reviewer that appears to have found less than
|
|
37
|
+
* it did.
|
|
38
|
+
*/
|
|
39
|
+
export declare function readAnswer(text: string, key: string): AnswerRead;
|
|
40
|
+
/**
|
|
41
|
+
* How a round says an answer stopped early.
|
|
42
|
+
*
|
|
43
|
+
* Worth wording once. The reader has to come away knowing that the
|
|
44
|
+
* gap is unmeasured, or a truncated answer gets read as a thorough
|
|
45
|
+
* one, which is how a round can look complete while missing the
|
|
46
|
+
* finding that mattered.
|
|
47
|
+
*/
|
|
48
|
+
export declare const ANSWER_WAS_CUT_OFF = "This answer was cut off partway through, so what follows is what survived: everything the reviewer completed before it stopped, and not the entry it was in the middle of. There is no way to tell how much more it would have sent, so treat an absence here as unknown rather than as nothing to report.";
|
|
49
|
+
/**
|
|
50
|
+
* What an answer still holds after it was cut off.
|
|
51
|
+
*
|
|
52
|
+
* A reviewer stopped at its budget stops wherever it had got to,
|
|
53
|
+
* which for a long answer is partway through the findings array. The
|
|
54
|
+
* text will not parse, and dropping it loses every finding that did
|
|
55
|
+
* arrive whole along with the one that did not.
|
|
56
|
+
*
|
|
57
|
+
* Nothing is repaired. Each entry of the named array is taken on its
|
|
58
|
+
* own and handed to the parser by itself: one that finished parses,
|
|
59
|
+
* one that did not, does not. An earlier version cut the text at a
|
|
60
|
+
* point where everything open could be closed and let the closers do
|
|
61
|
+
* the rest, which is a property of the syntax rather than of the
|
|
62
|
+
* entries. Every real finding holds a nested location, so an entry
|
|
63
|
+
* interrupted after that location closed satisfied the rule, and a
|
|
64
|
+
* half-written finding came back looking exactly like a whole one
|
|
65
|
+
* with its argument missing. A finding completed by guesswork cannot
|
|
66
|
+
* be told from one the reviewer made, which is the one outcome worth
|
|
67
|
+
* refusing outright.
|
|
68
|
+
*
|
|
69
|
+
* Anchored on the key rather than the first brace, which is also why
|
|
70
|
+
* a brace in the reviewer's prose no longer costs the answer: `findJson`
|
|
71
|
+
* learned that lesson already and its docstring says so. Where an
|
|
72
|
+
* answer holds several anchors, because a reviewer sketched a smaller
|
|
73
|
+
* array before writing the real one, the richest wins on the same
|
|
74
|
+
* reasoning as the widest span.
|
|
75
|
+
*/
|
|
76
|
+
export declare function salvageEntries(text: string, key: string): unknown[];
|
|
77
|
+
/**
|
|
78
|
+
* A non-empty trimmed string, or nothing.
|
|
79
|
+
*
|
|
80
|
+
* Absent and blank are the same answer here. A model that sent a field
|
|
81
|
+
* full of spaces did not fill it in, and holding the spaces would let
|
|
82
|
+
* an empty subject or a whitespace id through to somewhere that treats
|
|
83
|
+
* it as a name.
|
|
84
|
+
*/
|
|
85
|
+
export declare function wireText(value: unknown): string | undefined;
|
|
86
|
+
/** A whole number, or nothing. */
|
|
87
|
+
export declare function wireWhole(value: unknown): number | undefined;
|
|
88
|
+
/** A plain object, as against an array or a primitive. */
|
|
89
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reading what a model actually sent.
|
|
3
|
+
*
|
|
4
|
+
* A model answers in prose with JSON somewhere inside it, however
|
|
5
|
+
* firmly it was asked not to, and every round has to cope with the
|
|
6
|
+
* same handful of shapes. This is shared rather than copied because it
|
|
7
|
+
* is one concept and not two that merely look alike: if models change
|
|
8
|
+
* how they wrap an answer, every round is wrong in the same way at the
|
|
9
|
+
* same time, and there should be one place to fix it.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* The JSON object in an answer, wherever it is.
|
|
13
|
+
*
|
|
14
|
+
* Tries the whole answer, then a fenced block, then the widest
|
|
15
|
+
* brace-delimited span. Widest rather than first, because a model that
|
|
16
|
+
* reasons before answering often writes a smaller object earlier in
|
|
17
|
+
* the prose. The fence is tried before the span because a model
|
|
18
|
+
* quoting code in its reasoning puts braces in the prose, and the span
|
|
19
|
+
* then swallows the prose and parses as nothing.
|
|
20
|
+
*/
|
|
21
|
+
export function findJson(text) {
|
|
22
|
+
const whole = parseObject(text);
|
|
23
|
+
if (whole !== undefined)
|
|
24
|
+
return whole;
|
|
25
|
+
for (const match of text.matchAll(/```(?:json)?\s*([\s\S]*?)```/g)) {
|
|
26
|
+
const fenced = parseObject(match[1] ?? "");
|
|
27
|
+
if (fenced !== undefined)
|
|
28
|
+
return fenced;
|
|
29
|
+
}
|
|
30
|
+
const first = text.indexOf("{");
|
|
31
|
+
const last = text.lastIndexOf("}");
|
|
32
|
+
if (first === -1 || last <= first)
|
|
33
|
+
return undefined;
|
|
34
|
+
return parseObject(text.slice(first, last + 1));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* What a reviewer said, taking the part that survived over nothing.
|
|
38
|
+
*
|
|
39
|
+
* Every round reads its answer the same way and can be interrupted in
|
|
40
|
+
* the same place, so the fallback belongs here rather than four times
|
|
41
|
+
* over. A caller that must know it is holding half an answer reads
|
|
42
|
+
* `truncated`, and every caller must, because a partial answer that
|
|
43
|
+
* does not say so is a reviewer that appears to have found less than
|
|
44
|
+
* it did.
|
|
45
|
+
*/
|
|
46
|
+
export function readAnswer(text, key) {
|
|
47
|
+
const whole = findJson(text);
|
|
48
|
+
if (whole !== undefined)
|
|
49
|
+
return { parsed: whole, truncated: false };
|
|
50
|
+
const salvaged = salvageEntries(text, key);
|
|
51
|
+
return salvaged.length === 0
|
|
52
|
+
? { parsed: undefined, truncated: false }
|
|
53
|
+
: { parsed: { [key]: salvaged }, truncated: true };
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* How a round says an answer stopped early.
|
|
57
|
+
*
|
|
58
|
+
* Worth wording once. The reader has to come away knowing that the
|
|
59
|
+
* gap is unmeasured, or a truncated answer gets read as a thorough
|
|
60
|
+
* one, which is how a round can look complete while missing the
|
|
61
|
+
* finding that mattered.
|
|
62
|
+
*/
|
|
63
|
+
export const ANSWER_WAS_CUT_OFF = "This answer was cut off partway through, so what follows is what survived: everything the reviewer completed before it stopped, and not the entry it was in the middle of. There is no way to tell how much more it would have sent, so treat an absence here as unknown rather than as nothing to report.";
|
|
64
|
+
/**
|
|
65
|
+
* What an answer still holds after it was cut off.
|
|
66
|
+
*
|
|
67
|
+
* A reviewer stopped at its budget stops wherever it had got to,
|
|
68
|
+
* which for a long answer is partway through the findings array. The
|
|
69
|
+
* text will not parse, and dropping it loses every finding that did
|
|
70
|
+
* arrive whole along with the one that did not.
|
|
71
|
+
*
|
|
72
|
+
* Nothing is repaired. Each entry of the named array is taken on its
|
|
73
|
+
* own and handed to the parser by itself: one that finished parses,
|
|
74
|
+
* one that did not, does not. An earlier version cut the text at a
|
|
75
|
+
* point where everything open could be closed and let the closers do
|
|
76
|
+
* the rest, which is a property of the syntax rather than of the
|
|
77
|
+
* entries. Every real finding holds a nested location, so an entry
|
|
78
|
+
* interrupted after that location closed satisfied the rule, and a
|
|
79
|
+
* half-written finding came back looking exactly like a whole one
|
|
80
|
+
* with its argument missing. A finding completed by guesswork cannot
|
|
81
|
+
* be told from one the reviewer made, which is the one outcome worth
|
|
82
|
+
* refusing outright.
|
|
83
|
+
*
|
|
84
|
+
* Anchored on the key rather than the first brace, which is also why
|
|
85
|
+
* a brace in the reviewer's prose no longer costs the answer: `findJson`
|
|
86
|
+
* learned that lesson already and its docstring says so. Where an
|
|
87
|
+
* answer holds several anchors, because a reviewer sketched a smaller
|
|
88
|
+
* array before writing the real one, the richest wins on the same
|
|
89
|
+
* reasoning as the widest span.
|
|
90
|
+
*/
|
|
91
|
+
export function salvageEntries(text, key) {
|
|
92
|
+
let best = [];
|
|
93
|
+
const anchor = new RegExp(`"${key}"\\s*:\\s*\\[`, "g");
|
|
94
|
+
for (const found of text.matchAll(anchor)) {
|
|
95
|
+
const at = (found.index ?? 0) + found[0].length;
|
|
96
|
+
const entries = entriesFrom(text, at);
|
|
97
|
+
if (entries.length > best.length)
|
|
98
|
+
best = entries;
|
|
99
|
+
}
|
|
100
|
+
return best;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The whole entries of an array, reading from just inside its bracket.
|
|
104
|
+
*
|
|
105
|
+
* Depth is counted relative to the array, so a boundary means the end
|
|
106
|
+
* of one of its entries and never the end of something nested inside
|
|
107
|
+
* one. An entry still open when the text runs out is not an entry.
|
|
108
|
+
*/
|
|
109
|
+
function entriesFrom(text, from) {
|
|
110
|
+
const entries = [];
|
|
111
|
+
let depth = 0;
|
|
112
|
+
let start = -1;
|
|
113
|
+
let inString = false;
|
|
114
|
+
let escaped = false;
|
|
115
|
+
const take = (end) => {
|
|
116
|
+
if (start === -1)
|
|
117
|
+
return;
|
|
118
|
+
try {
|
|
119
|
+
entries.push(JSON.parse(text.slice(start, end)));
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// Whatever this was, the reviewer did not finish saying it.
|
|
123
|
+
}
|
|
124
|
+
start = -1;
|
|
125
|
+
};
|
|
126
|
+
for (let at = from; at < text.length; at++) {
|
|
127
|
+
const char = text[at];
|
|
128
|
+
if (inString) {
|
|
129
|
+
if (escaped)
|
|
130
|
+
escaped = false;
|
|
131
|
+
else if (char === "\\")
|
|
132
|
+
escaped = true;
|
|
133
|
+
else if (char === '"')
|
|
134
|
+
inString = false;
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
if (char === '"') {
|
|
138
|
+
if (start === -1)
|
|
139
|
+
start = at;
|
|
140
|
+
inString = true;
|
|
141
|
+
}
|
|
142
|
+
else if (char === "{" || char === "[") {
|
|
143
|
+
if (start === -1)
|
|
144
|
+
start = at;
|
|
145
|
+
depth++;
|
|
146
|
+
}
|
|
147
|
+
else if (char === "}" || char === "]") {
|
|
148
|
+
// At depth zero this closes the array itself, or the object
|
|
149
|
+
// holding it, so the last entry ends here and so does the walk.
|
|
150
|
+
if (depth === 0) {
|
|
151
|
+
take(at);
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
depth--;
|
|
155
|
+
}
|
|
156
|
+
else if (char === "," && depth === 0) {
|
|
157
|
+
take(at);
|
|
158
|
+
}
|
|
159
|
+
else if (start === -1 && !/\s/.test(char)) {
|
|
160
|
+
start = at;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return entries;
|
|
164
|
+
}
|
|
165
|
+
/** One JSON object, or nothing. */
|
|
166
|
+
function parseObject(text) {
|
|
167
|
+
const trimmed = text.trim();
|
|
168
|
+
if (trimmed === "")
|
|
169
|
+
return undefined;
|
|
170
|
+
try {
|
|
171
|
+
const held = JSON.parse(trimmed);
|
|
172
|
+
return isRecord(held) ? held : undefined;
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
// Not JSON. Every caller is guessing at where the JSON might
|
|
176
|
+
// be, so failing to find it is the expected outcome rather
|
|
177
|
+
// than an error worth reporting.
|
|
178
|
+
return undefined;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* A non-empty trimmed string, or nothing.
|
|
183
|
+
*
|
|
184
|
+
* Absent and blank are the same answer here. A model that sent a field
|
|
185
|
+
* full of spaces did not fill it in, and holding the spaces would let
|
|
186
|
+
* an empty subject or a whitespace id through to somewhere that treats
|
|
187
|
+
* it as a name.
|
|
188
|
+
*/
|
|
189
|
+
export function wireText(value) {
|
|
190
|
+
if (typeof value !== "string")
|
|
191
|
+
return undefined;
|
|
192
|
+
const trimmed = value.trim();
|
|
193
|
+
return trimmed === "" ? undefined : trimmed;
|
|
194
|
+
}
|
|
195
|
+
/** A whole number, or nothing. */
|
|
196
|
+
export function wireWhole(value) {
|
|
197
|
+
return typeof value === "number" && Number.isInteger(value)
|
|
198
|
+
? value
|
|
199
|
+
: undefined;
|
|
200
|
+
}
|
|
201
|
+
/** A plain object, as against an array or a primitive. */
|
|
202
|
+
export function isRecord(value) {
|
|
203
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
204
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which change a call is about, when the caller did not say.
|
|
3
|
+
*
|
|
4
|
+
* Every review tool used to demand a change on every call, so
|
|
5
|
+
* reading a diff and then its threads meant naming the same
|
|
6
|
+
* pull request twice, and the second naming was where typos
|
|
7
|
+
* lived. A session attaches to what it is working on instead,
|
|
8
|
+
* and a call without a change acts on that.
|
|
9
|
+
*
|
|
10
|
+
* The rule is the browser integration's, because it was learned
|
|
11
|
+
* the same way and there is no reason for two answers to the
|
|
12
|
+
* same question. What differs is only the vocabulary: sessions
|
|
13
|
+
* are opened and changes are attached.
|
|
14
|
+
*/
|
|
15
|
+
import type { ChangeRef } from "./change.js";
|
|
16
|
+
/** A change this session is working on. */
|
|
17
|
+
export interface Attachment {
|
|
18
|
+
readonly change: ChangeRef;
|
|
19
|
+
/** When it was attached, for the reader rather than for sorting. */
|
|
20
|
+
readonly attachedAt: string;
|
|
21
|
+
/**
|
|
22
|
+
* Position in the order things were attached, climbing.
|
|
23
|
+
*
|
|
24
|
+
* A timestamp cannot do this job. Attaching two changes in
|
|
25
|
+
* quick succession, which is exactly what happens when a
|
|
26
|
+
* stack is attached, lands them in the same millisecond and
|
|
27
|
+
* leaves the order down to whatever the filesystem hands
|
|
28
|
+
* back. A counter is monotonic by construction and survives a
|
|
29
|
+
* restart, since it is derived from what is already on disk.
|
|
30
|
+
*/
|
|
31
|
+
readonly seq: number;
|
|
32
|
+
}
|
|
33
|
+
/** Durable home for what a session is attached to. */
|
|
34
|
+
export interface AttachmentStore {
|
|
35
|
+
/** Attach a change, or freshen one already attached. */
|
|
36
|
+
attach(change: ChangeRef): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Attach a change beneath everything already here.
|
|
39
|
+
*
|
|
40
|
+
* For a fork taking on what the session it came from was working
|
|
41
|
+
* on. Those attachments happened before this session existed, and
|
|
42
|
+
* the sequence is what decides which change a call acts on when it
|
|
43
|
+
* names none, so one inherited from a parent must never outrank
|
|
44
|
+
* something this session said itself.
|
|
45
|
+
*/
|
|
46
|
+
inherit(change: ChangeRef): Promise<void>;
|
|
47
|
+
/** Detach by label, reporting whether there was one to detach. */
|
|
48
|
+
detach(label: string): Promise<boolean>;
|
|
49
|
+
/** Newest first. */
|
|
50
|
+
list(): Promise<Attachment[]>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Carry one session's attachments into another.
|
|
54
|
+
*
|
|
55
|
+
* For a fork, which is the same work continued under a new session
|
|
56
|
+
* id. Scoping attachments by session is what stopped one session
|
|
57
|
+
* retargeting another's round, and it made a fork start with nothing
|
|
58
|
+
* attached, so the first call after one either refused for want of a
|
|
59
|
+
* change or acted on whatever was named by hand. Neither is what
|
|
60
|
+
* forking means.
|
|
61
|
+
*
|
|
62
|
+
* A copy rather than a move: the session forked from is still there
|
|
63
|
+
* and still working on what it was working on.
|
|
64
|
+
*
|
|
65
|
+
* Never overwrites a change the fork already holds, and carried ones
|
|
66
|
+
* are attached oldest first, so the parent's order survives and
|
|
67
|
+
* anything the fork attaches afterwards outranks all of it. That
|
|
68
|
+
* ordering is the point rather than a detail: `changeInPlay` takes the
|
|
69
|
+
* most recent when a call names nothing, so an inherited change
|
|
70
|
+
* outranking what this session just said it was working on would act
|
|
71
|
+
* on the wrong one and announce it as the most recent.
|
|
72
|
+
*
|
|
73
|
+
* Written through the store's own `attach`, so the record's shape and
|
|
74
|
+
* the sequence rule stay in one place. Reading through a store and
|
|
75
|
+
* writing around it is how two spellings of one format come about.
|
|
76
|
+
*
|
|
77
|
+
* Awaited at session start, unlike the reclamations it sits beside.
|
|
78
|
+
* Those are about the machine; this is about the answer to the next
|
|
79
|
+
* call, and a fork whose first review call lands before the copy
|
|
80
|
+
* finishes sees the refusal this exists to prevent.
|
|
81
|
+
*
|
|
82
|
+
* Advisory in what it reads: what it cannot read it does not carry,
|
|
83
|
+
* and nothing about a fork fails over it.
|
|
84
|
+
*
|
|
85
|
+
* Returns how many were carried.
|
|
86
|
+
*/
|
|
87
|
+
export declare function inheritAttachments(root: string, from: string, to: string): Promise<number>;
|
|
88
|
+
/**
|
|
89
|
+
* Give back the directories of sessions that have stopped using them.
|
|
90
|
+
*
|
|
91
|
+
* Scoping attachments per session means one directory per session for
|
|
92
|
+
* as long as the state directory lives, so something has to take them
|
|
93
|
+
* back. Age is judged on the newest attachment inside, not on the
|
|
94
|
+
* directory itself: a directory's timestamp moves when an entry is
|
|
95
|
+
* added or removed and stands still when one is rewritten in place, so
|
|
96
|
+
* a session that keeps freshening the same change would age as though
|
|
97
|
+
* nobody had touched it. The one asking is never swept regardless,
|
|
98
|
+
* because a long-lived session attaches its work once and then only
|
|
99
|
+
* reads it, which is exactly the shape an age rule mistakes for
|
|
100
|
+
* abandonment.
|
|
101
|
+
*
|
|
102
|
+
* Files are left alone. Attachments made before scoping existed sit
|
|
103
|
+
* flat in the root and belong to no session, so no session's rule
|
|
104
|
+
* should decide their fate; deleting somebody's attachment to tidy up
|
|
105
|
+
* is a poor trade for the disk it returns. They cost bytes and are
|
|
106
|
+
* invisible to every scoped caller.
|
|
107
|
+
*
|
|
108
|
+
* Putting them on this clock was tried and taken back out. An orphan
|
|
109
|
+
* is by definition a file nothing has written since scoping landed, so
|
|
110
|
+
* judging one by its own age gives no grace to the population it
|
|
111
|
+
* targets: on any machine where scoping shipped a month ago, every one
|
|
112
|
+
* of them goes on the first session start after the sweep ships. A
|
|
113
|
+
* month of grace that protects nobody it was written for is not an
|
|
114
|
+
* argument, and eighty kilobytes is not a reason to go looking for a
|
|
115
|
+
* better one.
|
|
116
|
+
*
|
|
117
|
+
* An empty directory is swept, since it holds nothing anybody can
|
|
118
|
+
* lose.
|
|
119
|
+
*
|
|
120
|
+
* Returns how many were taken back.
|
|
121
|
+
*/
|
|
122
|
+
export declare function pruneAttachments(root: string, options: {
|
|
123
|
+
olderThanMs: number;
|
|
124
|
+
keep?: string;
|
|
125
|
+
}): Promise<number>;
|
|
126
|
+
/**
|
|
127
|
+
* Attachments on disk, one flat directory of JSON files.
|
|
128
|
+
*
|
|
129
|
+
* The same idiom as the draft store, and for the same reasons:
|
|
130
|
+
* legible to somebody who goes looking, cheap to list, and with
|
|
131
|
+
* no index that can fall out of step with the files it claims to
|
|
132
|
+
* describe.
|
|
133
|
+
*/
|
|
134
|
+
export declare function createAttachmentStore(root: string, sessionId: string): AttachmentStore;
|
|
135
|
+
/** The change a call settled on, and why, when it is worth saying. */
|
|
136
|
+
export interface ChangeInPlay {
|
|
137
|
+
readonly label: string;
|
|
138
|
+
/** Said out loud when the caller did not name this themselves. */
|
|
139
|
+
readonly note?: string;
|
|
140
|
+
}
|
|
141
|
+
/** No single answer, so the caller has to choose. */
|
|
142
|
+
export interface ChangeAmbiguous {
|
|
143
|
+
readonly candidates: readonly string[];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Which attached change a call should act on.
|
|
147
|
+
*
|
|
148
|
+
* An explicit name is never second-guessed: somebody who names a
|
|
149
|
+
* change means that change, and a typo is better reported than
|
|
150
|
+
* quietly redirected to whatever else happens to be attached.
|
|
151
|
+
*
|
|
152
|
+
* With nothing named, one attached change is used and said out
|
|
153
|
+
* loud, so the reader knows what was read or written. Several
|
|
154
|
+
* stay a refusal rather than a guess, because acting on the
|
|
155
|
+
* wrong change is worse than being asked which one, and the
|
|
156
|
+
* hint only breaks that tie when it points at something actually
|
|
157
|
+
* attached.
|
|
158
|
+
*/
|
|
159
|
+
export declare function changeInPlay(asked: string | undefined, hint: string | undefined, attached: readonly string[]): ChangeInPlay | ChangeAmbiguous;
|
|
160
|
+
/** Say what to choose between, when the choice cannot be made here. */
|
|
161
|
+
export declare function chooseChange(candidates: readonly string[]): string;
|