@descryy/mcp 0.11.5 → 0.11.6
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/dist/action-handshake.d.ts +38 -0
- package/dist/action-handshake.d.ts.map +1 -0
- package/dist/action-handshake.js +127 -0
- package/dist/action-handshake.js.map +1 -0
- package/dist/bin/descry-mcp.d.ts +7 -0
- package/dist/bin/descry-mcp.d.ts.map +1 -0
- package/dist/bin/descry-mcp.js +73 -0
- package/dist/bin/descry-mcp.js.map +1 -0
- package/dist/browser/auth.d.ts +84 -0
- package/dist/browser/auth.d.ts.map +1 -0
- package/dist/browser/auth.js +233 -0
- package/dist/browser/auth.js.map +1 -0
- package/dist/browser/capability-probe.d.ts +109 -0
- package/dist/browser/capability-probe.d.ts.map +1 -0
- package/dist/browser/capability-probe.js +201 -0
- package/dist/browser/capability-probe.js.map +1 -0
- package/dist/browser/driver.d.ts +591 -0
- package/dist/browser/driver.d.ts.map +1 -0
- package/dist/browser/driver.js +116 -0
- package/dist/browser/driver.js.map +1 -0
- package/dist/browser/evidence.d.ts +28 -0
- package/dist/browser/evidence.d.ts.map +1 -0
- package/dist/browser/evidence.js +82 -0
- package/dist/browser/evidence.js.map +1 -0
- package/dist/browser/fake-driver.d.ts +116 -0
- package/dist/browser/fake-driver.d.ts.map +1 -0
- package/dist/browser/fake-driver.js +416 -0
- package/dist/browser/fake-driver.js.map +1 -0
- package/dist/browser/fault-attribution.d.ts +178 -0
- package/dist/browser/fault-attribution.d.ts.map +1 -0
- package/dist/browser/fault-attribution.js +266 -0
- package/dist/browser/fault-attribution.js.map +1 -0
- package/dist/browser/graph-write.d.ts +45 -0
- package/dist/browser/graph-write.d.ts.map +1 -0
- package/dist/browser/graph-write.js +103 -0
- package/dist/browser/graph-write.js.map +1 -0
- package/dist/browser/identity-graph-write.d.ts +55 -0
- package/dist/browser/identity-graph-write.d.ts.map +1 -0
- package/dist/browser/identity-graph-write.js +45 -0
- package/dist/browser/identity-graph-write.js.map +1 -0
- package/dist/browser/page-probe.d.ts +81 -0
- package/dist/browser/page-probe.d.ts.map +1 -0
- package/dist/browser/page-probe.js +202 -0
- package/dist/browser/page-probe.js.map +1 -0
- package/dist/browser/playwright-driver.d.ts +115 -0
- package/dist/browser/playwright-driver.d.ts.map +1 -0
- package/dist/browser/playwright-driver.js +1545 -0
- package/dist/browser/playwright-driver.js.map +1 -0
- package/dist/browser/provider.d.ts +26 -0
- package/dist/browser/provider.d.ts.map +1 -0
- package/dist/browser/provider.js +14 -0
- package/dist/browser/provider.js.map +1 -0
- package/dist/browser/reach-recording-session.d.ts +44 -0
- package/dist/browser/reach-recording-session.d.ts.map +1 -0
- package/dist/browser/reach-recording-session.js +151 -0
- package/dist/browser/reach-recording-session.js.map +1 -0
- package/dist/browser/reachability.d.ts +168 -0
- package/dist/browser/reachability.d.ts.map +1 -0
- package/dist/browser/reachability.js +294 -0
- package/dist/browser/reachability.js.map +1 -0
- package/dist/browser/registry.d.ts +126 -0
- package/dist/browser/registry.d.ts.map +1 -0
- package/dist/browser/registry.js +177 -0
- package/dist/browser/registry.js.map +1 -0
- package/dist/browser/scenario-provenance.d.ts +23 -0
- package/dist/browser/scenario-provenance.d.ts.map +1 -0
- package/dist/browser/scenario-provenance.js +73 -0
- package/dist/browser/scenario-provenance.js.map +1 -0
- package/dist/browser/scenario-resolve.d.ts +28 -0
- package/dist/browser/scenario-resolve.d.ts.map +1 -0
- package/dist/browser/scenario-resolve.js +96 -0
- package/dist/browser/scenario-resolve.js.map +1 -0
- package/dist/browser/scenario-runner.d.ts +72 -0
- package/dist/browser/scenario-runner.d.ts.map +1 -0
- package/dist/browser/scenario-runner.js +353 -0
- package/dist/browser/scenario-runner.js.map +1 -0
- package/dist/browser/stack-parser.d.ts +19 -0
- package/dist/browser/stack-parser.d.ts.map +1 -0
- package/dist/browser/stack-parser.js +85 -0
- package/dist/browser/stack-parser.js.map +1 -0
- package/dist/browser/tool-support.d.ts +71 -0
- package/dist/browser/tool-support.d.ts.map +1 -0
- package/dist/browser/tool-support.js +216 -0
- package/dist/browser/tool-support.js.map +1 -0
- package/dist/browser/url-scheme.d.ts +14 -0
- package/dist/browser/url-scheme.d.ts.map +1 -0
- package/dist/browser/url-scheme.js +38 -0
- package/dist/browser/url-scheme.js.map +1 -0
- package/dist/browser/wait-target.d.ts +37 -0
- package/dist/browser/wait-target.d.ts.map +1 -0
- package/dist/browser/wait-target.js +54 -0
- package/dist/browser/wait-target.js.map +1 -0
- package/dist/cancellation.d.ts +20 -0
- package/dist/cancellation.d.ts.map +1 -0
- package/dist/cancellation.js +41 -0
- package/dist/cancellation.js.map +1 -0
- package/dist/capped.d.ts +39 -0
- package/dist/capped.d.ts.map +1 -0
- package/dist/capped.js +43 -0
- package/dist/capped.js.map +1 -0
- package/dist/credential-store.d.ts +22 -0
- package/dist/credential-store.d.ts.map +1 -0
- package/dist/credential-store.js +33 -0
- package/dist/credential-store.js.map +1 -0
- package/dist/disclosure-ledger.d.ts +14 -0
- package/dist/disclosure-ledger.d.ts.map +1 -0
- package/dist/disclosure-ledger.js +18 -0
- package/dist/disclosure-ledger.js.map +1 -0
- package/dist/evidence/observed-route-evidence.d.ts +25 -0
- package/dist/evidence/observed-route-evidence.d.ts.map +1 -0
- package/dist/evidence/observed-route-evidence.js +76 -0
- package/dist/evidence/observed-route-evidence.js.map +1 -0
- package/dist/heap.d.ts +61 -0
- package/dist/heap.d.ts.map +1 -0
- package/dist/heap.js +82 -0
- package/dist/heap.js.map +1 -0
- package/dist/heartbeat.d.ts +46 -0
- package/dist/heartbeat.d.ts.map +1 -0
- package/dist/heartbeat.js +66 -0
- package/dist/heartbeat.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/module-trust.d.ts +37 -0
- package/dist/module-trust.d.ts.map +1 -0
- package/dist/module-trust.js +77 -0
- package/dist/module-trust.js.map +1 -0
- package/dist/path-confinement.d.ts +31 -0
- package/dist/path-confinement.d.ts.map +1 -0
- package/dist/path-confinement.js +44 -0
- package/dist/path-confinement.js.map +1 -0
- package/dist/planner/predict-then-propose.d.ts +134 -0
- package/dist/planner/predict-then-propose.d.ts.map +1 -0
- package/dist/planner/predict-then-propose.js +138 -0
- package/dist/planner/predict-then-propose.js.map +1 -0
- package/dist/planner/propose-journey.d.ts +75 -0
- package/dist/planner/propose-journey.d.ts.map +1 -0
- package/dist/planner/propose-journey.js +96 -0
- package/dist/planner/propose-journey.js.map +1 -0
- package/dist/protocol.d.ts +57 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +90 -0
- package/dist/protocol.js.map +1 -0
- package/dist/ready-checks.d.ts +12 -0
- package/dist/ready-checks.d.ts.map +1 -0
- package/dist/ready-checks.js +43 -0
- package/dist/ready-checks.js.map +1 -0
- package/dist/registry.d.ts +103 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +327 -0
- package/dist/registry.js.map +1 -0
- package/dist/render.d.ts +623 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +968 -0
- package/dist/render.js.map +1 -0
- package/dist/runtime-registry.d.ts +22 -0
- package/dist/runtime-registry.d.ts.map +1 -0
- package/dist/runtime-registry.js +142 -0
- package/dist/runtime-registry.js.map +1 -0
- package/dist/sandbox-defaults.d.ts +41 -0
- package/dist/sandbox-defaults.d.ts.map +1 -0
- package/dist/sandbox-defaults.js +14 -0
- package/dist/sandbox-defaults.js.map +1 -0
- package/dist/scenarios/browser-run-plan-projection.d.ts +161 -0
- package/dist/scenarios/browser-run-plan-projection.d.ts.map +1 -0
- package/dist/scenarios/browser-run-plan-projection.js +264 -0
- package/dist/scenarios/browser-run-plan-projection.js.map +1 -0
- package/dist/scenarios/credential-ref.d.ts +102 -0
- package/dist/scenarios/credential-ref.d.ts.map +1 -0
- package/dist/scenarios/credential-ref.js +148 -0
- package/dist/scenarios/credential-ref.js.map +1 -0
- package/dist/scenarios/index.d.ts +7 -0
- package/dist/scenarios/index.d.ts.map +1 -0
- package/dist/scenarios/index.js +7 -0
- package/dist/scenarios/index.js.map +1 -0
- package/dist/scenarios/parse.d.ts +18 -0
- package/dist/scenarios/parse.d.ts.map +1 -0
- package/dist/scenarios/parse.js +212 -0
- package/dist/scenarios/parse.js.map +1 -0
- package/dist/scenarios/scenario.d.ts +93 -0
- package/dist/scenarios/scenario.d.ts.map +1 -0
- package/dist/scenarios/scenario.js +27 -0
- package/dist/scenarios/scenario.js.map +1 -0
- package/dist/scenarios/secret-ref.d.ts +86 -0
- package/dist/scenarios/secret-ref.d.ts.map +1 -0
- package/dist/scenarios/secret-ref.js +125 -0
- package/dist/scenarios/secret-ref.js.map +1 -0
- package/dist/scenarios/storage.d.ts +21 -0
- package/dist/scenarios/storage.d.ts.map +1 -0
- package/dist/scenarios/storage.js +103 -0
- package/dist/scenarios/storage.js.map +1 -0
- package/dist/server.d.ts +61 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +642 -0
- package/dist/server.js.map +1 -0
- package/dist/session.d.ts +356 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +779 -0
- package/dist/session.js.map +1 -0
- package/dist/tools/alias-kit.d.ts +29 -0
- package/dist/tools/alias-kit.d.ts.map +1 -0
- package/dist/tools/alias-kit.js +21 -0
- package/dist/tools/alias-kit.js.map +1 -0
- package/dist/tools/aliases.d.ts +42 -0
- package/dist/tools/aliases.d.ts.map +1 -0
- package/dist/tools/aliases.js +52 -0
- package/dist/tools/aliases.js.map +1 -0
- package/dist/tools/analyze-workspace.d.ts +52 -0
- package/dist/tools/analyze-workspace.d.ts.map +1 -0
- package/dist/tools/analyze-workspace.js +207 -0
- package/dist/tools/analyze-workspace.js.map +1 -0
- package/dist/tools/analyze.d.ts +163 -0
- package/dist/tools/analyze.d.ts.map +1 -0
- package/dist/tools/analyze.js +724 -0
- package/dist/tools/analyze.js.map +1 -0
- package/dist/tools/browser-click.d.ts +18 -0
- package/dist/tools/browser-click.d.ts.map +1 -0
- package/dist/tools/browser-click.js +110 -0
- package/dist/tools/browser-click.js.map +1 -0
- package/dist/tools/browser-close-session.d.ts +39 -0
- package/dist/tools/browser-close-session.d.ts.map +1 -0
- package/dist/tools/browser-close-session.js +120 -0
- package/dist/tools/browser-close-session.js.map +1 -0
- package/dist/tools/browser-fill.d.ts +18 -0
- package/dist/tools/browser-fill.d.ts.map +1 -0
- package/dist/tools/browser-fill.js +117 -0
- package/dist/tools/browser-fill.js.map +1 -0
- package/dist/tools/browser-navigate.d.ts +15 -0
- package/dist/tools/browser-navigate.d.ts.map +1 -0
- package/dist/tools/browser-navigate.js +106 -0
- package/dist/tools/browser-navigate.js.map +1 -0
- package/dist/tools/browser-read.d.ts +33 -0
- package/dist/tools/browser-read.d.ts.map +1 -0
- package/dist/tools/browser-read.js +105 -0
- package/dist/tools/browser-read.js.map +1 -0
- package/dist/tools/browser-run-scenario.d.ts +28 -0
- package/dist/tools/browser-run-scenario.d.ts.map +1 -0
- package/dist/tools/browser-run-scenario.js +238 -0
- package/dist/tools/browser-run-scenario.js.map +1 -0
- package/dist/tools/browser-save-scenario.d.ts +19 -0
- package/dist/tools/browser-save-scenario.d.ts.map +1 -0
- package/dist/tools/browser-save-scenario.js +447 -0
- package/dist/tools/browser-save-scenario.js.map +1 -0
- package/dist/tools/browser-select.d.ts +20 -0
- package/dist/tools/browser-select.d.ts.map +1 -0
- package/dist/tools/browser-select.js +120 -0
- package/dist/tools/browser-select.js.map +1 -0
- package/dist/tools/browser-snapshot.d.ts +46 -0
- package/dist/tools/browser-snapshot.d.ts.map +1 -0
- package/dist/tools/browser-snapshot.js +127 -0
- package/dist/tools/browser-snapshot.js.map +1 -0
- package/dist/tools/browser-start-session.d.ts +24 -0
- package/dist/tools/browser-start-session.d.ts.map +1 -0
- package/dist/tools/browser-start-session.js +653 -0
- package/dist/tools/browser-start-session.js.map +1 -0
- package/dist/tools/browser-submit.d.ts +18 -0
- package/dist/tools/browser-submit.d.ts.map +1 -0
- package/dist/tools/browser-submit.js +106 -0
- package/dist/tools/browser-submit.js.map +1 -0
- package/dist/tools/browser-type.d.ts +18 -0
- package/dist/tools/browser-type.d.ts.map +1 -0
- package/dist/tools/browser-type.js +115 -0
- package/dist/tools/browser-type.js.map +1 -0
- package/dist/tools/browser-wait-for.d.ts +45 -0
- package/dist/tools/browser-wait-for.d.ts.map +1 -0
- package/dist/tools/browser-wait-for.js +164 -0
- package/dist/tools/browser-wait-for.js.map +1 -0
- package/dist/tools/browser.d.ts +69 -0
- package/dist/tools/browser.d.ts.map +1 -0
- package/dist/tools/browser.js +326 -0
- package/dist/tools/browser.js.map +1 -0
- package/dist/tools/chain.d.ts +41 -0
- package/dist/tools/chain.d.ts.map +1 -0
- package/dist/tools/chain.js +101 -0
- package/dist/tools/chain.js.map +1 -0
- package/dist/tools/change-scope.d.ts +25 -0
- package/dist/tools/change-scope.d.ts.map +1 -0
- package/dist/tools/change-scope.js +103 -0
- package/dist/tools/change-scope.js.map +1 -0
- package/dist/tools/code-context.d.ts +83 -0
- package/dist/tools/code-context.d.ts.map +1 -0
- package/dist/tools/code-context.js +432 -0
- package/dist/tools/code-context.js.map +1 -0
- package/dist/tools/contracts.d.ts +74 -0
- package/dist/tools/contracts.d.ts.map +1 -0
- package/dist/tools/contracts.js +214 -0
- package/dist/tools/contracts.js.map +1 -0
- package/dist/tools/cross-pr.d.ts +178 -0
- package/dist/tools/cross-pr.d.ts.map +1 -0
- package/dist/tools/cross-pr.js +362 -0
- package/dist/tools/cross-pr.js.map +1 -0
- package/dist/tools/disclosure.d.ts +75 -0
- package/dist/tools/disclosure.d.ts.map +1 -0
- package/dist/tools/disclosure.js +325 -0
- package/dist/tools/disclosure.js.map +1 -0
- package/dist/tools/draw-conclusion.d.ts +55 -0
- package/dist/tools/draw-conclusion.d.ts.map +1 -0
- package/dist/tools/draw-conclusion.js +243 -0
- package/dist/tools/draw-conclusion.js.map +1 -0
- package/dist/tools/git-context.d.ts +39 -0
- package/dist/tools/git-context.d.ts.map +1 -0
- package/dist/tools/git-context.js +374 -0
- package/dist/tools/git-context.js.map +1 -0
- package/dist/tools/git-diff.d.ts +45 -0
- package/dist/tools/git-diff.d.ts.map +1 -0
- package/dist/tools/git-diff.js +338 -0
- package/dist/tools/git-diff.js.map +1 -0
- package/dist/tools/git-history.d.ts +16 -0
- package/dist/tools/git-history.d.ts.map +1 -0
- package/dist/tools/git-history.js +106 -0
- package/dist/tools/git-history.js.map +1 -0
- package/dist/tools/history.d.ts +34 -0
- package/dist/tools/history.d.ts.map +1 -0
- package/dist/tools/history.js +121 -0
- package/dist/tools/history.js.map +1 -0
- package/dist/tools/impact.d.ts +46 -0
- package/dist/tools/impact.d.ts.map +1 -0
- package/dist/tools/impact.js +225 -0
- package/dist/tools/impact.js.map +1 -0
- package/dist/tools/index.d.ts +59 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +70 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/kit.d.ts +165 -0
- package/dist/tools/kit.d.ts.map +1 -0
- package/dist/tools/kit.js +153 -0
- package/dist/tools/kit.js.map +1 -0
- package/dist/tools/link-workspace.d.ts +24 -0
- package/dist/tools/link-workspace.d.ts.map +1 -0
- package/dist/tools/link-workspace.js +131 -0
- package/dist/tools/link-workspace.js.map +1 -0
- package/dist/tools/lookup.d.ts +19 -0
- package/dist/tools/lookup.d.ts.map +1 -0
- package/dist/tools/lookup.js +63 -0
- package/dist/tools/lookup.js.map +1 -0
- package/dist/tools/mark-incident.d.ts +28 -0
- package/dist/tools/mark-incident.d.ts.map +1 -0
- package/dist/tools/mark-incident.js +171 -0
- package/dist/tools/mark-incident.js.map +1 -0
- package/dist/tools/merged-browser.d.ts +11 -0
- package/dist/tools/merged-browser.d.ts.map +1 -0
- package/dist/tools/merged-browser.js +20 -0
- package/dist/tools/merged-browser.js.map +1 -0
- package/dist/tools/merged-context.d.ts +11 -0
- package/dist/tools/merged-context.d.ts.map +1 -0
- package/dist/tools/merged-context.js +21 -0
- package/dist/tools/merged-context.js.map +1 -0
- package/dist/tools/merged-observe.d.ts +13 -0
- package/dist/tools/merged-observe.d.ts.map +1 -0
- package/dist/tools/merged-observe.js +21 -0
- package/dist/tools/merged-observe.js.map +1 -0
- package/dist/tools/merged-workspace.d.ts +14 -0
- package/dist/tools/merged-workspace.d.ts.map +1 -0
- package/dist/tools/merged-workspace.js +21 -0
- package/dist/tools/merged-workspace.js.map +1 -0
- package/dist/tools/observe-runtime.d.ts +262 -0
- package/dist/tools/observe-runtime.d.ts.map +1 -0
- package/dist/tools/observe-runtime.js +1966 -0
- package/dist/tools/observe-runtime.js.map +1 -0
- package/dist/tools/observe-tests.d.ts +57 -0
- package/dist/tools/observe-tests.d.ts.map +1 -0
- package/dist/tools/observe-tests.js +391 -0
- package/dist/tools/observe-tests.js.map +1 -0
- package/dist/tools/observe.d.ts +28 -0
- package/dist/tools/observe.d.ts.map +1 -0
- package/dist/tools/observe.js +291 -0
- package/dist/tools/observe.js.map +1 -0
- package/dist/tools/pr-analysis.d.ts +189 -0
- package/dist/tools/pr-analysis.d.ts.map +1 -0
- package/dist/tools/pr-analysis.js +365 -0
- package/dist/tools/pr-analysis.js.map +1 -0
- package/dist/tools/pre-push.d.ts +168 -0
- package/dist/tools/pre-push.d.ts.map +1 -0
- package/dist/tools/pre-push.js +416 -0
- package/dist/tools/pre-push.js.map +1 -0
- package/dist/tools/predict-reach.d.ts +57 -0
- package/dist/tools/predict-reach.d.ts.map +1 -0
- package/dist/tools/predict-reach.js +183 -0
- package/dist/tools/predict-reach.js.map +1 -0
- package/dist/tools/propagation.d.ts +37 -0
- package/dist/tools/propagation.d.ts.map +1 -0
- package/dist/tools/propagation.js +162 -0
- package/dist/tools/propagation.js.map +1 -0
- package/dist/tools/propose-journey.d.ts +16 -0
- package/dist/tools/propose-journey.d.ts.map +1 -0
- package/dist/tools/propose-journey.js +132 -0
- package/dist/tools/propose-journey.js.map +1 -0
- package/dist/tools/prove-reach.d.ts +74 -0
- package/dist/tools/prove-reach.d.ts.map +1 -0
- package/dist/tools/prove-reach.js +274 -0
- package/dist/tools/prove-reach.js.map +1 -0
- package/dist/tools/questions.d.ts +30 -0
- package/dist/tools/questions.d.ts.map +1 -0
- package/dist/tools/questions.js +230 -0
- package/dist/tools/questions.js.map +1 -0
- package/dist/tools/refusal-fetch.d.ts +35 -0
- package/dist/tools/refusal-fetch.d.ts.map +1 -0
- package/dist/tools/refusal-fetch.js +123 -0
- package/dist/tools/refusal-fetch.js.map +1 -0
- package/dist/tools/runtime-incident.d.ts +33 -0
- package/dist/tools/runtime-incident.d.ts.map +1 -0
- package/dist/tools/runtime-incident.js +67 -0
- package/dist/tools/runtime-incident.js.map +1 -0
- package/dist/tools/runtime-journey-drive.d.ts +102 -0
- package/dist/tools/runtime-journey-drive.d.ts.map +1 -0
- package/dist/tools/runtime-journey-drive.js +247 -0
- package/dist/tools/runtime-journey-drive.js.map +1 -0
- package/dist/tools/scope.d.ts +45 -0
- package/dist/tools/scope.d.ts.map +1 -0
- package/dist/tools/scope.js +217 -0
- package/dist/tools/scope.js.map +1 -0
- package/dist/tools/similar-incidents.d.ts +43 -0
- package/dist/tools/similar-incidents.d.ts.map +1 -0
- package/dist/tools/similar-incidents.js +190 -0
- package/dist/tools/similar-incidents.js.map +1 -0
- package/dist/tools/validate.d.ts +133 -0
- package/dist/tools/validate.d.ts.map +1 -0
- package/dist/tools/validate.js +488 -0
- package/dist/tools/validate.js.map +1 -0
- package/dist/tools/verb.d.ts +46 -0
- package/dist/tools/verb.d.ts.map +1 -0
- package/dist/tools/verb.js +78 -0
- package/dist/tools/verb.js.map +1 -0
- package/dist/tools/verification-status.d.ts +38 -0
- package/dist/tools/verification-status.d.ts.map +1 -0
- package/dist/tools/verification-status.js +203 -0
- package/dist/tools/verification-status.js.map +1 -0
- package/dist/tools/verify-claim.d.ts +29 -0
- package/dist/tools/verify-claim.d.ts.map +1 -0
- package/dist/tools/verify-claim.js +218 -0
- package/dist/tools/verify-claim.js.map +1 -0
- package/dist/tools/workspace.d.ts +28 -0
- package/dist/tools/workspace.d.ts.map +1 -0
- package/dist/tools/workspace.js +94 -0
- package/dist/tools/workspace.js.map +1 -0
- package/dist/transport.d.ts +32 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +85 -0
- package/dist/transport.js.map +1 -0
- package/dist/workspace-index.d.ts +164 -0
- package/dist/workspace-index.d.ts.map +1 -0
- package/dist/workspace-index.js +381 -0
- package/dist/workspace-index.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `history`: co-change (`CHANGES_WITH`) lookup over the stored graph, not a
|
|
3
|
+
* live `git log`/`diff` — §18's `get_git_history`. Resolves the path
|
|
4
|
+
* directly, keeping only `type === "FILE"` — `resolveOneNode` would add noise since `CHANGES_WITH` only ever connects FILE nodes.
|
|
5
|
+
*/
|
|
6
|
+
import { changesWith, findNodes, getNode } from "@descryy/core";
|
|
7
|
+
import { briefNode, optionalInteger, optionalString, ToolInputError, } from "./kit.js";
|
|
8
|
+
const SCHEMA = {
|
|
9
|
+
type: "object",
|
|
10
|
+
properties: {
|
|
11
|
+
file: { type: "string", description: "Repository-relative path of the file to ask about." },
|
|
12
|
+
limit: { type: "integer", minimum: 1, description: "Cap on co-changed files in the reply. Default 50." },
|
|
13
|
+
},
|
|
14
|
+
required: ["file"],
|
|
15
|
+
additionalProperties: false,
|
|
16
|
+
};
|
|
17
|
+
async function run(args, ctx) {
|
|
18
|
+
const file = optionalString(args, "file");
|
|
19
|
+
if (file === undefined)
|
|
20
|
+
throw new ToolInputError('give "file"');
|
|
21
|
+
const limit = optionalInteger(args, "limit", 1) ?? 50;
|
|
22
|
+
const driver = ctx.session.store().driver;
|
|
23
|
+
// `type` is a WHERE-clause criterion, not a post-query filter (F2, UAT Phase
|
|
24
|
+
// 5) — filtering after `findNodes`' own LIMIT let a file with ten or more
|
|
25
|
+
// higher-resolution sibling symbols push the FILE node itself out of the
|
|
26
|
+
// window before the filter ever ran, so this tool denied files that
|
|
27
|
+
// demonstrably existed in the same graph other tools could see.
|
|
28
|
+
const candidates = findNodes(driver, { file, type: "FILE", limit: 1 });
|
|
29
|
+
const provider = ctx.session.provider();
|
|
30
|
+
const base = provider.baseStamp();
|
|
31
|
+
if (candidates.length === 0) {
|
|
32
|
+
// This tool only ever matched an exact repository-relative path; a node
|
|
33
|
+
// id or a bare basename fell through to the same "does not exist" claim
|
|
34
|
+
// as a genuinely wrong path (F2, UAT Phase 5). `getNode` is a direct
|
|
35
|
+
// primary-key lookup, so accepting a node id here costs nothing and
|
|
36
|
+
// resolves the one other input form this tool was already tried with.
|
|
37
|
+
const byId = getNode(driver, file);
|
|
38
|
+
if (byId !== undefined && byId.type !== "FILE") {
|
|
39
|
+
return {
|
|
40
|
+
result: {
|
|
41
|
+
data: { file: { resolved: false, path: file }, coChanged: [], coChangedTotal: 0 },
|
|
42
|
+
stamp: { commitSha: base.commitSha, graphBuiltAt: base.graphBuiltAt, irSchemaVersion: base.irSchemaVersion, commitSpread: base.commitSpread, repoCount: base.repoCount, resolutionFloor: 0 },
|
|
43
|
+
truncated: false,
|
|
44
|
+
notes: [
|
|
45
|
+
`"${file}" is a node id, but it names a ${byId.type} node, not a FILE — this tool only ` +
|
|
46
|
+
"reports co-change history for files. Pass the file's repository-relative path instead.",
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
nameLevel: true,
|
|
50
|
+
state: "refused",
|
|
51
|
+
headline: `"${file}" is a ${byId.type} node id, not a FILE.`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
if (byId !== undefined) {
|
|
55
|
+
candidates.push(byId);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (candidates.length === 0) {
|
|
59
|
+
return {
|
|
60
|
+
result: {
|
|
61
|
+
data: { file: { resolved: false, path: file }, coChanged: [], coChangedTotal: 0 },
|
|
62
|
+
stamp: { commitSha: base.commitSha, graphBuiltAt: base.graphBuiltAt, irSchemaVersion: base.irSchemaVersion, commitSpread: base.commitSpread, repoCount: base.repoCount, resolutionFloor: 0 },
|
|
63
|
+
truncated: false,
|
|
64
|
+
notes: [
|
|
65
|
+
"No FILE node matches this exact repository-relative path or node id. Either the path is " +
|
|
66
|
+
"wrong, git history was skipped when the graph was built (analyze's \"history\" option), " +
|
|
67
|
+
"or this file has never appeared in a commit the git source read — a file with zero " +
|
|
68
|
+
"history is not distinguishable here from one this graph never analysed.",
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
nameLevel: true,
|
|
72
|
+
state: "refused",
|
|
73
|
+
headline: `No FILE node at "${file}".`,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
const node = candidates[0];
|
|
77
|
+
ctx.progress(`Reading co-change history for ${file}`);
|
|
78
|
+
const history = changesWith(provider, node.id);
|
|
79
|
+
const shown = history.data.slice(0, limit);
|
|
80
|
+
const notes = [...history.notes];
|
|
81
|
+
if (shown.length < history.data.length) {
|
|
82
|
+
notes.push(`${history.data.length - shown.length} further co-changed file(s) exist but are not listed — ` +
|
|
83
|
+
`the reply is capped at ${limit}.`);
|
|
84
|
+
}
|
|
85
|
+
// `history.truncated` is the query layer's own cap; it says nothing about
|
|
86
|
+
// this tool's `limit` slice, which can cap further — the defect P27's
|
|
87
|
+
// truncation-cursor pass exists to close (§4 technique 5).
|
|
88
|
+
const cappedByLimit = shown.length < history.data.length;
|
|
89
|
+
return {
|
|
90
|
+
result: {
|
|
91
|
+
data: {
|
|
92
|
+
file: { ...briefNode(node), resolved: true },
|
|
93
|
+
coChanged: shown.map((c) => ({ ...briefNode(c.node), support: c.support, confidence: Number(c.confidence.toFixed(4)) })),
|
|
94
|
+
coChangedTotal: history.data.length,
|
|
95
|
+
},
|
|
96
|
+
stamp: history.stamp,
|
|
97
|
+
truncated: history.truncated || cappedByLimit,
|
|
98
|
+
notes,
|
|
99
|
+
},
|
|
100
|
+
...(shown.length === 0 ? { state: "empty" } : {}),
|
|
101
|
+
...(cappedByLimit ? { truncatedDetail: { shown: shown.length, total: history.data.length, more: null } } : {}),
|
|
102
|
+
nameLevel: false,
|
|
103
|
+
headline: shown.length === 0
|
|
104
|
+
? `"${file}" has no recorded co-change history above the graph's own support/confidence floor.`
|
|
105
|
+
: `"${file}" tends to change alongside ${history.data.length} other file(s); most-coupled: ` +
|
|
106
|
+
`${shown[0].node.file ?? shown[0].node.name} (${shown[0].support} commit(s) together).`,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
export const historyTool = {
|
|
110
|
+
name: "history",
|
|
111
|
+
class: "read",
|
|
112
|
+
tier: "evidence",
|
|
113
|
+
version: "1.0.0",
|
|
114
|
+
title: "Which files tend to change together with this one",
|
|
115
|
+
description: "Given a repository-relative file path, report the files it co-changes with (CHANGES_WITH " +
|
|
116
|
+
"edges), how many commits they were touched together in, and the observed confidence. Reads " +
|
|
117
|
+
"the stored graph only — not a live git log or diff.",
|
|
118
|
+
inputSchema: SCHEMA,
|
|
119
|
+
run,
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/tools/history.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,GAIf,MAAM,UAAU,CAAC;AAmClB,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oDAAoD,EAAE;QAC3F,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,mDAAmD,EAAE;KACzG;IACD,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,oBAAoB,EAAE,KAAK;CACnB,CAAC;AAEX,KAAK,UAAU,GAAG,CAAC,IAA6B,EAAE,GAAgB;IAChE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEtD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC;IAC1C,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,oEAAoE;IACpE,gEAAgE;IAChE,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IAElC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,oEAAoE;QACpE,sEAAsE;QACtE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/C,OAAO;gBACL,MAAM,EAAE;oBACN,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE;oBACjF,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,EAAE;oBAC5L,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE;wBACL,IAAI,IAAI,kCAAkC,IAAI,CAAC,IAAI,qCAAqC;4BACtF,wFAAwF;qBAC3F;iBACF;gBACD,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,IAAI,IAAI,UAAU,IAAI,CAAC,IAAI,uBAAuB;aAC7D,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE;gBACjF,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,EAAE;gBAC5L,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE;oBACL,0FAA0F;wBACxF,0FAA0F;wBAC1F,qFAAqF;wBACrF,yEAAyE;iBAC5E;aACF;YACD,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,oBAAoB,IAAI,IAAI;SACvC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;IAC5B,GAAG,CAAC,QAAQ,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CACR,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,yDAAyD;YAC5F,0BAA0B,KAAK,GAAG,CACrC,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,sEAAsE;IACtE,2DAA2D;IAC3D,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IAEzD,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC5C,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxH,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;aACpC;YACD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,aAAa;YAC7C,KAAK;SACN;QACD,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9G,SAAS,EAAE,KAAK;QAChB,QAAQ,EACN,KAAK,CAAC,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,IAAI,IAAI,qFAAqF;YAC/F,CAAC,CAAC,IAAI,IAAI,+BAA+B,OAAO,CAAC,IAAI,CAAC,MAAM,gCAAgC;gBAC1F,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,uBAAuB;KACjG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,mDAAmD;IAC1D,WAAW,EACT,2FAA2F;QAC3F,6FAA6F;QAC7F,qDAAqD;IACvD,WAAW,EAAE,MAA4C;IACzD,GAAG;CACJ,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `impact` wires §18's `impactOf`/`testsCovering`/`rootCauseSearch` (blast
|
|
3
|
+
* radius, tests, incidents) into one call, plus `traceApi` when `to` is
|
|
4
|
+
* given. Defaults to structural edges (CALLS/IMPORTS/IMPLEMENTS/INHERITS/USES_API/SERVES_API) — data-flow is `propagation`'s job.
|
|
5
|
+
*/
|
|
6
|
+
import type { EdgeType } from "@descryy/ir";
|
|
7
|
+
import { type BriefNode, type NodeCandidates, type ToolDefinition } from "./kit.ts";
|
|
8
|
+
/** A node in the blast radius, with how far out and how hard it is hit. */
|
|
9
|
+
export interface ImpactedNode extends BriefNode {
|
|
10
|
+
readonly depth: number;
|
|
11
|
+
readonly score: number;
|
|
12
|
+
/** 1-based position in this answer, highest score first. */
|
|
13
|
+
readonly rank: number;
|
|
14
|
+
/** `top`/`notable`/`rest` by rank, never an absolute score threshold — this score is `weightedBfs`'s confidence decay, not `scoping/`'s calibrated tiers. */
|
|
15
|
+
readonly prominence: "top" | "notable" | "rest";
|
|
16
|
+
}
|
|
17
|
+
/** An INCIDENT or FIX_PATTERN linked to the start node, and by which edge. */
|
|
18
|
+
export interface RelatedNode extends BriefNode {
|
|
19
|
+
readonly via: EdgeType;
|
|
20
|
+
}
|
|
21
|
+
/** Present only when `to` was given and resolved. */
|
|
22
|
+
export interface TracedPath {
|
|
23
|
+
readonly to: BriefNode;
|
|
24
|
+
readonly hops: number;
|
|
25
|
+
readonly nodes: readonly BriefNode[];
|
|
26
|
+
}
|
|
27
|
+
export interface ImpactReport {
|
|
28
|
+
readonly from: BriefNode;
|
|
29
|
+
/** Capped by `limit`; `affectedTotal` is the uncapped count. */
|
|
30
|
+
readonly affected: readonly ImpactedNode[];
|
|
31
|
+
readonly affectedTotal: number;
|
|
32
|
+
readonly coveringTests: readonly BriefNode[];
|
|
33
|
+
/** Incidents/fix patterns joined by a graph edge — structural only, no similarity search; an empty list is never evidence none exists (`similar_incidents` is that tool). */
|
|
34
|
+
readonly related: readonly RelatedNode[];
|
|
35
|
+
/** Null when no `to` was given, or when the one given did not resolve. */
|
|
36
|
+
readonly path: TracedPath | null;
|
|
37
|
+
/** False when no edge of any walked type touches the start node — an empty `affected` here means the walk didn't run, not that nothing depends on this symbol. */
|
|
38
|
+
readonly analysed: boolean;
|
|
39
|
+
readonly edgeTypesWalked: readonly EdgeType[];
|
|
40
|
+
/** The subset of `edgeTypesWalked` actually found on an edge touching this node. */
|
|
41
|
+
readonly edgeTypesPresent: readonly string[];
|
|
42
|
+
}
|
|
43
|
+
/** One call, two shapes: `NodeCandidates` when the symbol didn't resolve to exactly one node (narrow on `"from" in data`) — nothing was walked, so `ImpactReport`'s counts don't exist rather than reading zero. */
|
|
44
|
+
export type ImpactData = ImpactReport | NodeCandidates;
|
|
45
|
+
export declare const impactTool: ToolDefinition;
|
|
46
|
+
//# sourceMappingURL=impact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"impact.d.ts","sourceRoot":"","sources":["../../src/tools/impact.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAQL,KAAK,SAAS,EACd,KAAK,cAAc,EAEnB,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAIlB,2EAA2E;AAC3E,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6JAA6J;IAC7J,QAAQ,CAAC,UAAU,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;CACjD;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7C,6KAA6K;IAC7K,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,kKAAkK;IAClK,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC9C,oFAAoF;IACpF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,oNAAoN;AACpN,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,cAAc,CAAC;AA0OvD,eAAO,MAAM,UAAU,EAAE,cAgBxB,CAAC"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `impact` wires §18's `impactOf`/`testsCovering`/`rootCauseSearch` (blast
|
|
3
|
+
* radius, tests, incidents) into one call, plus `traceApi` when `to` is
|
|
4
|
+
* given. Defaults to structural edges (CALLS/IMPORTS/IMPLEMENTS/INHERITS/USES_API/SERVES_API) — data-flow is `propagation`'s job.
|
|
5
|
+
*/
|
|
6
|
+
import { impactOf, rootCauseSearch, testsCovering, traceApi, withProminence } from "@descryy/core";
|
|
7
|
+
import { briefNode, optionalBoolean, optionalEnum, optionalInteger, optionalString, optionalStringArray, ToolInputError, } from "./kit.js";
|
|
8
|
+
import { resolveOneNode } from "./lookup.js";
|
|
9
|
+
/** Structural edges — what depends on what, never what data carries. */
|
|
10
|
+
const STRUCTURAL_EDGE_TYPES = [
|
|
11
|
+
"CALLS",
|
|
12
|
+
"IMPORTS",
|
|
13
|
+
"IMPLEMENTS",
|
|
14
|
+
"INHERITS",
|
|
15
|
+
"USES_API",
|
|
16
|
+
"SERVES_API",
|
|
17
|
+
];
|
|
18
|
+
const SCHEMA = {
|
|
19
|
+
type: "object",
|
|
20
|
+
properties: {
|
|
21
|
+
nodeId: { type: "string", description: "Graph node id to start from." },
|
|
22
|
+
symbol: {
|
|
23
|
+
type: "string",
|
|
24
|
+
description: "Symbol name to start from, when you do not have a node id. Ambiguity is reported rather " +
|
|
25
|
+
"than guessed at — narrow it with \"file\".",
|
|
26
|
+
},
|
|
27
|
+
file: {
|
|
28
|
+
type: "string",
|
|
29
|
+
description: "Repository-relative path, to disambiguate \"symbol\" or to start from a file.",
|
|
30
|
+
},
|
|
31
|
+
to: {
|
|
32
|
+
type: "string",
|
|
33
|
+
description: "A second node id, symbol or path — when given, also traces a path from the start node to " +
|
|
34
|
+
"this one (find_api_contract's \"how does this reach that\" question).",
|
|
35
|
+
},
|
|
36
|
+
edgeTypes: {
|
|
37
|
+
type: "array",
|
|
38
|
+
items: { type: "string" },
|
|
39
|
+
description: "Restrict the blast-radius walk. Defaults to CALLS, IMPORTS, IMPLEMENTS, INHERITS, " +
|
|
40
|
+
"USES_API and SERVES_API — structural edges. For data-flow, use \"propagation\" instead.",
|
|
41
|
+
},
|
|
42
|
+
direction: {
|
|
43
|
+
type: "string",
|
|
44
|
+
enum: ["in", "out"],
|
|
45
|
+
description: "Which way to walk. Default \"in\" — what depends on this symbol (the blast radius). " +
|
|
46
|
+
"\"out\" answers a different question — what this symbol reaches — and is what a caller " +
|
|
47
|
+
"in one repository needs to walk toward a route served by another.",
|
|
48
|
+
},
|
|
49
|
+
crossApiEndpoint: {
|
|
50
|
+
type: "boolean",
|
|
51
|
+
description: "At an API_ENDPOINT node, also follow the USES_API/SERVES_API edge the walk's own " +
|
|
52
|
+
"direction would not otherwise see, reaching the API_ROUTE that serves it on the other " +
|
|
53
|
+
"side of the join (DEC-138: the walk otherwise stops at the shared endpoint). Off by " +
|
|
54
|
+
"default.",
|
|
55
|
+
},
|
|
56
|
+
maxDepth: { type: "integer", minimum: 1, description: "Hop limit on the blast radius. Default unbounded." },
|
|
57
|
+
limit: {
|
|
58
|
+
type: "integer",
|
|
59
|
+
minimum: 1,
|
|
60
|
+
description: "Cap on nodes in the reply. Default 25 — MK-9: the prior default of 100 cost ~5.6k tokens " +
|
|
61
|
+
"per call in this surface's own serialized envelope; 25 lands near ~1.6k, matching the " +
|
|
62
|
+
"default cap `validate`/`contracts` already use. A capped reply always discloses shown/total " +
|
|
63
|
+
"(§5.5); raise this explicitly when the full set is needed.",
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
additionalProperties: false,
|
|
67
|
+
};
|
|
68
|
+
async function run(args, ctx) {
|
|
69
|
+
const nodeId = optionalString(args, "nodeId");
|
|
70
|
+
const symbol = optionalString(args, "symbol");
|
|
71
|
+
const file = optionalString(args, "file");
|
|
72
|
+
const to = optionalString(args, "to");
|
|
73
|
+
const edgeTypes = optionalStringArray(args, "edgeTypes");
|
|
74
|
+
const direction = optionalEnum(args, "direction", ["in", "out"]);
|
|
75
|
+
const crossApiEndpoint = optionalBoolean(args, "crossApiEndpoint") ?? false;
|
|
76
|
+
const maxDepth = optionalInteger(args, "maxDepth", 1);
|
|
77
|
+
const limit = optionalInteger(args, "limit", 1) ?? 25;
|
|
78
|
+
if (nodeId === undefined && symbol === undefined && file === undefined) {
|
|
79
|
+
throw new ToolInputError('give one of "nodeId", "symbol" or "file"');
|
|
80
|
+
}
|
|
81
|
+
const provider = ctx.session.provider();
|
|
82
|
+
const found = resolveOneNode(ctx.session, { nodeId, symbol, file });
|
|
83
|
+
if (found.node === null) {
|
|
84
|
+
const base = provider.baseStamp();
|
|
85
|
+
return {
|
|
86
|
+
result: {
|
|
87
|
+
data: { candidates: found.candidates.map(briefNode) },
|
|
88
|
+
stamp: { commitSha: base.commitSha, graphBuiltAt: base.graphBuiltAt, irSchemaVersion: base.irSchemaVersion, commitSpread: base.commitSpread, repoCount: base.repoCount, resolutionFloor: 0 },
|
|
89
|
+
truncated: false,
|
|
90
|
+
notes: found.notes,
|
|
91
|
+
},
|
|
92
|
+
nameLevel: true,
|
|
93
|
+
state: "refused",
|
|
94
|
+
headline: found.headline,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
const walked = edgeTypes ?? STRUCTURAL_EDGE_TYPES;
|
|
98
|
+
ctx.progress(direction === "out" ? `Finding what ${found.node.name} reaches` : `Finding what depends on ${found.node.name}`);
|
|
99
|
+
const impact = impactOf(provider, [found.node.id], {
|
|
100
|
+
types: walked,
|
|
101
|
+
...(direction === undefined ? {} : { direction }),
|
|
102
|
+
...(crossApiEndpoint ? { crossApiEndpoint } : {}),
|
|
103
|
+
...(maxDepth === undefined ? {} : { maxDepth }),
|
|
104
|
+
});
|
|
105
|
+
const affected = impact.data.filter((entry) => entry.node.id !== found.node?.id);
|
|
106
|
+
const shownAffected = affected.slice(0, limit);
|
|
107
|
+
ctx.progress(`Finding tests covering ${found.node.name}`);
|
|
108
|
+
const tests = testsCovering(provider, found.node.id, maxDepth === undefined ? {} : { maxDepth });
|
|
109
|
+
ctx.progress(`Checking for related incidents and fix patterns`);
|
|
110
|
+
const related = rootCauseSearch(provider, found.node.id);
|
|
111
|
+
let path = null;
|
|
112
|
+
const pathNotes = [];
|
|
113
|
+
if (to !== undefined) {
|
|
114
|
+
// `to` is documented as "node id, symbol or path"; each shape is tried in
|
|
115
|
+
// order since `resolveOneNode` is single-shot (a symbol passed as
|
|
116
|
+
// `nodeId` fails rather than falling through to a name lookup). (DEC-398.)
|
|
117
|
+
const target = firstResolved(ctx.session, [{ nodeId: to }, { symbol: to }, { file: to }]) ??
|
|
118
|
+
resolveOneNode(ctx.session, { symbol: to, file: undefined });
|
|
119
|
+
if (target.node === null) {
|
|
120
|
+
pathNotes.push(`"to" (${JSON.stringify(to)}) did not resolve: ${target.headline}`);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
ctx.progress(`Tracing a path to ${target.node.name}`);
|
|
124
|
+
const traced = traceApi(provider, found.node.id, target.node.id, { direction: "both" });
|
|
125
|
+
path = { to: briefNode(target.node), hops: traced.data.hops, nodes: traced.data.path.map(briefNode) };
|
|
126
|
+
pathNotes.push(...traced.notes);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const present = new Set();
|
|
130
|
+
for (const edge of [...provider.outgoing(found.node.id), ...provider.incoming(found.node.id)]) {
|
|
131
|
+
if (walked.includes(edge.type))
|
|
132
|
+
present.add(edge.type);
|
|
133
|
+
}
|
|
134
|
+
const absent = walked.filter((type) => !present.has(type));
|
|
135
|
+
const analysed = present.size > 0;
|
|
136
|
+
const notes = [...found.notes, ...impact.notes, ...tests.notes, ...related.notes, ...pathNotes];
|
|
137
|
+
if (shownAffected.length < affected.length) {
|
|
138
|
+
notes.push(`${affected.length - shownAffected.length} further affected node(s) exist but are not listed — ` +
|
|
139
|
+
`the reply is capped at ${limit}.`);
|
|
140
|
+
}
|
|
141
|
+
if (absent.length > 0) {
|
|
142
|
+
notes.push(`No ${absent.join(", ")} edge touches this node, so ${absent.length === 1 ? "that type" : "those types"} ` +
|
|
143
|
+
"contributed nothing to the blast radius.");
|
|
144
|
+
}
|
|
145
|
+
if (!analysed) {
|
|
146
|
+
notes.push(`None of the requested edge types (${walked.join(", ")}) appear on any edge touching this node. ` +
|
|
147
|
+
"That is not a finding that nothing depends on it — a producer for these edges may not run in " +
|
|
148
|
+
"this graph. This probe is local to one node and does not choose between the causes.");
|
|
149
|
+
}
|
|
150
|
+
// Floor is the weakest evidence *behind the answer* — a sub-query that
|
|
151
|
+
// found nothing (R0) isn't behind it, else a sparse graph always caps
|
|
152
|
+
// reliability C regardless of what the impact walk actually crossed. (DEC-399.)
|
|
153
|
+
const contributing = [
|
|
154
|
+
impact.stamp.resolutionFloor,
|
|
155
|
+
...(tests.data.length > 0 ? [tests.stamp.resolutionFloor] : []),
|
|
156
|
+
...(related.data.length > 0 ? [related.stamp.resolutionFloor] : []),
|
|
157
|
+
];
|
|
158
|
+
const resolutionFloor = Math.min(...contributing);
|
|
159
|
+
return {
|
|
160
|
+
result: {
|
|
161
|
+
data: {
|
|
162
|
+
from: briefNode(found.node),
|
|
163
|
+
affected: withProminence(shownAffected.map((entry) => ({
|
|
164
|
+
...briefNode(entry.node),
|
|
165
|
+
depth: entry.depth,
|
|
166
|
+
score: Number(entry.score.toFixed(4)),
|
|
167
|
+
}))),
|
|
168
|
+
affectedTotal: affected.length,
|
|
169
|
+
coveringTests: tests.data.map(briefNode),
|
|
170
|
+
related: related.data.map((m) => ({ ...briefNode(m.incident), via: m.via })),
|
|
171
|
+
path,
|
|
172
|
+
analysed,
|
|
173
|
+
edgeTypesWalked: walked,
|
|
174
|
+
edgeTypesPresent: [...present].sort(),
|
|
175
|
+
},
|
|
176
|
+
stamp: { ...impact.stamp, resolutionFloor },
|
|
177
|
+
// `impact.truncated` is the query layer's own cap; it says nothing
|
|
178
|
+
// about this tool's own `limit` slice of `affected` (same gap history.ts had, P27).
|
|
179
|
+
truncated: impact.truncated || tests.truncated || related.truncated || shownAffected.length < affected.length,
|
|
180
|
+
notes,
|
|
181
|
+
},
|
|
182
|
+
nameLevel: false,
|
|
183
|
+
...(analysed ? (affected.length === 0 ? { state: "empty" } : {}) : { state: "refused" }),
|
|
184
|
+
// `affected` is the primary collection this tool reports — tests/related
|
|
185
|
+
// can also be capped, but one shown/total pair can't describe three
|
|
186
|
+
// lists, so this covers only the primary one (§4's TruncationDetail).
|
|
187
|
+
...(shownAffected.length < affected.length
|
|
188
|
+
? { truncatedDetail: { shown: shownAffected.length, total: affected.length, more: null } }
|
|
189
|
+
: {}),
|
|
190
|
+
headline: !analysed
|
|
191
|
+
? `${found.node.name}'s blast radius was not analysed: the graph holds no ${walked.join("/")} edge ` +
|
|
192
|
+
"touching it. This is not a finding that nothing depends on it."
|
|
193
|
+
: direction === "out"
|
|
194
|
+
? `${found.node.name} reaches ${affected.length} node(s); ${tests.data.length} test(s) cover it` +
|
|
195
|
+
`${related.data.length > 0 ? `; ${related.data.length} related incident(s)/fix(es)` : ""}.`
|
|
196
|
+
: `${found.node.name} affects ${affected.length} node(s); ${tests.data.length} test(s) cover it` +
|
|
197
|
+
`${related.data.length > 0 ? `; ${related.data.length} related incident(s)/fix(es)` : ""}.`,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
/** First criteria shape that resolves, or null. `resolveOneNode` is single-shot per criterion, so a parameter documented as accepting several shapes needs each tried before reporting no match. */
|
|
201
|
+
function firstResolved(session, attempts) {
|
|
202
|
+
for (const criteria of attempts) {
|
|
203
|
+
const found = resolveOneNode(session, criteria);
|
|
204
|
+
if (found.node !== null)
|
|
205
|
+
return found;
|
|
206
|
+
}
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
209
|
+
export const impactTool = {
|
|
210
|
+
name: "impact",
|
|
211
|
+
class: "read",
|
|
212
|
+
tier: "evidence",
|
|
213
|
+
version: "1.0.0",
|
|
214
|
+
title: "Blast radius, test coverage and prior incidents for a symbol",
|
|
215
|
+
description: "Given a symbol, report what depends on it (blast radius over CALLS/IMPORTS/IMPLEMENTS/" +
|
|
216
|
+
"INHERITS/USES_API/SERVES_API), which tests cover it, and any incidents or fix patterns " +
|
|
217
|
+
"linked to it by a graph edge. Pass \"to\" to also trace a path to a second symbol. Pass " +
|
|
218
|
+
"\"direction\": \"out\" to instead ask what a symbol reaches, and \"crossApiEndpoint\": true " +
|
|
219
|
+
"with it to walk from a frontend caller across a shared API_ENDPOINT into the backend " +
|
|
220
|
+
"API_ROUTE that serves it. For data flow (what a value reaches, not what depends on a " +
|
|
221
|
+
"symbol), use \"propagation\" instead.",
|
|
222
|
+
inputSchema: SCHEMA,
|
|
223
|
+
run,
|
|
224
|
+
};
|
|
225
|
+
//# sourceMappingURL=impact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"impact.js","sourceRoot":"","sources":["../../src/tools/impact.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The advertised tool surface: sixteen endpoints.
|
|
3
|
+
*
|
|
4
|
+
* It was thirty-four. Twenty-six of those were merged into eight, each merged
|
|
5
|
+
* tool dispatching on a `verb` to the *same* `run` function its predecessor
|
|
6
|
+
* used — the absorbed tool files are unchanged and still export their
|
|
7
|
+
* definitions, they simply stopped being listed. The retired names keep
|
|
8
|
+
* answering through `aliases.ts` for one minor version and are not advertised,
|
|
9
|
+
* because a listing carrying the old names beside the new ones would be a
|
|
10
|
+
* worse surface than the one this work started from.
|
|
11
|
+
*
|
|
12
|
+
* Order is the order a developer meets them: `workspace` first (nothing else
|
|
13
|
+
* works without a graph), the questions asked of an existing graph next, then
|
|
14
|
+
* the tools that reach a running application.
|
|
15
|
+
*/
|
|
16
|
+
import type { ToolDefinition } from "./kit.ts";
|
|
17
|
+
export declare const TOOLS: readonly ToolDefinition[];
|
|
18
|
+
export declare const TOOLS_BY_NAME: ReadonlyMap<string, ToolDefinition>;
|
|
19
|
+
export { ToolInputError } from "./kit.ts";
|
|
20
|
+
export type { BriefNode, NodeCandidates, Progress, ToolContext, ToolDefinition, } from "./kit.ts";
|
|
21
|
+
export { resolveOneNode } from "./lookup.ts";
|
|
22
|
+
export { TOOL_TIERS } from "../render.ts";
|
|
23
|
+
export type { ToolTier } from "../render.ts";
|
|
24
|
+
export type { AnalyzeData, SourceRun } from "./analyze.ts";
|
|
25
|
+
export type { AnalyzeWorkspaceData } from "./analyze-workspace.ts";
|
|
26
|
+
export type { BrowserClickData } from "./browser-click.ts";
|
|
27
|
+
export type { ChainData, ChainReport, ChainStageReport } from "./chain.ts";
|
|
28
|
+
export type { PredictReachData, PredictReachReport } from "./predict-reach.ts";
|
|
29
|
+
export type { ProveReachData, ProveReachReport } from "./prove-reach.ts";
|
|
30
|
+
export type { BrowserCloseSessionData } from "./browser-close-session.ts";
|
|
31
|
+
export type { BrowserFillData } from "./browser-fill.ts";
|
|
32
|
+
export type { BrowserSelectData } from "./browser-select.ts";
|
|
33
|
+
export type { BrowserSubmitData } from "./browser-submit.ts";
|
|
34
|
+
export type { BrowserWaitForData } from "./browser-wait-for.ts";
|
|
35
|
+
export type { BrowserTypeData } from "./browser-type.ts";
|
|
36
|
+
export type { BrowserNavigateData } from "./browser-navigate.ts";
|
|
37
|
+
export type { BrowserRunScenarioData } from "./browser-run-scenario.ts";
|
|
38
|
+
export type { BrowserSaveScenarioData } from "./browser-save-scenario.ts";
|
|
39
|
+
export type { BrowserPageData, BrowserSnapshotData } from "./browser-snapshot.ts";
|
|
40
|
+
export type { BrowserStartSessionData } from "./browser-start-session.ts";
|
|
41
|
+
export type { ContractPathFinding, ContractShapeMismatchReport, ContractShapeStatus, ContractsData, } from "./contracts.ts";
|
|
42
|
+
export type { BlockedCheck, CrossPrData, CrossPrEmptyDiff, CrossPrGitFailure, CrossPrReport, HiddenDependencyCheck, HiddenDependencyFinding, OverlapCheck, OverlapReportChecked, SupersededCheck, } from "./cross-pr.ts";
|
|
43
|
+
export type { GitDiffData, GitDiffEntry } from "./git-diff.ts";
|
|
44
|
+
export type { GitHistoryCommit, GitHistoryData } from "./git-history.ts";
|
|
45
|
+
export type { CoChangedFile, HistoryData, HistoryFile, HistoryFileResolved, HistoryFileUnresolved, HistoryReport } from "./history.ts";
|
|
46
|
+
export type { ImpactData, ImpactedNode, ImpactReport, RelatedNode, TracedPath } from "./impact.ts";
|
|
47
|
+
export type { LinkWorkspaceData, LinkedRepo } from "./link-workspace.ts";
|
|
48
|
+
export type { CorrelationSummary, ObservedService, ObserveRuntimeData, RuntimeWriteSummary, } from "./observe-runtime.ts";
|
|
49
|
+
export type { MarkIncidentData } from "./mark-incident.ts";
|
|
50
|
+
export type { AffectedRef, PrAnalysisData, PrAnalysisEmptyDiff, PrAnalysisGitFailure, PrAnalysisLists, PrAnalysisRange, PrAnalysisReport, PrAnalysisUnresolved, } from "./pr-analysis.ts";
|
|
51
|
+
export type { PropagationData, PropagationReport, ReachedNode } from "./propagation.ts";
|
|
52
|
+
export type { QuestionsData } from "./questions.ts";
|
|
53
|
+
export type { RefusalFetchData, RefusalFetchPageData, RefusalFetchSummaryData, RefusalFetchSummaryItem, } from "./refusal-fetch.ts";
|
|
54
|
+
export type { ScopeData, ScopeNotSeeded, ScopeReport, ScopeTierCount, ScopedNodeReport } from "./scope.ts";
|
|
55
|
+
export type { SimilarIncidentReport, SimilarIncidentSignalReport, SimilarIncidentsData, } from "./similar-incidents.ts";
|
|
56
|
+
export type { ConfigDependencyReport, EnvFindingReport, ValidateData } from "./validate.ts";
|
|
57
|
+
export type { VerificationStatusData, VerificationStatusExercisedItem, } from "./verification-status.ts";
|
|
58
|
+
export type { VerifyClaimData, VerifyClaimResult } from "./verify-claim.ts";
|
|
59
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The advertised tool surface: sixteen endpoints.
|
|
3
|
+
*
|
|
4
|
+
* It was thirty-four. Twenty-six of those were merged into eight, each merged
|
|
5
|
+
* tool dispatching on a `verb` to the *same* `run` function its predecessor
|
|
6
|
+
* used — the absorbed tool files are unchanged and still export their
|
|
7
|
+
* definitions, they simply stopped being listed. The retired names keep
|
|
8
|
+
* answering through `aliases.ts` for one minor version and are not advertised,
|
|
9
|
+
* because a listing carrying the old names beside the new ones would be a
|
|
10
|
+
* worse surface than the one this work started from.
|
|
11
|
+
*
|
|
12
|
+
* Order is the order a developer meets them: `workspace` first (nothing else
|
|
13
|
+
* works without a graph), the questions asked of an existing graph next, then
|
|
14
|
+
* the tools that reach a running application.
|
|
15
|
+
*/
|
|
16
|
+
import { chainTool } from "./chain.js";
|
|
17
|
+
import { contractsTool } from "./contracts.js";
|
|
18
|
+
import { drawConclusionTool } from "./draw-conclusion.js";
|
|
19
|
+
import { predictReachTool } from "./predict-reach.js";
|
|
20
|
+
import { proveReachTool } from "./prove-reach.js";
|
|
21
|
+
import { proposeJourneyTool } from "./propose-journey.js";
|
|
22
|
+
import { crossPrTool } from "./cross-pr.js";
|
|
23
|
+
import { markIncidentTool } from "./mark-incident.js";
|
|
24
|
+
import { prAnalysisTool } from "./pr-analysis.js";
|
|
25
|
+
import { questionsTool } from "./questions.js";
|
|
26
|
+
import { similarIncidentsTool } from "./similar-incidents.js";
|
|
27
|
+
import { validateTool } from "./validate.js";
|
|
28
|
+
import { verifyClaimTool } from "./verify-claim.js";
|
|
29
|
+
import { WORKSPACE_GROUP_TOOLS } from "./merged-workspace.js";
|
|
30
|
+
import { CONTEXT_GROUP_TOOLS } from "./merged-context.js";
|
|
31
|
+
import { OBSERVE_GROUP_TOOLS } from "./merged-observe.js";
|
|
32
|
+
import { BROWSER_GROUP_TOOLS } from "./merged-browser.js";
|
|
33
|
+
export const TOOLS = [
|
|
34
|
+
// workspace, change_scope
|
|
35
|
+
...WORKSPACE_GROUP_TOOLS,
|
|
36
|
+
// code_context, git_context, disclosure
|
|
37
|
+
...CONTEXT_GROUP_TOOLS,
|
|
38
|
+
prAnalysisTool,
|
|
39
|
+
crossPrTool,
|
|
40
|
+
// The four that landed on integration/runtime-gaps while this consolidation
|
|
41
|
+
// was in flight. Left standalone rather than folded into a verb group: three
|
|
42
|
+
// are read/evidence and could plausibly join `code_context`, but which of
|
|
43
|
+
// them belongs under which verb is a judgement about their semantics, not a
|
|
44
|
+
// mechanical merge, and `draw_conclusion` is conclusion-tier so it could not
|
|
45
|
+
// join an evidence tool regardless. Filed as a follow-up rather than guessed.
|
|
46
|
+
// `prove_reach` (RG-10's full loop) landed after the consolidation and stays
|
|
47
|
+
// standalone for the stronger version of the same reason: it is action-class
|
|
48
|
+
// and conclusion-tier, so no verb group could hold it without mixing classes.
|
|
49
|
+
chainTool,
|
|
50
|
+
predictReachTool,
|
|
51
|
+
proveReachTool,
|
|
52
|
+
proposeJourneyTool,
|
|
53
|
+
drawConclusionTool,
|
|
54
|
+
contractsTool,
|
|
55
|
+
validateTool,
|
|
56
|
+
verifyClaimTool,
|
|
57
|
+
questionsTool,
|
|
58
|
+
similarIncidentsTool,
|
|
59
|
+
markIncidentTool,
|
|
60
|
+
// observe, browser_read
|
|
61
|
+
...OBSERVE_GROUP_TOOLS,
|
|
62
|
+
// browser — the eight action verbs, last for the same reason the browser
|
|
63
|
+
// primitives were last before: a reader meets the graph tools first.
|
|
64
|
+
...BROWSER_GROUP_TOOLS,
|
|
65
|
+
];
|
|
66
|
+
export const TOOLS_BY_NAME = new Map(TOOLS.map((tool) => [tool.name, tool]));
|
|
67
|
+
export { ToolInputError } from "./kit.js";
|
|
68
|
+
export { resolveOneNode } from "./lookup.js";
|
|
69
|
+
export { TOOL_TIERS } from "../render.js";
|
|
70
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,MAAM,CAAC,MAAM,KAAK,GAA8B;IAC9C,0BAA0B;IAC1B,GAAG,qBAAqB;IACxB,wCAAwC;IACxC,GAAG,mBAAmB;IACtB,cAAc;IACd,WAAW;IACX,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,SAAS;IACT,gBAAgB;IAChB,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,aAAa;IACb,YAAY;IACZ,eAAe;IACf,aAAa;IACb,oBAAoB;IACpB,gBAAgB;IAChB,wBAAwB;IACxB,GAAG,mBAAmB;IACtB,yEAAyE;IACzE,qEAAqE;IACrE,GAAG,mBAAmB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAwC,IAAI,GAAG,CACvE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACvC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQ1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|