@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,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in ref types: GitHub issues, GitHub PRs, GitHub
|
|
3
|
+
* repos, Slack messages and Slack threads.
|
|
4
|
+
*
|
|
5
|
+
* Each type recognises its own surface forms in text and
|
|
6
|
+
* builds a canonical URL from a stored value. The canonical
|
|
7
|
+
* value is the smallest unambiguous string that lets us
|
|
8
|
+
* rebuild a URL without losing information.
|
|
9
|
+
*
|
|
10
|
+
* type canonical value url shape
|
|
11
|
+
* ------------- ----------------------- ----------------------------------
|
|
12
|
+
* github-issue owner/repo#NNN github.com/owner/repo/issues/NNN
|
|
13
|
+
* github-pr owner/repo#NNN github.com/owner/repo/pull/NNN
|
|
14
|
+
* github-repo owner/repo github.com/owner/repo
|
|
15
|
+
* slack-message workspace/CHANNEL/pTS <workspace>.slack.com/archives/CHANNEL/pTS
|
|
16
|
+
* slack-thread workspace/CHANNEL/pTS <workspace>.slack.com/archives/CHANNEL/pTS
|
|
17
|
+
*
|
|
18
|
+
* GitHub's numbering shares one namespace between issues
|
|
19
|
+
* and PRs within a repo, so the bare `owner/repo#NNN`
|
|
20
|
+
* notation cannot distinguish them. We match the bare form
|
|
21
|
+
* as `github-issue` only; PRs require a `/pull/` URL form
|
|
22
|
+
* to disambiguate. The quest tool resolves the actual kind
|
|
23
|
+
* via GitHub API when it matters.
|
|
24
|
+
*
|
|
25
|
+
* Slack threads and messages share their URL surface; we
|
|
26
|
+
* discriminate by the `thread_ts` query parameter. A URL
|
|
27
|
+
* with `thread_ts=` is a `slack-thread` pointing at the
|
|
28
|
+
* thread parent; a URL without is a `slack-message`.
|
|
29
|
+
*/
|
|
30
|
+
const GITHUB_URL_BASE = "https://github.com";
|
|
31
|
+
const githubIssue = {
|
|
32
|
+
type: "github-issue",
|
|
33
|
+
matchAll(text) {
|
|
34
|
+
const results = [];
|
|
35
|
+
const seen = new Set();
|
|
36
|
+
const push = (value) => {
|
|
37
|
+
if (seen.has(value))
|
|
38
|
+
return;
|
|
39
|
+
seen.add(value);
|
|
40
|
+
results.push(value);
|
|
41
|
+
};
|
|
42
|
+
// URLs: https://github.com/owner/repo/issues/NNN
|
|
43
|
+
const urlRegex = /https?:\/\/(?:www\.)?github\.com\/([\w.-]+)\/([\w.-]+)\/issues\/(\d+)/g;
|
|
44
|
+
for (const m of text.matchAll(urlRegex)) {
|
|
45
|
+
push(`${m[1]}/${m[2]}#${m[3]}`);
|
|
46
|
+
}
|
|
47
|
+
// Bare form: owner/repo#NNN. Constrain owner and repo
|
|
48
|
+
// to look like GitHub identifiers and require word
|
|
49
|
+
// boundaries so we don't match inside URLs we just
|
|
50
|
+
// captured above.
|
|
51
|
+
const bareRegex = /(?<![\w/])([\w.-]+)\/([\w.-]+)#(\d+)\b/g;
|
|
52
|
+
for (const m of text.matchAll(bareRegex)) {
|
|
53
|
+
push(`${m[1]}/${m[2]}#${m[3]}`);
|
|
54
|
+
}
|
|
55
|
+
return results;
|
|
56
|
+
},
|
|
57
|
+
url(value) {
|
|
58
|
+
const m = /^([\w.-]+)\/([\w.-]+)#(\d+)$/.exec(value);
|
|
59
|
+
if (!m)
|
|
60
|
+
return undefined;
|
|
61
|
+
return `${GITHUB_URL_BASE}/${m[1]}/${m[2]}/issues/${m[3]}`;
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
const githubPr = {
|
|
65
|
+
type: "github-pr",
|
|
66
|
+
matchAll(text) {
|
|
67
|
+
const results = [];
|
|
68
|
+
const urlRegex = /https?:\/\/(?:www\.)?github\.com\/([\w.-]+)\/([\w.-]+)\/pull\/(\d+)/g;
|
|
69
|
+
for (const m of text.matchAll(urlRegex)) {
|
|
70
|
+
results.push(`${m[1]}/${m[2]}#${m[3]}`);
|
|
71
|
+
}
|
|
72
|
+
return results;
|
|
73
|
+
},
|
|
74
|
+
url(value) {
|
|
75
|
+
const m = /^([\w.-]+)\/([\w.-]+)#(\d+)$/.exec(value);
|
|
76
|
+
if (!m)
|
|
77
|
+
return undefined;
|
|
78
|
+
return `${GITHUB_URL_BASE}/${m[1]}/${m[2]}/pull/${m[3]}`;
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
const githubRepo = {
|
|
82
|
+
type: "github-repo",
|
|
83
|
+
matchAll(text) {
|
|
84
|
+
// Match https://github.com/owner/repo with no further
|
|
85
|
+
// path component. The lookahead allows whitespace,
|
|
86
|
+
// end-of-input, markdown link-closing characters or a
|
|
87
|
+
// trailing slash with the same suffix.
|
|
88
|
+
const regex = /https?:\/\/(?:www\.)?github\.com\/([\w.-]+)\/([\w.-]+)\/?(?=$|\s|[)\].,;])/g;
|
|
89
|
+
const results = [];
|
|
90
|
+
for (const m of text.matchAll(regex)) {
|
|
91
|
+
results.push(`${m[1]}/${m[2]}`);
|
|
92
|
+
}
|
|
93
|
+
return results;
|
|
94
|
+
},
|
|
95
|
+
url(value) {
|
|
96
|
+
const m = /^([\w.-]+)\/([\w.-]+)$/.exec(value);
|
|
97
|
+
if (!m)
|
|
98
|
+
return undefined;
|
|
99
|
+
return `${GITHUB_URL_BASE}/${m[1]}/${m[2]}`;
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
const SLACK_URL_REGEX = /https:\/\/([\w-]+)\.slack\.com\/archives\/([A-Z0-9]+)\/(p\d+)(\?[^\s"')\]]*)?/g;
|
|
103
|
+
/**
|
|
104
|
+
* Why a Slack ref will not become a URL, or nothing when it will.
|
|
105
|
+
*
|
|
106
|
+
* Shared by both Slack types, which store and encode identically.
|
|
107
|
+
*
|
|
108
|
+
* The two-part case is called out by name because it is not a typo,
|
|
109
|
+
* it is the overwhelming majority: a value written from Slack API
|
|
110
|
+
* data has the channel and the timestamp and no workspace, since the
|
|
111
|
+
* API never says which workspace you are talking to. Only a value
|
|
112
|
+
* parsed out of a URL carries all three. Naming the missing part and
|
|
113
|
+
* where it comes from is the difference between a fixable record and
|
|
114
|
+
* a link that is simply absent.
|
|
115
|
+
*/
|
|
116
|
+
function whyNoSlackUrl(value) {
|
|
117
|
+
if (SLACK_VALUE_REGEX.test(value))
|
|
118
|
+
return undefined;
|
|
119
|
+
if (/^[A-Z0-9]+\/p?\d+(\.\d+)?$/.test(value)) {
|
|
120
|
+
return (`"${value}" names a channel and a timestamp but no workspace, ` +
|
|
121
|
+
"which is what a ref written from Slack API data looks like: the " +
|
|
122
|
+
"API never says which workspace you are talking to. A link needs " +
|
|
123
|
+
"workspace/CHANNEL/pTIMESTAMP, so add the workspace this came from.");
|
|
124
|
+
}
|
|
125
|
+
return (`"${value}" is not workspace/CHANNEL/pTIMESTAMP, so there is ` +
|
|
126
|
+
"nothing to build an archive link out of.");
|
|
127
|
+
}
|
|
128
|
+
const SLACK_VALUE_REGEX = /^([\w-]+)\/([A-Z0-9]+)\/(p\d+)$/;
|
|
129
|
+
function slackUrl(value) {
|
|
130
|
+
const m = SLACK_VALUE_REGEX.exec(value);
|
|
131
|
+
if (!m)
|
|
132
|
+
return undefined;
|
|
133
|
+
return `https://${m[1]}.slack.com/archives/${m[2]}/${m[3]}`;
|
|
134
|
+
}
|
|
135
|
+
const slackMessage = {
|
|
136
|
+
type: "slack-message",
|
|
137
|
+
matchAll(text) {
|
|
138
|
+
const results = [];
|
|
139
|
+
for (const m of text.matchAll(SLACK_URL_REGEX)) {
|
|
140
|
+
const query = m[4] ?? "";
|
|
141
|
+
if (query.includes("thread_ts="))
|
|
142
|
+
continue;
|
|
143
|
+
results.push(`${m[1]}/${m[2]}/${m[3]}`);
|
|
144
|
+
}
|
|
145
|
+
return results;
|
|
146
|
+
},
|
|
147
|
+
url: slackUrl,
|
|
148
|
+
whyNoUrl: whyNoSlackUrl,
|
|
149
|
+
};
|
|
150
|
+
const slackThread = {
|
|
151
|
+
type: "slack-thread",
|
|
152
|
+
matchAll(text) {
|
|
153
|
+
const results = [];
|
|
154
|
+
for (const m of text.matchAll(SLACK_URL_REGEX)) {
|
|
155
|
+
const query = m[4] ?? "";
|
|
156
|
+
const threadTsMatch = /thread_ts=([\d.]+)/.exec(query);
|
|
157
|
+
if (!threadTsMatch)
|
|
158
|
+
continue;
|
|
159
|
+
// Canonical value points at the THREAD PARENT
|
|
160
|
+
// (whose ts is `thread_ts`), not the reply we
|
|
161
|
+
// matched. Convert "1778683833.000200" to
|
|
162
|
+
// "p1778683833000200" to match Slack's URL form
|
|
163
|
+
// for the parent message.
|
|
164
|
+
const parentTs = `p${threadTsMatch[1].replace(".", "")}`;
|
|
165
|
+
results.push(`${m[1]}/${m[2]}/${parentTs}`);
|
|
166
|
+
}
|
|
167
|
+
return results;
|
|
168
|
+
},
|
|
169
|
+
url: slackUrl,
|
|
170
|
+
whyNoUrl: whyNoSlackUrl,
|
|
171
|
+
};
|
|
172
|
+
/** All built-in ref types in stable iteration order. */
|
|
173
|
+
export const BUILTIN_REF_TYPES = [
|
|
174
|
+
githubIssue,
|
|
175
|
+
githubPr,
|
|
176
|
+
githubRepo,
|
|
177
|
+
slackMessage,
|
|
178
|
+
slackThread,
|
|
179
|
+
];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refs registry: a process-global map from ref type
|
|
3
|
+
* identifier to `RefType` definition.
|
|
4
|
+
*
|
|
5
|
+
* Implementation note: backed by the shared
|
|
6
|
+
* `createGlobalSymbolRegistry` helper so every package
|
|
7
|
+
* registry follows the same shape. The slot persists
|
|
8
|
+
* across module reimport but NOT across pi's `/reload`,
|
|
9
|
+
* which spawns a fresh process. Tests call `clear()` to
|
|
10
|
+
* isolate registrations between cases.
|
|
11
|
+
*/
|
|
12
|
+
import type { Ref, RefType } from "../../refs/types.js";
|
|
13
|
+
export declare const register: (refType: RefType) => void;
|
|
14
|
+
export declare const unregister: (type: string) => void;
|
|
15
|
+
export declare const clear: () => void;
|
|
16
|
+
export declare const get: (type: string) => RefType | undefined;
|
|
17
|
+
export declare const list: () => RefType[];
|
|
18
|
+
/**
|
|
19
|
+
* Run every registered type's `matchAll` against the given
|
|
20
|
+
* text and return the union of matches. Order: ref types
|
|
21
|
+
* are visited in registration order; matches within a type
|
|
22
|
+
* follow that type's own order. Duplicate `{type, value}`
|
|
23
|
+
* pairs are dropped.
|
|
24
|
+
*/
|
|
25
|
+
export declare function parseAll(text: string): Ref[];
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refs registry: a process-global map from ref type
|
|
3
|
+
* identifier to `RefType` definition.
|
|
4
|
+
*
|
|
5
|
+
* Implementation note: backed by the shared
|
|
6
|
+
* `createGlobalSymbolRegistry` helper so every package
|
|
7
|
+
* registry follows the same shape. The slot persists
|
|
8
|
+
* across module reimport but NOT across pi's `/reload`,
|
|
9
|
+
* which spawns a fresh process. Tests call `clear()` to
|
|
10
|
+
* isolate registrations between cases.
|
|
11
|
+
*/
|
|
12
|
+
import { createGlobalSymbolRegistry } from "../registry/global-symbol-registry.js";
|
|
13
|
+
const registry = createGlobalSymbolRegistry({
|
|
14
|
+
slot: "pi:agentic-harness:refs-registry",
|
|
15
|
+
getId: (rt) => rt.type,
|
|
16
|
+
});
|
|
17
|
+
export const register = (refType) => registry.register(refType);
|
|
18
|
+
export const unregister = (type) => registry.unregister(type);
|
|
19
|
+
export const clear = () => registry.clear();
|
|
20
|
+
export const get = (type) => registry.get(type);
|
|
21
|
+
export const list = () => registry.list();
|
|
22
|
+
/**
|
|
23
|
+
* Run every registered type's `matchAll` against the given
|
|
24
|
+
* text and return the union of matches. Order: ref types
|
|
25
|
+
* are visited in registration order; matches within a type
|
|
26
|
+
* follow that type's own order. Duplicate `{type, value}`
|
|
27
|
+
* pairs are dropped.
|
|
28
|
+
*/
|
|
29
|
+
export function parseAll(text) {
|
|
30
|
+
const refs = [];
|
|
31
|
+
const seen = new Set();
|
|
32
|
+
for (const rt of list()) {
|
|
33
|
+
for (const value of rt.matchAll(text)) {
|
|
34
|
+
const key = `${rt.type}|${value}`;
|
|
35
|
+
if (seen.has(key))
|
|
36
|
+
continue;
|
|
37
|
+
seen.add(key);
|
|
38
|
+
refs.push({ type: rt.type, value });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return refs;
|
|
42
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helper for pluggable registries stashed on
|
|
3
|
+
* `globalThis` under a `Symbol.for` key.
|
|
4
|
+
*
|
|
5
|
+
* Several library modules (refs, people handle types,
|
|
6
|
+
* terminal drivers, tree providers, URL fetchers) ship the
|
|
7
|
+
* same shape: a Map keyed by a stable id, behind a
|
|
8
|
+
* symbol-keyed slot on globalThis so HMR-style reloads
|
|
9
|
+
* don't lose registrations. Each used to inline the same
|
|
10
|
+
* five-function quintet. This helper deduplicates the
|
|
11
|
+
* mechanism so a new registry is a three-line wrapper.
|
|
12
|
+
*
|
|
13
|
+
* The slot persists across module reimport, NOT across pi's
|
|
14
|
+
* own `/reload` (which spawns a new process and a fresh
|
|
15
|
+
* globalThis). Callers that need to reseed built-ins on
|
|
16
|
+
* activate should idempotently call their `registerBuiltin*`
|
|
17
|
+
* helper.
|
|
18
|
+
*/
|
|
19
|
+
export interface RegistryHandle<T> {
|
|
20
|
+
register(value: T): void;
|
|
21
|
+
unregister(id: string): void;
|
|
22
|
+
clear(): void;
|
|
23
|
+
get(id: string): T | undefined;
|
|
24
|
+
list(): T[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create a registry backed by a globalThis slot keyed by
|
|
28
|
+
* `Symbol.for(slot)`. The slot key should be unique across
|
|
29
|
+
* the package (use a `pi:<package>:<kind>` shape so
|
|
30
|
+
* registrations don't alias across libraries).
|
|
31
|
+
*
|
|
32
|
+
* `getId` extracts the stable id from a registered value.
|
|
33
|
+
*/
|
|
34
|
+
export declare function createGlobalSymbolRegistry<T>(options: {
|
|
35
|
+
slot: string;
|
|
36
|
+
getId: (value: T) => string;
|
|
37
|
+
}): RegistryHandle<T>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helper for pluggable registries stashed on
|
|
3
|
+
* `globalThis` under a `Symbol.for` key.
|
|
4
|
+
*
|
|
5
|
+
* Several library modules (refs, people handle types,
|
|
6
|
+
* terminal drivers, tree providers, URL fetchers) ship the
|
|
7
|
+
* same shape: a Map keyed by a stable id, behind a
|
|
8
|
+
* symbol-keyed slot on globalThis so HMR-style reloads
|
|
9
|
+
* don't lose registrations. Each used to inline the same
|
|
10
|
+
* five-function quintet. This helper deduplicates the
|
|
11
|
+
* mechanism so a new registry is a three-line wrapper.
|
|
12
|
+
*
|
|
13
|
+
* The slot persists across module reimport, NOT across pi's
|
|
14
|
+
* own `/reload` (which spawns a new process and a fresh
|
|
15
|
+
* globalThis). Callers that need to reseed built-ins on
|
|
16
|
+
* activate should idempotently call their `registerBuiltin*`
|
|
17
|
+
* helper.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Create a registry backed by a globalThis slot keyed by
|
|
21
|
+
* `Symbol.for(slot)`. The slot key should be unique across
|
|
22
|
+
* the package (use a `pi:<package>:<kind>` shape so
|
|
23
|
+
* registrations don't alias across libraries).
|
|
24
|
+
*
|
|
25
|
+
* `getId` extracts the stable id from a registered value.
|
|
26
|
+
*/
|
|
27
|
+
export function createGlobalSymbolRegistry(options) {
|
|
28
|
+
const key = Symbol.for(options.slot);
|
|
29
|
+
function entries() {
|
|
30
|
+
const host = globalThis;
|
|
31
|
+
const existing = host[key];
|
|
32
|
+
if (existing)
|
|
33
|
+
return existing;
|
|
34
|
+
const fresh = new Map();
|
|
35
|
+
host[key] = fresh;
|
|
36
|
+
return fresh;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
register(value) {
|
|
40
|
+
entries().set(options.getId(value), value);
|
|
41
|
+
},
|
|
42
|
+
unregister(id) {
|
|
43
|
+
entries().delete(id);
|
|
44
|
+
},
|
|
45
|
+
clear() {
|
|
46
|
+
entries().clear();
|
|
47
|
+
},
|
|
48
|
+
get(id) {
|
|
49
|
+
return entries().get(id);
|
|
50
|
+
},
|
|
51
|
+
list() {
|
|
52
|
+
return [...entries().values()];
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Review provider registry: process-global map from provider
|
|
3
|
+
* id to `ReviewProvider`. Mirrors the tree, refs, people and
|
|
4
|
+
* terminal registries and uses the same shared
|
|
5
|
+
* `createGlobalSymbolRegistry` helper.
|
|
6
|
+
*/
|
|
7
|
+
import type { ReviewProvider } from "../../review/provider.js";
|
|
8
|
+
export declare const register: (provider: ReviewProvider) => void;
|
|
9
|
+
export declare const unregister: (id: string) => void;
|
|
10
|
+
export declare const clear: () => void;
|
|
11
|
+
export declare const get: (id: string) => ReviewProvider | undefined;
|
|
12
|
+
export declare const list: () => ReviewProvider[];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Review provider registry: process-global map from provider
|
|
3
|
+
* id to `ReviewProvider`. Mirrors the tree, refs, people and
|
|
4
|
+
* terminal registries and uses the same shared
|
|
5
|
+
* `createGlobalSymbolRegistry` helper.
|
|
6
|
+
*/
|
|
7
|
+
import { createGlobalSymbolRegistry } from "../registry/global-symbol-registry.js";
|
|
8
|
+
const registry = createGlobalSymbolRegistry({
|
|
9
|
+
slot: "pi:agentic-harness:review-providers",
|
|
10
|
+
getId: (provider) => provider.id,
|
|
11
|
+
});
|
|
12
|
+
export const register = (provider) => registry.register(provider);
|
|
13
|
+
export const unregister = (id) => registry.unregister(id);
|
|
14
|
+
export const clear = () => registry.clear();
|
|
15
|
+
export const get = (id) => registry.get(id);
|
|
16
|
+
export const list = () => registry.list();
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thin promise wrapper over the callback-based sqlite3
|
|
3
|
+
* driver, shared by the local structured stores (memory,
|
|
4
|
+
* observability). sqlite3 is a native module, so it is
|
|
5
|
+
* lazy-imported on first open; callers speak promises and
|
|
6
|
+
* never touch the driver directly.
|
|
7
|
+
*/
|
|
8
|
+
/** A promise-speaking handle to a SQLite database. */
|
|
9
|
+
export interface Db {
|
|
10
|
+
run(sql: string, params?: readonly unknown[]): Promise<void>;
|
|
11
|
+
all<T>(sql: string, params?: readonly unknown[]): Promise<T[]>;
|
|
12
|
+
exec(sql: string): Promise<void>;
|
|
13
|
+
close(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
/** Open a SQLite database at the given path (`:memory:` for tests). */
|
|
16
|
+
export declare function openDb(dbPath: string): Promise<Db>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thin promise wrapper over the callback-based sqlite3
|
|
3
|
+
* driver, shared by the local structured stores (memory,
|
|
4
|
+
* observability). sqlite3 is a native module, so it is
|
|
5
|
+
* lazy-imported on first open; callers speak promises and
|
|
6
|
+
* never touch the driver directly.
|
|
7
|
+
*/
|
|
8
|
+
/** Open a SQLite database at the given path (`:memory:` for tests). */
|
|
9
|
+
export async function openDb(dbPath) {
|
|
10
|
+
const sqlite3 = await import("sqlite3");
|
|
11
|
+
const database = new sqlite3.default.Database(dbPath);
|
|
12
|
+
return {
|
|
13
|
+
run: (sql, params = []) => new Promise((resolve, reject) => {
|
|
14
|
+
database.run(sql, params, (err) => (err ? reject(err) : resolve()));
|
|
15
|
+
}),
|
|
16
|
+
all: (sql, params = []) => new Promise((resolve, reject) => {
|
|
17
|
+
database.all(sql, params, (err, rows) => err ? reject(err) : resolve(rows));
|
|
18
|
+
}),
|
|
19
|
+
exec: (sql) => new Promise((resolve, reject) => {
|
|
20
|
+
database.exec(sql, (err) => (err ? reject(err) : resolve()));
|
|
21
|
+
}),
|
|
22
|
+
close: () => new Promise((resolve, reject) => {
|
|
23
|
+
database.close((err) => (err ? reject(err) : resolve()));
|
|
24
|
+
}),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in terminal drivers, in the order
|
|
3
|
+
* `resolveDriver` tries them when no preferred driver is
|
|
4
|
+
* set. The fallback driver lands last so a real driver
|
|
5
|
+
* wins when one is present.
|
|
6
|
+
*/
|
|
7
|
+
import type { TerminalDriver } from "../../terminal/types.js";
|
|
8
|
+
export declare const BUILTIN_TERMINAL_DRIVERS: readonly TerminalDriver[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in terminal drivers, in the order
|
|
3
|
+
* `resolveDriver` tries them when no preferred driver is
|
|
4
|
+
* set. The fallback driver lands last so a real driver
|
|
5
|
+
* wins when one is present.
|
|
6
|
+
*/
|
|
7
|
+
import { fallback } from "./drivers/fallback.js";
|
|
8
|
+
import { tmux } from "./drivers/tmux.js";
|
|
9
|
+
import { wezterm } from "./drivers/wezterm.js";
|
|
10
|
+
export const BUILTIN_TERMINAL_DRIVERS = [
|
|
11
|
+
wezterm,
|
|
12
|
+
tmux,
|
|
13
|
+
fallback,
|
|
14
|
+
];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fallback driver. Available everywhere; "spawns" by
|
|
3
|
+
* printing the request to stderr so the user can dispatch
|
|
4
|
+
* it themselves. Used when no real driver is available
|
|
5
|
+
* (headless CI, unknown terminal, etc.).
|
|
6
|
+
*/
|
|
7
|
+
import type { TerminalDriver } from "../../../terminal/types.js";
|
|
8
|
+
export declare const fallback: TerminalDriver;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fallback driver. Available everywhere; "spawns" by
|
|
3
|
+
* printing the request to stderr so the user can dispatch
|
|
4
|
+
* it themselves. Used when no real driver is available
|
|
5
|
+
* (headless CI, unknown terminal, etc.).
|
|
6
|
+
*/
|
|
7
|
+
function formatRequest(request) {
|
|
8
|
+
const parts = [];
|
|
9
|
+
parts.push(`# terminal-fallback: would have opened ${request.layout}`);
|
|
10
|
+
if (request.cwd)
|
|
11
|
+
parts.push(`# cwd: ${request.cwd}`);
|
|
12
|
+
if (request.title)
|
|
13
|
+
parts.push(`# title: ${request.title}`);
|
|
14
|
+
if (request.env) {
|
|
15
|
+
for (const [k, v] of Object.entries(request.env))
|
|
16
|
+
parts.push(`${k}=${v}`);
|
|
17
|
+
}
|
|
18
|
+
// No command means the caller wanted a bare login shell. Say so,
|
|
19
|
+
// rather than printing an empty line where a command would be.
|
|
20
|
+
parts.push(request.command ?? "# (a login shell, no command)");
|
|
21
|
+
return parts.join("\n");
|
|
22
|
+
}
|
|
23
|
+
export const fallback = {
|
|
24
|
+
id: "fallback",
|
|
25
|
+
available() {
|
|
26
|
+
return true;
|
|
27
|
+
},
|
|
28
|
+
async spawn(request) {
|
|
29
|
+
process.stderr.write(`${formatRequest(request)}\n`);
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helpers for terminal drivers.
|
|
3
|
+
*
|
|
4
|
+
* Drivers that hand the command to a multiplexer daemon
|
|
5
|
+
* (wezterm cli, tmux) cannot pass environment variables
|
|
6
|
+
* through Node's child_process env: the daemon runs the
|
|
7
|
+
* pane in its own environment. Wrapping the command in a
|
|
8
|
+
* shell that sets the env vars and execs the original
|
|
9
|
+
* command is the portable way to ship per-spawn env.
|
|
10
|
+
*
|
|
11
|
+
* Drivers that spawn the process directly (the fallback's
|
|
12
|
+
* future direct-shell mode, for example) can use Node's
|
|
13
|
+
* env passthrough and skip the wrap.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* POSIX-shell-quote a single string. Wraps in single
|
|
17
|
+
* quotes and escapes any embedded single quotes.
|
|
18
|
+
*/
|
|
19
|
+
export declare function shellQuote(value: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Wrap a command so the given env vars are visible to it.
|
|
22
|
+
* Returns the original command unchanged when no env vars
|
|
23
|
+
* are supplied.
|
|
24
|
+
*
|
|
25
|
+
* The wrap is `KEY=value... exec sh -c '<command>'` rather
|
|
26
|
+
* than `KEY=value... exec <command>`: the assignment
|
|
27
|
+
* prefix and `exec` only consume the next single token, so
|
|
28
|
+
* a compound `<command>` like `echo hi; sleep 30` would
|
|
29
|
+
* lose everything after the first token. Wrapping in
|
|
30
|
+
* `sh -c` makes the whole thing a single token from the
|
|
31
|
+
* outer shell's point of view and lets shell metacharacters
|
|
32
|
+
* inside `<command>` keep their normal meaning.
|
|
33
|
+
*
|
|
34
|
+
* `exec` keeps the process tree shallow: the outer shell
|
|
35
|
+
* is replaced by the inner sh, which then runs the user's
|
|
36
|
+
* command, so signals and pid resolution behave as if the
|
|
37
|
+
* command ran one level deeper than a plain `sh -c`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function wrapCommandWithEnv(command: string, env: Readonly<Record<string, string>> | undefined): string;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helpers for terminal drivers.
|
|
3
|
+
*
|
|
4
|
+
* Drivers that hand the command to a multiplexer daemon
|
|
5
|
+
* (wezterm cli, tmux) cannot pass environment variables
|
|
6
|
+
* through Node's child_process env: the daemon runs the
|
|
7
|
+
* pane in its own environment. Wrapping the command in a
|
|
8
|
+
* shell that sets the env vars and execs the original
|
|
9
|
+
* command is the portable way to ship per-spawn env.
|
|
10
|
+
*
|
|
11
|
+
* Drivers that spawn the process directly (the fallback's
|
|
12
|
+
* future direct-shell mode, for example) can use Node's
|
|
13
|
+
* env passthrough and skip the wrap.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* POSIX-shell-quote a single string. Wraps in single
|
|
17
|
+
* quotes and escapes any embedded single quotes.
|
|
18
|
+
*/
|
|
19
|
+
export function shellQuote(value) {
|
|
20
|
+
return `'${value.replace(/'/g, "'\\''")}'`;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Wrap a command so the given env vars are visible to it.
|
|
24
|
+
* Returns the original command unchanged when no env vars
|
|
25
|
+
* are supplied.
|
|
26
|
+
*
|
|
27
|
+
* The wrap is `KEY=value... exec sh -c '<command>'` rather
|
|
28
|
+
* than `KEY=value... exec <command>`: the assignment
|
|
29
|
+
* prefix and `exec` only consume the next single token, so
|
|
30
|
+
* a compound `<command>` like `echo hi; sleep 30` would
|
|
31
|
+
* lose everything after the first token. Wrapping in
|
|
32
|
+
* `sh -c` makes the whole thing a single token from the
|
|
33
|
+
* outer shell's point of view and lets shell metacharacters
|
|
34
|
+
* inside `<command>` keep their normal meaning.
|
|
35
|
+
*
|
|
36
|
+
* `exec` keeps the process tree shallow: the outer shell
|
|
37
|
+
* is replaced by the inner sh, which then runs the user's
|
|
38
|
+
* command, so signals and pid resolution behave as if the
|
|
39
|
+
* command ran one level deeper than a plain `sh -c`.
|
|
40
|
+
*/
|
|
41
|
+
export function wrapCommandWithEnv(command, env) {
|
|
42
|
+
if (!env)
|
|
43
|
+
return command;
|
|
44
|
+
const entries = Object.entries(env);
|
|
45
|
+
if (entries.length === 0)
|
|
46
|
+
return command;
|
|
47
|
+
const assignments = entries
|
|
48
|
+
.map(([k, v]) => `${k}=${shellQuote(v)}`)
|
|
49
|
+
.join(" ");
|
|
50
|
+
return `${assignments} exec sh -c ${shellQuote(command)}`;
|
|
51
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tmux driver. Uses `tmux new-window` for tabs and windows
|
|
3
|
+
* (tmux has no separate window concept; a new tmux "window"
|
|
4
|
+
* is what we call a tab), and `tmux split-window` for panes.
|
|
5
|
+
*
|
|
6
|
+
* Available when both:
|
|
7
|
+
*
|
|
8
|
+
* - The `tmux` binary is on PATH.
|
|
9
|
+
* - The current process is inside a tmux session (`TMUX`
|
|
10
|
+
* env var is set). Otherwise the new tab has nowhere to
|
|
11
|
+
* attach.
|
|
12
|
+
*/
|
|
13
|
+
import type { TerminalDriver } from "../../../terminal/types.js";
|
|
14
|
+
export declare const tmux: TerminalDriver;
|