@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,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified message resolution: users, conversations and
|
|
3
|
+
* channel mentions in one call.
|
|
4
|
+
*
|
|
5
|
+
* Composes resolveUsersInMessages, resolveConversationsInMessages
|
|
6
|
+
* and refreshDmNames into a single entry point. Also resolves
|
|
7
|
+
* channel IDs that only appear as text mentions (<#C123>),
|
|
8
|
+
* which the per-message conversation resolver doesn't cover.
|
|
9
|
+
*
|
|
10
|
+
* Consumers call this after fetching messages and before
|
|
11
|
+
* rendering. API functions (getMessage, getThread, etc.) do
|
|
12
|
+
* free cache warming but no resolution, so this function is
|
|
13
|
+
* the explicit resolution step.
|
|
14
|
+
*/
|
|
15
|
+
import { lookupName } from "../resolvers/cache.js";
|
|
16
|
+
import { cacheChannelName } from "../resolvers/conversation.js";
|
|
17
|
+
import { fetchConversation, getCachedConversation, } from "../resolvers/conversation-cache.js";
|
|
18
|
+
import { refreshDmNames, resolveConversationsInMessages, } from "./resolve-conversations.js";
|
|
19
|
+
import { resolveUsersInMessages } from "./resolve-users.js";
|
|
20
|
+
/** Cache filename for channel name ↔ ID lookups. */
|
|
21
|
+
const CHANNEL_CACHE_FILE = "channels.json";
|
|
22
|
+
/** Pattern matching channel mentions in Slack message text. */
|
|
23
|
+
const CHANNEL_MENTION_PATTERN = /<#([CDG][A-Z0-9]+)(?:\|[^>]*)?>/g;
|
|
24
|
+
/** Concurrency limit for conversations.info calls. */
|
|
25
|
+
const BATCH_SIZE = 20;
|
|
26
|
+
/**
|
|
27
|
+
* Resolve all unknown entities in a list of messages.
|
|
28
|
+
*
|
|
29
|
+
* Handles three concerns in order:
|
|
30
|
+
* 1. User IDs → display names (msg.user + <@U123> in text)
|
|
31
|
+
* 2. Conversation IDs → metadata (msg.conversation.id)
|
|
32
|
+
* 3. Channel mentions in text → cache warming (<#C123>)
|
|
33
|
+
* 4. DM display name refresh (after user names are known)
|
|
34
|
+
*
|
|
35
|
+
* Mutates messages in place. Silently skips entities that
|
|
36
|
+
* fail to resolve (deleted users, inaccessible channels).
|
|
37
|
+
*/
|
|
38
|
+
export async function resolveMessages(client, messages, signal) {
|
|
39
|
+
// Users first, since DM display names depend on resolved user handles.
|
|
40
|
+
await resolveUsersInMessages(client, messages, signal);
|
|
41
|
+
await resolveConversationsInMessages(client, messages, signal);
|
|
42
|
+
// Channel mentions in text: <#C123> patterns that aren't
|
|
43
|
+
// the message's own conversation. resolveConversationsInMessages
|
|
44
|
+
// only resolves msg.conversation.id.
|
|
45
|
+
await resolveChannelMentionsInText(client, messages, signal);
|
|
46
|
+
// Refresh DM names last, now that user handles are resolved.
|
|
47
|
+
refreshDmNames(messages);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Resolve channel IDs that appear only as text mentions.
|
|
51
|
+
*
|
|
52
|
+
* Scans all message text for <#C123> patterns, deduplicates,
|
|
53
|
+
* and calls conversations.info for any that aren't in the
|
|
54
|
+
* channel cache. This warms the file cache so formatSlackText
|
|
55
|
+
* can resolve them without API calls.
|
|
56
|
+
*/
|
|
57
|
+
async function resolveChannelMentionsInText(client, messages, signal) {
|
|
58
|
+
const unknownIds = new Set();
|
|
59
|
+
for (const msg of messages) {
|
|
60
|
+
if (!msg.text)
|
|
61
|
+
continue;
|
|
62
|
+
for (const match of msg.text.matchAll(CHANNEL_MENTION_PATTERN)) {
|
|
63
|
+
const channelId = match[1];
|
|
64
|
+
// Skip if already in the file cache (survives across sessions).
|
|
65
|
+
if (lookupName(CHANNEL_CACHE_FILE, channelId))
|
|
66
|
+
continue;
|
|
67
|
+
// Skip if already in the session cache.
|
|
68
|
+
if (getCachedConversation(channelId))
|
|
69
|
+
continue;
|
|
70
|
+
unknownIds.add(channelId);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (unknownIds.size === 0)
|
|
74
|
+
return;
|
|
75
|
+
const ids = [...unknownIds];
|
|
76
|
+
for (let i = 0; i < ids.length; i += BATCH_SIZE) {
|
|
77
|
+
if (signal?.aborted)
|
|
78
|
+
return;
|
|
79
|
+
const batch = ids.slice(i, i + BATCH_SIZE);
|
|
80
|
+
await Promise.all(batch.map(async (id) => {
|
|
81
|
+
try {
|
|
82
|
+
const conversation = await fetchConversation(client, id, signal);
|
|
83
|
+
if (conversation.kind === "channel" && conversation.name) {
|
|
84
|
+
cacheChannelName(conversation.name, conversation.id);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
// Channel not found or inaccessible, so skip:
|
|
89
|
+
// formatSlackText falls back to the raw ID.
|
|
90
|
+
}
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Batch user ID resolution for messages.
|
|
3
|
+
*
|
|
4
|
+
* After fetching messages from any API (search, history,
|
|
5
|
+
* replies), this module resolves all user IDs to display
|
|
6
|
+
* names and updates the user cache. This means the renderers
|
|
7
|
+
* and collapsed previews always show @handles instead of
|
|
8
|
+
* raw IDs like U08ME9KASG7.
|
|
9
|
+
*
|
|
10
|
+
* Resolves both message authors (msg.user) and user mentions
|
|
11
|
+
* in message text (<@U123> / <@W123> patterns).
|
|
12
|
+
*/
|
|
13
|
+
import type { SlackMessage } from "../types.js";
|
|
14
|
+
import type { SlackClient } from "./client.js";
|
|
15
|
+
/**
|
|
16
|
+
* Resolve all unknown user IDs in a list of messages.
|
|
17
|
+
*
|
|
18
|
+
* Collects unique user IDs from message authors and from
|
|
19
|
+
* user mentions in message text. Calls users.info for each
|
|
20
|
+
* unknown ID and caches the results. After this call,
|
|
21
|
+
* displayNameForId() will return handles for all users
|
|
22
|
+
* referenced in the messages.
|
|
23
|
+
*
|
|
24
|
+
* Silently skips users that fail to resolve (deleted accounts,
|
|
25
|
+
* bots without profiles).
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveUsersInMessages(client: SlackClient, messages: SlackMessage[], signal?: AbortSignal): Promise<void>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Batch user ID resolution for messages.
|
|
3
|
+
*
|
|
4
|
+
* After fetching messages from any API (search, history,
|
|
5
|
+
* replies), this module resolves all user IDs to display
|
|
6
|
+
* names and updates the user cache. This means the renderers
|
|
7
|
+
* and collapsed previews always show @handles instead of
|
|
8
|
+
* raw IDs like U08ME9KASG7.
|
|
9
|
+
*
|
|
10
|
+
* Resolves both message authors (msg.user) and user mentions
|
|
11
|
+
* in message text (<@U123> / <@W123> patterns).
|
|
12
|
+
*/
|
|
13
|
+
import { lookupName } from "../resolvers/cache.js";
|
|
14
|
+
import { cacheUser } from "../resolvers/user.js";
|
|
15
|
+
/** Cache filename used by the user resolver. */
|
|
16
|
+
const USER_CACHE_FILE = "users.json";
|
|
17
|
+
/** Pattern matching user mentions in Slack message text. */
|
|
18
|
+
const USER_MENTION_PATTERN = /<@([UW][A-Z0-9]+)(?:\|[^>]*)?>/g;
|
|
19
|
+
/**
|
|
20
|
+
* Resolve all unknown user IDs in a list of messages.
|
|
21
|
+
*
|
|
22
|
+
* Collects unique user IDs from message authors and from
|
|
23
|
+
* user mentions in message text. Calls users.info for each
|
|
24
|
+
* unknown ID and caches the results. After this call,
|
|
25
|
+
* displayNameForId() will return handles for all users
|
|
26
|
+
* referenced in the messages.
|
|
27
|
+
*
|
|
28
|
+
* Silently skips users that fail to resolve (deleted accounts,
|
|
29
|
+
* bots without profiles).
|
|
30
|
+
*/
|
|
31
|
+
export async function resolveUsersInMessages(client, messages, signal) {
|
|
32
|
+
const unknownIds = new Set();
|
|
33
|
+
for (const msg of messages) {
|
|
34
|
+
// Message author.
|
|
35
|
+
if (msg.user && !lookupName(USER_CACHE_FILE, msg.user)) {
|
|
36
|
+
unknownIds.add(msg.user);
|
|
37
|
+
}
|
|
38
|
+
// User mentions in message text.
|
|
39
|
+
if (msg.text) {
|
|
40
|
+
for (const match of msg.text.matchAll(USER_MENTION_PATTERN)) {
|
|
41
|
+
const userId = match[1];
|
|
42
|
+
if (!lookupName(USER_CACHE_FILE, userId)) {
|
|
43
|
+
unknownIds.add(userId);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (unknownIds.size === 0)
|
|
49
|
+
return;
|
|
50
|
+
// Resolve in parallel with a concurrency limit. users.info
|
|
51
|
+
// is Tier 4 (~100 req/min), so 20 concurrent is well
|
|
52
|
+
// within limits.
|
|
53
|
+
const ids = [...unknownIds];
|
|
54
|
+
const BATCH_SIZE = 20;
|
|
55
|
+
for (let i = 0; i < ids.length; i += BATCH_SIZE) {
|
|
56
|
+
if (signal?.aborted)
|
|
57
|
+
return;
|
|
58
|
+
const batch = ids.slice(i, i + BATCH_SIZE);
|
|
59
|
+
await Promise.all(batch.map(async (id) => {
|
|
60
|
+
try {
|
|
61
|
+
const response = await client.call("users.info", { user: id }, signal);
|
|
62
|
+
const u = response.user;
|
|
63
|
+
if (u?.name && u?.id) {
|
|
64
|
+
cacheUser(u.name, u.id);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// User not found, deleted, or rate limited.
|
|
69
|
+
// Silently skip, since displayNameForId falls back to raw ID.
|
|
70
|
+
}
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slack search API: messages and files.
|
|
3
|
+
*
|
|
4
|
+
* Builds queries from structured parameters, including Slack
|
|
5
|
+
* search operators (from:, in:, after:, before:). Auto-paginates
|
|
6
|
+
* through results using Slack's traditional paging (page +
|
|
7
|
+
* count). Caches channel and user mappings found in results.
|
|
8
|
+
*/
|
|
9
|
+
import type { SlackMessage } from "../types.js";
|
|
10
|
+
import type { SlackClient } from "./client.js";
|
|
11
|
+
/** Search result with messages, total count and the query sent to Slack. */
|
|
12
|
+
export interface MessageSearchResult {
|
|
13
|
+
messages: SlackMessage[];
|
|
14
|
+
total: number;
|
|
15
|
+
query: string;
|
|
16
|
+
}
|
|
17
|
+
/** Page metadata passed to the `onPage` callback. */
|
|
18
|
+
export interface SearchPageInfo {
|
|
19
|
+
/** Current page number (1-indexed). */
|
|
20
|
+
page: number;
|
|
21
|
+
/** Total number of pages available. */
|
|
22
|
+
totalPages: number;
|
|
23
|
+
/** Total number of matching messages across all pages. */
|
|
24
|
+
total: number;
|
|
25
|
+
}
|
|
26
|
+
/** Options for searching messages. */
|
|
27
|
+
export interface SearchMessagesOptions {
|
|
28
|
+
channel?: string;
|
|
29
|
+
from?: string;
|
|
30
|
+
with?: string;
|
|
31
|
+
after?: string;
|
|
32
|
+
before?: string;
|
|
33
|
+
limit?: number;
|
|
34
|
+
signal?: AbortSignal;
|
|
35
|
+
/**
|
|
36
|
+
* Called after each page is fetched, deduplicated and
|
|
37
|
+
* cached. Receives only new (non-duplicate) messages
|
|
38
|
+
* from that page. Useful for progress reporting or
|
|
39
|
+
* incremental processing without reimplementing
|
|
40
|
+
* pagination.
|
|
41
|
+
*/
|
|
42
|
+
onPage?: (messages: SlackMessage[], pageInfo: SearchPageInfo) => void;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Search Slack messages with automatic pagination.
|
|
46
|
+
*
|
|
47
|
+
* Fetches pages of up to 100 results until the requested limit
|
|
48
|
+
* is reached or all pages are exhausted. Pass `limit: 0` for
|
|
49
|
+
* unlimited (up to Slack's ceiling of 10,000 results).
|
|
50
|
+
*/
|
|
51
|
+
export declare function searchMessages(client: SlackClient, query: string, opts?: SearchMessagesOptions): Promise<MessageSearchResult>;
|
|
52
|
+
/** File metadata from a file search. */
|
|
53
|
+
export interface SlackFileResult {
|
|
54
|
+
id: string;
|
|
55
|
+
name: string;
|
|
56
|
+
title?: string;
|
|
57
|
+
mimetype?: string;
|
|
58
|
+
size?: number;
|
|
59
|
+
user?: string;
|
|
60
|
+
permalink?: string;
|
|
61
|
+
}
|
|
62
|
+
/** File search result. */
|
|
63
|
+
export interface FileSearchResult {
|
|
64
|
+
files: SlackFileResult[];
|
|
65
|
+
total: number;
|
|
66
|
+
query: string;
|
|
67
|
+
}
|
|
68
|
+
/** Options for searching files. */
|
|
69
|
+
export interface SearchFilesOptions {
|
|
70
|
+
channel?: string;
|
|
71
|
+
from?: string;
|
|
72
|
+
with?: string;
|
|
73
|
+
after?: string;
|
|
74
|
+
before?: string;
|
|
75
|
+
type?: string;
|
|
76
|
+
limit?: number;
|
|
77
|
+
signal?: AbortSignal;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Search Slack files with automatic pagination.
|
|
81
|
+
*
|
|
82
|
+
* Fetches pages of up to 100 results until the requested limit
|
|
83
|
+
* is reached or all pages are exhausted. Pass `limit: 0` for
|
|
84
|
+
* unlimited (up to Slack's ceiling of 10,000 results).
|
|
85
|
+
*/
|
|
86
|
+
export declare function searchFiles(client: SlackClient, query: string, opts?: SearchFilesOptions): Promise<FileSearchResult>;
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slack search API: messages and files.
|
|
3
|
+
*
|
|
4
|
+
* Builds queries from structured parameters, including Slack
|
|
5
|
+
* search operators (from:, in:, after:, before:). Auto-paginates
|
|
6
|
+
* through results using Slack's traditional paging (page +
|
|
7
|
+
* count). Caches channel and user mappings found in results.
|
|
8
|
+
*/
|
|
9
|
+
import { cacheChannelName } from "../resolvers/conversation.js";
|
|
10
|
+
import { cacheUser } from "../resolvers/user.js";
|
|
11
|
+
import { cacheConversationFromSearch } from "./resolve-conversations.js";
|
|
12
|
+
/** Maximum results per page (Slack API hard limit). */
|
|
13
|
+
const MAX_PER_PAGE = 100;
|
|
14
|
+
/** Maximum page number (Slack API hard limit). */
|
|
15
|
+
const MAX_PAGE = 100;
|
|
16
|
+
/** Default number of results when no limit is specified. */
|
|
17
|
+
const DEFAULT_LIMIT = 20;
|
|
18
|
+
/** Build a search query string from structured parameters. */
|
|
19
|
+
function buildQuery(query, opts) {
|
|
20
|
+
let q = query;
|
|
21
|
+
if (opts.channel) {
|
|
22
|
+
const ch = opts.channel.startsWith("#") ? opts.channel : `#${opts.channel}`;
|
|
23
|
+
q += ` in:${ch}`;
|
|
24
|
+
}
|
|
25
|
+
if (opts.from) {
|
|
26
|
+
const user = opts.from.startsWith("@") ? opts.from.slice(1) : opts.from;
|
|
27
|
+
q += ` from:${user}`;
|
|
28
|
+
}
|
|
29
|
+
if (opts.with) {
|
|
30
|
+
const user = opts.with.startsWith("@") ? opts.with.slice(1) : opts.with;
|
|
31
|
+
q += ` with:${user}`;
|
|
32
|
+
}
|
|
33
|
+
if (opts.after)
|
|
34
|
+
q += ` after:${opts.after}`;
|
|
35
|
+
if (opts.before)
|
|
36
|
+
q += ` before:${opts.before}`;
|
|
37
|
+
return q;
|
|
38
|
+
}
|
|
39
|
+
/** Cache conversation and user mappings from a search match. */
|
|
40
|
+
function cacheMatchMappings(m) {
|
|
41
|
+
if (m.channel?.id && m.channel?.name) {
|
|
42
|
+
cacheChannelName(m.channel.name, m.channel.id);
|
|
43
|
+
cacheConversationFromSearch(m.channel.id, m.channel.name);
|
|
44
|
+
}
|
|
45
|
+
if (m.user && m.username) {
|
|
46
|
+
cacheUser(m.username, m.user);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Convert a Slack search match to our message type. */
|
|
50
|
+
function matchToMessage(m) {
|
|
51
|
+
const conversation = m.channel?.id
|
|
52
|
+
? {
|
|
53
|
+
id: m.channel.id,
|
|
54
|
+
name: m.channel.name,
|
|
55
|
+
kind: m.channel.name?.startsWith("mpdm-") ? "group_dm" : "channel",
|
|
56
|
+
displayName: m.channel.name
|
|
57
|
+
? m.channel.name.startsWith("mpdm-")
|
|
58
|
+
? undefined
|
|
59
|
+
: `#${m.channel.name}`
|
|
60
|
+
: undefined,
|
|
61
|
+
}
|
|
62
|
+
: undefined;
|
|
63
|
+
return {
|
|
64
|
+
ts: m.ts,
|
|
65
|
+
text: m.text ?? "",
|
|
66
|
+
user: m.user,
|
|
67
|
+
conversation,
|
|
68
|
+
threadTs: m.thread_ts,
|
|
69
|
+
replyCount: m.reply_count,
|
|
70
|
+
isThreadParent: m.thread_ts !== undefined && m.thread_ts === m.ts,
|
|
71
|
+
permalink: m.permalink,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Search Slack messages with automatic pagination.
|
|
76
|
+
*
|
|
77
|
+
* Fetches pages of up to 100 results until the requested limit
|
|
78
|
+
* is reached or all pages are exhausted. Pass `limit: 0` for
|
|
79
|
+
* unlimited (up to Slack's ceiling of 10,000 results).
|
|
80
|
+
*/
|
|
81
|
+
export async function searchMessages(client, query, opts = {}) {
|
|
82
|
+
const fullQuery = buildQuery(query, opts);
|
|
83
|
+
const targetLimit = opts.limit === 0 ? Number.POSITIVE_INFINITY : opts.limit || DEFAULT_LIMIT;
|
|
84
|
+
const perPage = Math.min(targetLimit, MAX_PER_PAGE);
|
|
85
|
+
const allMessages = [];
|
|
86
|
+
const seen = new Set();
|
|
87
|
+
let page = 1;
|
|
88
|
+
let totalPages = 1;
|
|
89
|
+
let total = 0;
|
|
90
|
+
while (allMessages.length < targetLimit &&
|
|
91
|
+
page <= totalPages &&
|
|
92
|
+
page <= MAX_PAGE) {
|
|
93
|
+
if (opts.signal?.aborted)
|
|
94
|
+
break;
|
|
95
|
+
const response = await client.call("search.messages", {
|
|
96
|
+
query: fullQuery,
|
|
97
|
+
count: perPage,
|
|
98
|
+
page,
|
|
99
|
+
sort: "timestamp",
|
|
100
|
+
sort_dir: "desc",
|
|
101
|
+
}, opts.signal);
|
|
102
|
+
const matches = response.messages?.matches ?? [];
|
|
103
|
+
total = response.messages?.total ?? 0;
|
|
104
|
+
totalPages = response.messages?.paging?.pages ?? 1;
|
|
105
|
+
if (matches.length === 0)
|
|
106
|
+
break;
|
|
107
|
+
const pageMessages = [];
|
|
108
|
+
for (const m of matches) {
|
|
109
|
+
cacheMatchMappings(m);
|
|
110
|
+
if (seen.has(m.ts))
|
|
111
|
+
continue;
|
|
112
|
+
seen.add(m.ts);
|
|
113
|
+
const msg = matchToMessage(m);
|
|
114
|
+
allMessages.push(msg);
|
|
115
|
+
pageMessages.push(msg);
|
|
116
|
+
if (allMessages.length >= targetLimit)
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
if (opts.onPage && pageMessages.length > 0) {
|
|
120
|
+
opts.onPage(pageMessages, { page, totalPages, total });
|
|
121
|
+
}
|
|
122
|
+
page++;
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
messages: allMessages,
|
|
126
|
+
total,
|
|
127
|
+
query: fullQuery,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Search Slack files with automatic pagination.
|
|
132
|
+
*
|
|
133
|
+
* Fetches pages of up to 100 results until the requested limit
|
|
134
|
+
* is reached or all pages are exhausted. Pass `limit: 0` for
|
|
135
|
+
* unlimited (up to Slack's ceiling of 10,000 results).
|
|
136
|
+
*/
|
|
137
|
+
export async function searchFiles(client, query, opts = {}) {
|
|
138
|
+
const fullQuery = buildQuery(query, opts);
|
|
139
|
+
const targetLimit = opts.limit === 0 ? Number.POSITIVE_INFINITY : opts.limit || DEFAULT_LIMIT;
|
|
140
|
+
const perPage = Math.min(targetLimit, MAX_PER_PAGE);
|
|
141
|
+
const allFiles = [];
|
|
142
|
+
const seen = new Set();
|
|
143
|
+
let page = 1;
|
|
144
|
+
let totalPages = 1;
|
|
145
|
+
let total = 0;
|
|
146
|
+
while (allFiles.length < targetLimit &&
|
|
147
|
+
page <= totalPages &&
|
|
148
|
+
page <= MAX_PAGE) {
|
|
149
|
+
if (opts.signal?.aborted)
|
|
150
|
+
break;
|
|
151
|
+
const response = await client.call("search.files", {
|
|
152
|
+
query: fullQuery,
|
|
153
|
+
count: perPage,
|
|
154
|
+
page,
|
|
155
|
+
sort: "timestamp",
|
|
156
|
+
sort_dir: "desc",
|
|
157
|
+
}, opts.signal);
|
|
158
|
+
const matches = response.files?.matches ?? [];
|
|
159
|
+
total = response.files?.total ?? 0;
|
|
160
|
+
totalPages = response.files?.paging?.pages ?? 1;
|
|
161
|
+
if (matches.length === 0)
|
|
162
|
+
break;
|
|
163
|
+
for (const f of matches) {
|
|
164
|
+
if (seen.has(f.id))
|
|
165
|
+
continue;
|
|
166
|
+
seen.add(f.id);
|
|
167
|
+
allFiles.push({
|
|
168
|
+
id: f.id,
|
|
169
|
+
name: f.name,
|
|
170
|
+
title: f.title,
|
|
171
|
+
mimetype: f.mimetype,
|
|
172
|
+
size: f.size,
|
|
173
|
+
user: f.user,
|
|
174
|
+
permalink: f.permalink,
|
|
175
|
+
});
|
|
176
|
+
if (allFiles.length >= targetLimit)
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
page++;
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
files: allFiles,
|
|
183
|
+
total,
|
|
184
|
+
query: fullQuery,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slack user API: profiles and info.
|
|
3
|
+
*/
|
|
4
|
+
import type { SlackUser } from "../types.js";
|
|
5
|
+
import type { SlackClient } from "./client.js";
|
|
6
|
+
/**
|
|
7
|
+
* Fetch a user's profile by ID.
|
|
8
|
+
*
|
|
9
|
+
* Uses users.info which works with client tokens on
|
|
10
|
+
* enterprise grids (unlike users.list).
|
|
11
|
+
*/
|
|
12
|
+
export declare function getUserInfo(client: SlackClient, userId: string, signal?: AbortSignal): Promise<SlackUser>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slack user API: profiles and info.
|
|
3
|
+
*/
|
|
4
|
+
import { cacheUser } from "../resolvers/user.js";
|
|
5
|
+
/**
|
|
6
|
+
* Fetch a user's profile by ID.
|
|
7
|
+
*
|
|
8
|
+
* Uses users.info which works with client tokens on
|
|
9
|
+
* enterprise grids (unlike users.list).
|
|
10
|
+
*/
|
|
11
|
+
export async function getUserInfo(client, userId, signal) {
|
|
12
|
+
const response = await client.call("users.info", { user: userId }, signal);
|
|
13
|
+
const u = response.user;
|
|
14
|
+
const profile = u.profile ?? {};
|
|
15
|
+
// Cache the handle → ID mapping.
|
|
16
|
+
if (u.name && u.id) {
|
|
17
|
+
cacheUser(u.name, u.id);
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
id: u.id,
|
|
21
|
+
name: u.name,
|
|
22
|
+
realName: profile.real_name ?? u.real_name,
|
|
23
|
+
displayName: profile.display_name || undefined,
|
|
24
|
+
title: profile.title || undefined,
|
|
25
|
+
email: profile.email || undefined,
|
|
26
|
+
isBot: u.is_bot ?? false,
|
|
27
|
+
isAdmin: u.is_admin ?? false,
|
|
28
|
+
timezone: u.tz,
|
|
29
|
+
statusText: profile.status_text || undefined,
|
|
30
|
+
statusEmoji: profile.status_emoji || undefined,
|
|
31
|
+
deleted: u.deleted ?? false,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Automatic Slack credential extraction via browser.
|
|
3
|
+
*
|
|
4
|
+
* Launches Chrome (non-headless, using the user's existing
|
|
5
|
+
* install), navigates to Slack, and polls localStorage and
|
|
6
|
+
* cookies for the xoxc- token and xoxd- cookie. Works with
|
|
7
|
+
* any Slack workspace; the user just needs to be logged in
|
|
8
|
+
* (or log in when the browser opens).
|
|
9
|
+
*
|
|
10
|
+
* Uses puppeteer-core (no bundled browser) for consistency
|
|
11
|
+
* with web-search-integration.
|
|
12
|
+
*/
|
|
13
|
+
/** Extracted browser session credentials. */
|
|
14
|
+
export interface BrowserCredentials {
|
|
15
|
+
token: string;
|
|
16
|
+
cookie: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Launch Chrome, navigate to Slack, and extract credentials.
|
|
20
|
+
*
|
|
21
|
+
* Opens a visible browser window so the user can log in if
|
|
22
|
+
* needed. Polls localStorage for the xoxc- token and the
|
|
23
|
+
* browser's cookie jar for the xoxd- session cookie.
|
|
24
|
+
*
|
|
25
|
+
* @param slackUrl - Slack URL to navigate to (default: the sign-in
|
|
26
|
+
* entry point, not a workspace or the marketing homepage)
|
|
27
|
+
* @param timeoutMs - How long to wait before giving up
|
|
28
|
+
* @param onStep - Called once, right after the browser opens, with
|
|
29
|
+
* the guidance a person watching needs to actually finish sign-in.
|
|
30
|
+
* Adapter-supplied rather than written straight to stderr here, so
|
|
31
|
+
* a host that isn't a bare terminal can surface it its own way.
|
|
32
|
+
*/
|
|
33
|
+
export declare function extractFromBrowser(slackUrl?: string, timeoutMs?: number, onStep?: (message: string) => void): Promise<BrowserCredentials>;
|