@descryy/mcp 0.11.4 → 0.11.5
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/package.json +7 -7
- package/dist/action-handshake.d.ts +0 -38
- package/dist/action-handshake.d.ts.map +0 -1
- package/dist/action-handshake.js +0 -127
- package/dist/action-handshake.js.map +0 -1
- package/dist/bin/descry-mcp.d.ts +0 -7
- package/dist/bin/descry-mcp.d.ts.map +0 -1
- package/dist/bin/descry-mcp.js +0 -72
- package/dist/bin/descry-mcp.js.map +0 -1
- package/dist/browser/auth.d.ts +0 -84
- package/dist/browser/auth.d.ts.map +0 -1
- package/dist/browser/auth.js +0 -233
- package/dist/browser/auth.js.map +0 -1
- package/dist/browser/capability-probe.d.ts +0 -109
- package/dist/browser/capability-probe.d.ts.map +0 -1
- package/dist/browser/capability-probe.js +0 -201
- package/dist/browser/capability-probe.js.map +0 -1
- package/dist/browser/driver.d.ts +0 -591
- package/dist/browser/driver.d.ts.map +0 -1
- package/dist/browser/driver.js +0 -116
- package/dist/browser/driver.js.map +0 -1
- package/dist/browser/evidence.d.ts +0 -28
- package/dist/browser/evidence.d.ts.map +0 -1
- package/dist/browser/evidence.js +0 -82
- package/dist/browser/evidence.js.map +0 -1
- package/dist/browser/fake-driver.d.ts +0 -116
- package/dist/browser/fake-driver.d.ts.map +0 -1
- package/dist/browser/fake-driver.js +0 -416
- package/dist/browser/fake-driver.js.map +0 -1
- package/dist/browser/fault-attribution.d.ts +0 -178
- package/dist/browser/fault-attribution.d.ts.map +0 -1
- package/dist/browser/fault-attribution.js +0 -266
- package/dist/browser/fault-attribution.js.map +0 -1
- package/dist/browser/graph-write.d.ts +0 -45
- package/dist/browser/graph-write.d.ts.map +0 -1
- package/dist/browser/graph-write.js +0 -103
- package/dist/browser/graph-write.js.map +0 -1
- package/dist/browser/identity-graph-write.d.ts +0 -55
- package/dist/browser/identity-graph-write.d.ts.map +0 -1
- package/dist/browser/identity-graph-write.js +0 -45
- package/dist/browser/identity-graph-write.js.map +0 -1
- package/dist/browser/page-probe.d.ts +0 -81
- package/dist/browser/page-probe.d.ts.map +0 -1
- package/dist/browser/page-probe.js +0 -202
- package/dist/browser/page-probe.js.map +0 -1
- package/dist/browser/playwright-driver.d.ts +0 -114
- package/dist/browser/playwright-driver.d.ts.map +0 -1
- package/dist/browser/playwright-driver.js +0 -1518
- package/dist/browser/playwright-driver.js.map +0 -1
- package/dist/browser/provider.d.ts +0 -26
- package/dist/browser/provider.d.ts.map +0 -1
- package/dist/browser/provider.js +0 -14
- package/dist/browser/provider.js.map +0 -1
- package/dist/browser/reach-recording-session.d.ts +0 -44
- package/dist/browser/reach-recording-session.d.ts.map +0 -1
- package/dist/browser/reach-recording-session.js +0 -151
- package/dist/browser/reach-recording-session.js.map +0 -1
- package/dist/browser/reachability.d.ts +0 -168
- package/dist/browser/reachability.d.ts.map +0 -1
- package/dist/browser/reachability.js +0 -294
- package/dist/browser/reachability.js.map +0 -1
- package/dist/browser/registry.d.ts +0 -126
- package/dist/browser/registry.d.ts.map +0 -1
- package/dist/browser/registry.js +0 -177
- package/dist/browser/registry.js.map +0 -1
- package/dist/browser/scenario-provenance.d.ts +0 -23
- package/dist/browser/scenario-provenance.d.ts.map +0 -1
- package/dist/browser/scenario-provenance.js +0 -73
- package/dist/browser/scenario-provenance.js.map +0 -1
- package/dist/browser/scenario-resolve.d.ts +0 -28
- package/dist/browser/scenario-resolve.d.ts.map +0 -1
- package/dist/browser/scenario-resolve.js +0 -96
- package/dist/browser/scenario-resolve.js.map +0 -1
- package/dist/browser/scenario-runner.d.ts +0 -72
- package/dist/browser/scenario-runner.d.ts.map +0 -1
- package/dist/browser/scenario-runner.js +0 -353
- package/dist/browser/scenario-runner.js.map +0 -1
- package/dist/browser/stack-parser.d.ts +0 -19
- package/dist/browser/stack-parser.d.ts.map +0 -1
- package/dist/browser/stack-parser.js +0 -85
- package/dist/browser/stack-parser.js.map +0 -1
- package/dist/browser/tool-support.d.ts +0 -71
- package/dist/browser/tool-support.d.ts.map +0 -1
- package/dist/browser/tool-support.js +0 -216
- package/dist/browser/tool-support.js.map +0 -1
- package/dist/browser/url-scheme.d.ts +0 -14
- package/dist/browser/url-scheme.d.ts.map +0 -1
- package/dist/browser/url-scheme.js +0 -38
- package/dist/browser/url-scheme.js.map +0 -1
- package/dist/browser/wait-target.d.ts +0 -37
- package/dist/browser/wait-target.d.ts.map +0 -1
- package/dist/browser/wait-target.js +0 -54
- package/dist/browser/wait-target.js.map +0 -1
- package/dist/cancellation.d.ts +0 -20
- package/dist/cancellation.d.ts.map +0 -1
- package/dist/cancellation.js +0 -41
- package/dist/cancellation.js.map +0 -1
- package/dist/capped.d.ts +0 -39
- package/dist/capped.d.ts.map +0 -1
- package/dist/capped.js +0 -43
- package/dist/capped.js.map +0 -1
- package/dist/credential-store.d.ts +0 -22
- package/dist/credential-store.d.ts.map +0 -1
- package/dist/credential-store.js +0 -33
- package/dist/credential-store.js.map +0 -1
- package/dist/disclosure-ledger.d.ts +0 -14
- package/dist/disclosure-ledger.d.ts.map +0 -1
- package/dist/disclosure-ledger.js +0 -18
- package/dist/disclosure-ledger.js.map +0 -1
- package/dist/evidence/observed-route-evidence.d.ts +0 -25
- package/dist/evidence/observed-route-evidence.d.ts.map +0 -1
- package/dist/evidence/observed-route-evidence.js +0 -76
- package/dist/evidence/observed-route-evidence.js.map +0 -1
- package/dist/heap.d.ts +0 -61
- package/dist/heap.d.ts.map +0 -1
- package/dist/heap.js +0 -82
- package/dist/heap.js.map +0 -1
- package/dist/heartbeat.d.ts +0 -46
- package/dist/heartbeat.d.ts.map +0 -1
- package/dist/heartbeat.js +0 -66
- package/dist/heartbeat.js.map +0 -1
- package/dist/index.d.ts +0 -32
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -19
- package/dist/index.js.map +0 -1
- package/dist/module-trust.d.ts +0 -37
- package/dist/module-trust.d.ts.map +0 -1
- package/dist/module-trust.js +0 -77
- package/dist/module-trust.js.map +0 -1
- package/dist/path-confinement.d.ts +0 -31
- package/dist/path-confinement.d.ts.map +0 -1
- package/dist/path-confinement.js +0 -44
- package/dist/path-confinement.js.map +0 -1
- package/dist/planner/predict-then-propose.d.ts +0 -134
- package/dist/planner/predict-then-propose.d.ts.map +0 -1
- package/dist/planner/predict-then-propose.js +0 -138
- package/dist/planner/predict-then-propose.js.map +0 -1
- package/dist/planner/propose-journey.d.ts +0 -75
- package/dist/planner/propose-journey.d.ts.map +0 -1
- package/dist/planner/propose-journey.js +0 -96
- package/dist/planner/propose-journey.js.map +0 -1
- package/dist/protocol.d.ts +0 -57
- package/dist/protocol.d.ts.map +0 -1
- package/dist/protocol.js +0 -90
- package/dist/protocol.js.map +0 -1
- package/dist/registry.d.ts +0 -103
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -327
- package/dist/registry.js.map +0 -1
- package/dist/render.d.ts +0 -623
- package/dist/render.d.ts.map +0 -1
- package/dist/render.js +0 -968
- package/dist/render.js.map +0 -1
- package/dist/runtime-registry.d.ts +0 -22
- package/dist/runtime-registry.d.ts.map +0 -1
- package/dist/runtime-registry.js +0 -142
- package/dist/runtime-registry.js.map +0 -1
- package/dist/sandbox-defaults.d.ts +0 -41
- package/dist/sandbox-defaults.d.ts.map +0 -1
- package/dist/sandbox-defaults.js +0 -14
- package/dist/sandbox-defaults.js.map +0 -1
- package/dist/scenarios/browser-run-plan-projection.d.ts +0 -161
- package/dist/scenarios/browser-run-plan-projection.d.ts.map +0 -1
- package/dist/scenarios/browser-run-plan-projection.js +0 -264
- package/dist/scenarios/browser-run-plan-projection.js.map +0 -1
- package/dist/scenarios/credential-ref.d.ts +0 -102
- package/dist/scenarios/credential-ref.d.ts.map +0 -1
- package/dist/scenarios/credential-ref.js +0 -148
- package/dist/scenarios/credential-ref.js.map +0 -1
- package/dist/scenarios/index.d.ts +0 -7
- package/dist/scenarios/index.d.ts.map +0 -1
- package/dist/scenarios/index.js +0 -7
- package/dist/scenarios/index.js.map +0 -1
- package/dist/scenarios/parse.d.ts +0 -18
- package/dist/scenarios/parse.d.ts.map +0 -1
- package/dist/scenarios/parse.js +0 -212
- package/dist/scenarios/parse.js.map +0 -1
- package/dist/scenarios/scenario.d.ts +0 -93
- package/dist/scenarios/scenario.d.ts.map +0 -1
- package/dist/scenarios/scenario.js +0 -27
- package/dist/scenarios/scenario.js.map +0 -1
- package/dist/scenarios/secret-ref.d.ts +0 -86
- package/dist/scenarios/secret-ref.d.ts.map +0 -1
- package/dist/scenarios/secret-ref.js +0 -125
- package/dist/scenarios/secret-ref.js.map +0 -1
- package/dist/scenarios/storage.d.ts +0 -21
- package/dist/scenarios/storage.d.ts.map +0 -1
- package/dist/scenarios/storage.js +0 -103
- package/dist/scenarios/storage.js.map +0 -1
- package/dist/server.d.ts +0 -61
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -651
- package/dist/server.js.map +0 -1
- package/dist/session.d.ts +0 -356
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -779
- package/dist/session.js.map +0 -1
- package/dist/tools/alias-kit.d.ts +0 -29
- package/dist/tools/alias-kit.d.ts.map +0 -1
- package/dist/tools/alias-kit.js +0 -21
- package/dist/tools/alias-kit.js.map +0 -1
- package/dist/tools/aliases.d.ts +0 -42
- package/dist/tools/aliases.d.ts.map +0 -1
- package/dist/tools/aliases.js +0 -52
- package/dist/tools/aliases.js.map +0 -1
- package/dist/tools/analyze-workspace.d.ts +0 -52
- package/dist/tools/analyze-workspace.d.ts.map +0 -1
- package/dist/tools/analyze-workspace.js +0 -207
- package/dist/tools/analyze-workspace.js.map +0 -1
- package/dist/tools/analyze.d.ts +0 -163
- package/dist/tools/analyze.d.ts.map +0 -1
- package/dist/tools/analyze.js +0 -724
- package/dist/tools/analyze.js.map +0 -1
- package/dist/tools/browser-click.d.ts +0 -18
- package/dist/tools/browser-click.d.ts.map +0 -1
- package/dist/tools/browser-click.js +0 -110
- package/dist/tools/browser-click.js.map +0 -1
- package/dist/tools/browser-close-session.d.ts +0 -39
- package/dist/tools/browser-close-session.d.ts.map +0 -1
- package/dist/tools/browser-close-session.js +0 -120
- package/dist/tools/browser-close-session.js.map +0 -1
- package/dist/tools/browser-fill.d.ts +0 -18
- package/dist/tools/browser-fill.d.ts.map +0 -1
- package/dist/tools/browser-fill.js +0 -117
- package/dist/tools/browser-fill.js.map +0 -1
- package/dist/tools/browser-navigate.d.ts +0 -15
- package/dist/tools/browser-navigate.d.ts.map +0 -1
- package/dist/tools/browser-navigate.js +0 -104
- package/dist/tools/browser-navigate.js.map +0 -1
- package/dist/tools/browser-read.d.ts +0 -33
- package/dist/tools/browser-read.d.ts.map +0 -1
- package/dist/tools/browser-read.js +0 -113
- package/dist/tools/browser-read.js.map +0 -1
- package/dist/tools/browser-run-scenario.d.ts +0 -28
- package/dist/tools/browser-run-scenario.d.ts.map +0 -1
- package/dist/tools/browser-run-scenario.js +0 -225
- package/dist/tools/browser-run-scenario.js.map +0 -1
- package/dist/tools/browser-save-scenario.d.ts +0 -19
- package/dist/tools/browser-save-scenario.d.ts.map +0 -1
- package/dist/tools/browser-save-scenario.js +0 -447
- package/dist/tools/browser-save-scenario.js.map +0 -1
- package/dist/tools/browser-select.d.ts +0 -20
- package/dist/tools/browser-select.d.ts.map +0 -1
- package/dist/tools/browser-select.js +0 -120
- package/dist/tools/browser-select.js.map +0 -1
- package/dist/tools/browser-snapshot.d.ts +0 -46
- package/dist/tools/browser-snapshot.d.ts.map +0 -1
- package/dist/tools/browser-snapshot.js +0 -127
- package/dist/tools/browser-snapshot.js.map +0 -1
- package/dist/tools/browser-start-session.d.ts +0 -24
- package/dist/tools/browser-start-session.d.ts.map +0 -1
- package/dist/tools/browser-start-session.js +0 -640
- package/dist/tools/browser-start-session.js.map +0 -1
- package/dist/tools/browser-submit.d.ts +0 -18
- package/dist/tools/browser-submit.d.ts.map +0 -1
- package/dist/tools/browser-submit.js +0 -106
- package/dist/tools/browser-submit.js.map +0 -1
- package/dist/tools/browser-type.d.ts +0 -18
- package/dist/tools/browser-type.d.ts.map +0 -1
- package/dist/tools/browser-type.js +0 -115
- package/dist/tools/browser-type.js.map +0 -1
- package/dist/tools/browser-wait-for.d.ts +0 -45
- package/dist/tools/browser-wait-for.d.ts.map +0 -1
- package/dist/tools/browser-wait-for.js +0 -150
- package/dist/tools/browser-wait-for.js.map +0 -1
- package/dist/tools/browser.d.ts +0 -69
- package/dist/tools/browser.d.ts.map +0 -1
- package/dist/tools/browser.js +0 -386
- package/dist/tools/browser.js.map +0 -1
- package/dist/tools/chain.d.ts +0 -41
- package/dist/tools/chain.d.ts.map +0 -1
- package/dist/tools/chain.js +0 -105
- package/dist/tools/chain.js.map +0 -1
- package/dist/tools/change-scope.d.ts +0 -25
- package/dist/tools/change-scope.d.ts.map +0 -1
- package/dist/tools/change-scope.js +0 -110
- package/dist/tools/change-scope.js.map +0 -1
- package/dist/tools/code-context.d.ts +0 -83
- package/dist/tools/code-context.d.ts.map +0 -1
- package/dist/tools/code-context.js +0 -444
- package/dist/tools/code-context.js.map +0 -1
- package/dist/tools/contracts.d.ts +0 -74
- package/dist/tools/contracts.d.ts.map +0 -1
- package/dist/tools/contracts.js +0 -196
- package/dist/tools/contracts.js.map +0 -1
- package/dist/tools/cross-pr.d.ts +0 -178
- package/dist/tools/cross-pr.d.ts.map +0 -1
- package/dist/tools/cross-pr.js +0 -370
- package/dist/tools/cross-pr.js.map +0 -1
- package/dist/tools/disclosure.d.ts +0 -75
- package/dist/tools/disclosure.d.ts.map +0 -1
- package/dist/tools/disclosure.js +0 -307
- package/dist/tools/disclosure.js.map +0 -1
- package/dist/tools/draw-conclusion.d.ts +0 -55
- package/dist/tools/draw-conclusion.d.ts.map +0 -1
- package/dist/tools/draw-conclusion.js +0 -259
- package/dist/tools/draw-conclusion.js.map +0 -1
- package/dist/tools/git-context.d.ts +0 -39
- package/dist/tools/git-context.d.ts.map +0 -1
- package/dist/tools/git-context.js +0 -385
- package/dist/tools/git-context.js.map +0 -1
- package/dist/tools/git-diff.d.ts +0 -45
- package/dist/tools/git-diff.d.ts.map +0 -1
- package/dist/tools/git-diff.js +0 -338
- package/dist/tools/git-diff.js.map +0 -1
- package/dist/tools/git-history.d.ts +0 -16
- package/dist/tools/git-history.d.ts.map +0 -1
- package/dist/tools/git-history.js +0 -106
- package/dist/tools/git-history.js.map +0 -1
- package/dist/tools/history.d.ts +0 -34
- package/dist/tools/history.d.ts.map +0 -1
- package/dist/tools/history.js +0 -121
- package/dist/tools/history.js.map +0 -1
- package/dist/tools/impact.d.ts +0 -46
- package/dist/tools/impact.d.ts.map +0 -1
- package/dist/tools/impact.js +0 -225
- package/dist/tools/impact.js.map +0 -1
- package/dist/tools/index.d.ts +0 -59
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -70
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/kit.d.ts +0 -165
- package/dist/tools/kit.d.ts.map +0 -1
- package/dist/tools/kit.js +0 -153
- package/dist/tools/kit.js.map +0 -1
- package/dist/tools/link-workspace.d.ts +0 -24
- package/dist/tools/link-workspace.d.ts.map +0 -1
- package/dist/tools/link-workspace.js +0 -131
- package/dist/tools/link-workspace.js.map +0 -1
- package/dist/tools/lookup.d.ts +0 -19
- package/dist/tools/lookup.d.ts.map +0 -1
- package/dist/tools/lookup.js +0 -63
- package/dist/tools/lookup.js.map +0 -1
- package/dist/tools/mark-incident.d.ts +0 -28
- package/dist/tools/mark-incident.d.ts.map +0 -1
- package/dist/tools/mark-incident.js +0 -188
- package/dist/tools/mark-incident.js.map +0 -1
- package/dist/tools/merged-browser.d.ts +0 -11
- package/dist/tools/merged-browser.d.ts.map +0 -1
- package/dist/tools/merged-browser.js +0 -20
- package/dist/tools/merged-browser.js.map +0 -1
- package/dist/tools/merged-context.d.ts +0 -11
- package/dist/tools/merged-context.d.ts.map +0 -1
- package/dist/tools/merged-context.js +0 -21
- package/dist/tools/merged-context.js.map +0 -1
- package/dist/tools/merged-observe.d.ts +0 -13
- package/dist/tools/merged-observe.d.ts.map +0 -1
- package/dist/tools/merged-observe.js +0 -21
- package/dist/tools/merged-observe.js.map +0 -1
- package/dist/tools/merged-workspace.d.ts +0 -14
- package/dist/tools/merged-workspace.d.ts.map +0 -1
- package/dist/tools/merged-workspace.js +0 -21
- package/dist/tools/merged-workspace.js.map +0 -1
- package/dist/tools/observe-runtime.d.ts +0 -262
- package/dist/tools/observe-runtime.d.ts.map +0 -1
- package/dist/tools/observe-runtime.js +0 -1901
- package/dist/tools/observe-runtime.js.map +0 -1
- package/dist/tools/observe-tests.d.ts +0 -57
- package/dist/tools/observe-tests.d.ts.map +0 -1
- package/dist/tools/observe-tests.js +0 -368
- package/dist/tools/observe-tests.js.map +0 -1
- package/dist/tools/observe.d.ts +0 -28
- package/dist/tools/observe.d.ts.map +0 -1
- package/dist/tools/observe.js +0 -330
- package/dist/tools/observe.js.map +0 -1
- package/dist/tools/pr-analysis.d.ts +0 -189
- package/dist/tools/pr-analysis.d.ts.map +0 -1
- package/dist/tools/pr-analysis.js +0 -374
- package/dist/tools/pr-analysis.js.map +0 -1
- package/dist/tools/pre-push.d.ts +0 -168
- package/dist/tools/pre-push.d.ts.map +0 -1
- package/dist/tools/pre-push.js +0 -416
- package/dist/tools/pre-push.js.map +0 -1
- package/dist/tools/predict-reach.d.ts +0 -57
- package/dist/tools/predict-reach.d.ts.map +0 -1
- package/dist/tools/predict-reach.js +0 -159
- package/dist/tools/predict-reach.js.map +0 -1
- package/dist/tools/propagation.d.ts +0 -37
- package/dist/tools/propagation.d.ts.map +0 -1
- package/dist/tools/propagation.js +0 -162
- package/dist/tools/propagation.js.map +0 -1
- package/dist/tools/propose-journey.d.ts +0 -16
- package/dist/tools/propose-journey.d.ts.map +0 -1
- package/dist/tools/propose-journey.js +0 -121
- package/dist/tools/propose-journey.js.map +0 -1
- package/dist/tools/prove-reach.d.ts +0 -74
- package/dist/tools/prove-reach.d.ts.map +0 -1
- package/dist/tools/prove-reach.js +0 -286
- package/dist/tools/prove-reach.js.map +0 -1
- package/dist/tools/questions.d.ts +0 -30
- package/dist/tools/questions.d.ts.map +0 -1
- package/dist/tools/questions.js +0 -232
- package/dist/tools/questions.js.map +0 -1
- package/dist/tools/refusal-fetch.d.ts +0 -35
- package/dist/tools/refusal-fetch.d.ts.map +0 -1
- package/dist/tools/refusal-fetch.js +0 -123
- package/dist/tools/refusal-fetch.js.map +0 -1
- package/dist/tools/runtime-incident.d.ts +0 -33
- package/dist/tools/runtime-incident.d.ts.map +0 -1
- package/dist/tools/runtime-incident.js +0 -67
- package/dist/tools/runtime-incident.js.map +0 -1
- package/dist/tools/runtime-journey-drive.d.ts +0 -102
- package/dist/tools/runtime-journey-drive.d.ts.map +0 -1
- package/dist/tools/runtime-journey-drive.js +0 -247
- package/dist/tools/runtime-journey-drive.js.map +0 -1
- package/dist/tools/scope.d.ts +0 -45
- package/dist/tools/scope.d.ts.map +0 -1
- package/dist/tools/scope.js +0 -217
- package/dist/tools/scope.js.map +0 -1
- package/dist/tools/similar-incidents.d.ts +0 -43
- package/dist/tools/similar-incidents.d.ts.map +0 -1
- package/dist/tools/similar-incidents.js +0 -203
- package/dist/tools/similar-incidents.js.map +0 -1
- package/dist/tools/validate.d.ts +0 -133
- package/dist/tools/validate.d.ts.map +0 -1
- package/dist/tools/validate.js +0 -520
- package/dist/tools/validate.js.map +0 -1
- package/dist/tools/verb.d.ts +0 -46
- package/dist/tools/verb.d.ts.map +0 -1
- package/dist/tools/verb.js +0 -78
- package/dist/tools/verb.js.map +0 -1
- package/dist/tools/verification-status.d.ts +0 -38
- package/dist/tools/verification-status.d.ts.map +0 -1
- package/dist/tools/verification-status.js +0 -203
- package/dist/tools/verification-status.js.map +0 -1
- package/dist/tools/verify-claim.d.ts +0 -29
- package/dist/tools/verify-claim.d.ts.map +0 -1
- package/dist/tools/verify-claim.js +0 -220
- package/dist/tools/verify-claim.js.map +0 -1
- package/dist/tools/workspace.d.ts +0 -28
- package/dist/tools/workspace.d.ts.map +0 -1
- package/dist/tools/workspace.js +0 -101
- package/dist/tools/workspace.js.map +0 -1
- package/dist/transport.d.ts +0 -32
- package/dist/transport.d.ts.map +0 -1
- package/dist/transport.js +0 -85
- package/dist/transport.js.map +0 -1
- package/dist/workspace-index.d.ts +0 -164
- package/dist/workspace-index.d.ts.map +0 -1
- package/dist/workspace-index.js +0 -381
- package/dist/workspace-index.js.map +0 -1
package/dist/tools/observe.js
DELETED
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `observe` — merges `observe_runtime` and `observe_tests` into one action-class tool
|
|
3
|
-
* (documents/plans/mcp-surface-consolidation.md, group 1). Dispatches on "verb" to the exact
|
|
4
|
-
* `run`/`describeAction` bodies each absorbed tool already had (see observe-runtime.ts,
|
|
5
|
-
* observe-tests.ts) — extracted, not reimplemented, so behaviour is unchanged per verb.
|
|
6
|
-
*
|
|
7
|
-
* The schema below restates both tools' arguments under one flat, `additionalProperties: false`
|
|
8
|
-
* shape — required by the merge itself, since a merged tool has one schema for two verbs. It is
|
|
9
|
-
* also deliberately far shorter than `observe_runtime`'s own prose (that tool alone was 10,646
|
|
10
|
-
* schema bytes, 14% of the whole registry). Nothing here drops an argument, an enum value, a
|
|
11
|
-
* default, or a conditional-requirement rule — only the narrative explaining each one. The real
|
|
12
|
-
* behaviour (every disclosure, every refusal) still lives in the reused `run`/`describeAction`
|
|
13
|
-
* bodies, untouched by this trim.
|
|
14
|
-
*/
|
|
15
|
-
import { SAFETY_LEVELS, PROFILE_MODES } from "@descryy/runtime-environment-profile";
|
|
16
|
-
import { selectVerb } from "./verb.js";
|
|
17
|
-
import { run as runRuntime, describeAction as describeRuntimeAction, DEFAULT_EVIDENCE_RELATIVE_PATH, } from "./observe-runtime.js";
|
|
18
|
-
import { run as runTests, describeAction as describeTestsAction } from "./observe-tests.js";
|
|
19
|
-
/** Mirrors observe-runtime.ts's own module-local `READINESS_KINDS` — kept as a literal here
|
|
20
|
-
* rather than imported so this schema module has no other reason to reach into that file's
|
|
21
|
-
* internals beyond the two functions it reuses. */
|
|
22
|
-
const READINESS_KINDS = ["http", "tcp-port", "command"];
|
|
23
|
-
const VERB_SPECS = [
|
|
24
|
-
{
|
|
25
|
-
verb: "runtime",
|
|
26
|
-
accepts: [
|
|
27
|
-
"profile",
|
|
28
|
-
"services",
|
|
29
|
-
"adapter",
|
|
30
|
-
"scopeByService",
|
|
31
|
-
"observeForMs",
|
|
32
|
-
"environmentTier",
|
|
33
|
-
"fidelityLevel",
|
|
34
|
-
"evidencePath",
|
|
35
|
-
"resourceLimits",
|
|
36
|
-
"filesystemPolicy",
|
|
37
|
-
"networkPolicy",
|
|
38
|
-
"sandboxBackend",
|
|
39
|
-
"journey",
|
|
40
|
-
"database",
|
|
41
|
-
],
|
|
42
|
-
},
|
|
43
|
-
{ verb: "tests", accepts: ["command", "cwd"] },
|
|
44
|
-
];
|
|
45
|
-
/** `timeoutMs` means a different thing per verb (whole-execution budget vs. suite timeout) but
|
|
46
|
-
* is the same key in both schemas — shared so neither verb refuses the other's caller for
|
|
47
|
-
* sending it. `confirmToken` is the handshake's own field, not either tool's. */
|
|
48
|
-
const SHARED_PROPS = ["confirmToken", "timeoutMs"];
|
|
49
|
-
const SCHEMA = {
|
|
50
|
-
type: "object",
|
|
51
|
-
properties: {
|
|
52
|
-
verb: {
|
|
53
|
-
type: "string",
|
|
54
|
-
enum: ["runtime", "tests"],
|
|
55
|
-
description: 'Which observation to run. "runtime": boot or attach to services and record what they ' +
|
|
56
|
-
'witness. "tests": run the test suite and record which tests executed.',
|
|
57
|
-
},
|
|
58
|
-
// --- runtime only ---
|
|
59
|
-
profile: {
|
|
60
|
-
type: "object",
|
|
61
|
-
description: "runtime only, REQUIRED. Target environment. Every field is explicit, never inferred from " +
|
|
62
|
-
'another — a profile named "staging" with safetyLevel "readOnly" is read-only, and so is ' +
|
|
63
|
-
'one named "local".',
|
|
64
|
-
properties: {
|
|
65
|
-
name: { type: "string", description: "Free-form. Matched against no vocabulary." },
|
|
66
|
-
url: { type: "string", description: "The target's base URL. Must parse." },
|
|
67
|
-
safetyLevel: {
|
|
68
|
-
type: "string",
|
|
69
|
-
enum: [...SAFETY_LEVELS],
|
|
70
|
-
description: 'Booting a service is a write; "readOnly" refuses a run that spawns anything. An ' +
|
|
71
|
-
'all-"attach" run spawns nothing and is permitted under "readOnly".',
|
|
72
|
-
},
|
|
73
|
-
credentialRef: { type: "string", description: "An opaque key into a credential store — never the secret." },
|
|
74
|
-
mode: { type: "string", enum: [...PROFILE_MODES] },
|
|
75
|
-
},
|
|
76
|
-
required: ["name", "url", "safetyLevel", "credentialRef", "mode"],
|
|
77
|
-
additionalProperties: false,
|
|
78
|
-
},
|
|
79
|
-
services: {
|
|
80
|
-
type: "object",
|
|
81
|
-
description: "runtime only, REQUIRED. One entry per service, keyed by name. At least one required; each " +
|
|
82
|
-
'needs exactly one of "command" or "attach".',
|
|
83
|
-
additionalProperties: {
|
|
84
|
-
type: "object",
|
|
85
|
-
properties: {
|
|
86
|
-
command: { type: "string", description: 'How to start it. Omit when using "attach".' },
|
|
87
|
-
cwd: {
|
|
88
|
-
type: "string",
|
|
89
|
-
description: 'Directory the service starts in, relative to the repo root. Required with "command"; ' +
|
|
90
|
-
'required with "attach" only when readiness is a "command" check.',
|
|
91
|
-
},
|
|
92
|
-
port: {
|
|
93
|
-
type: "integer",
|
|
94
|
-
description: 'Readiness port. With "attach": REQUIRED when readiness is "http"/"tcp-port" — an ' +
|
|
95
|
-
'attached target\'s port cannot be inferred. With "command": omit for an ephemeral ' +
|
|
96
|
-
"port passed as PORT; set only if your command hardcodes one, and it must match.",
|
|
97
|
-
},
|
|
98
|
-
dependsOn: {
|
|
99
|
-
type: "array",
|
|
100
|
-
items: { type: "string" },
|
|
101
|
-
description: "Service names that must be ready first.",
|
|
102
|
-
},
|
|
103
|
-
env: { type: "object", additionalProperties: { type: "string" } },
|
|
104
|
-
attach: {
|
|
105
|
-
type: "object",
|
|
106
|
-
description: "Observe an already-running process instead of spawning one. Never executed, signalled, or limited.",
|
|
107
|
-
properties: {
|
|
108
|
-
pid: { type: "integer" },
|
|
109
|
-
logFilePath: { type: "string", description: "A file the target already writes its stdout/stderr to." },
|
|
110
|
-
},
|
|
111
|
-
required: ["pid", "logFilePath"],
|
|
112
|
-
additionalProperties: false,
|
|
113
|
-
},
|
|
114
|
-
readiness: {
|
|
115
|
-
type: "object",
|
|
116
|
-
description: "Required per service. Only http/tcp-port/command are expressible here — log-pattern " +
|
|
117
|
-
"and custom-hook need a function and are unreachable through this tool.",
|
|
118
|
-
properties: {
|
|
119
|
-
kind: { type: "string", enum: [...READINESS_KINDS] },
|
|
120
|
-
path: { type: "string", description: 'kind "http": appended to http://127.0.0.1:<port>. Defaults to "/".' },
|
|
121
|
-
expectedStatus: { type: "integer", description: 'kind "http": defaults to any 2xx/3xx.' },
|
|
122
|
-
host: { type: "string", description: 'kind "tcp-port": defaults to 127.0.0.1.' },
|
|
123
|
-
command: { type: "string", description: 'kind "command": the executable to run.' },
|
|
124
|
-
args: { type: "array", items: { type: "string" }, description: 'kind "command".' },
|
|
125
|
-
timeoutMs: { type: "integer", description: "Defaults to 30000." },
|
|
126
|
-
},
|
|
127
|
-
required: ["kind"],
|
|
128
|
-
additionalProperties: false,
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
required: ["readiness"],
|
|
132
|
-
additionalProperties: false,
|
|
133
|
-
},
|
|
134
|
-
},
|
|
135
|
-
adapter: {
|
|
136
|
-
type: "object",
|
|
137
|
-
description: "runtime only, REQUIRED. Runtime adapter to observe with, as a module specifier imported at " +
|
|
138
|
-
"call time. This server bundles none of descry-runtime's language adapters by design — " +
|
|
139
|
-
"install one alongside it and name it here.",
|
|
140
|
-
properties: {
|
|
141
|
-
module: { type: "string" },
|
|
142
|
-
export: { type: "string", description: "Defaults to the sole create*RuntimeAdapter export; name one if there are two." },
|
|
143
|
-
options: { type: "object", description: "Passed to the factory. Adapter-specific and opaque here." },
|
|
144
|
-
},
|
|
145
|
-
required: ["module"],
|
|
146
|
-
additionalProperties: false,
|
|
147
|
-
},
|
|
148
|
-
scopeByService: {
|
|
149
|
-
type: "object",
|
|
150
|
-
description: "runtime only. Service name → which repository its symbols resolve in. An unlisted service " +
|
|
151
|
-
"is left unresolved rather than guessed. Defaults to this session's own repo for every service.",
|
|
152
|
-
additionalProperties: {
|
|
153
|
-
type: "object",
|
|
154
|
-
properties: {
|
|
155
|
-
repo: { type: "string" },
|
|
156
|
-
repoRoot: { type: "string", description: "Absolute on-disk root, for translating observed absolute paths." },
|
|
157
|
-
cwd: { type: "string" },
|
|
158
|
-
},
|
|
159
|
-
required: ["repo"],
|
|
160
|
-
additionalProperties: false,
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
observeForMs: {
|
|
164
|
-
type: "integer",
|
|
165
|
-
description: 'runtime only. How long to drain collector output after services are ready. Defaults to ' +
|
|
166
|
-
'5000. There is no "done" signal at this layer, so you state the window.',
|
|
167
|
-
},
|
|
168
|
-
timeoutMs: {
|
|
169
|
-
type: "integer",
|
|
170
|
-
description: 'Timeout budget, in ms. verb "runtime": whole-execution budget, default 60000. verb ' +
|
|
171
|
-
'"tests": how long to let the suite run, default 600000.',
|
|
172
|
-
},
|
|
173
|
-
environmentTier: {
|
|
174
|
-
type: "string",
|
|
175
|
-
enum: ["tier-0-ci-attached", "tier-1-preview", "tier-2-container", "tier-2b-api-only", "tier-3-static-only"],
|
|
176
|
-
description: 'runtime only. Recorded on the execution. Defaults to "tier-2-container"; never derived ' +
|
|
177
|
-
"from profile.mode — declared fields are never inferred from a neighbour.",
|
|
178
|
-
},
|
|
179
|
-
fidelityLevel: {
|
|
180
|
-
type: "integer",
|
|
181
|
-
enum: [1, 2, 3, 4],
|
|
182
|
-
description: "runtime only. 1 rule-aware stub · 2 real code + disposable DB · 3 real code + redacted " +
|
|
183
|
-
"recordings · 4 real staging. Defaults to 2.",
|
|
184
|
-
},
|
|
185
|
-
evidencePath: {
|
|
186
|
-
type: "string",
|
|
187
|
-
description: `runtime only. Where the evidence database lives. Defaults to ${DEFAULT_EVIDENCE_RELATIVE_PATH} under the repo root.`,
|
|
188
|
-
},
|
|
189
|
-
resourceLimits: {
|
|
190
|
-
type: "object",
|
|
191
|
-
description: "runtime only. OS-enforced caps on a spawned service (prlimit); never applied to an " +
|
|
192
|
-
"attached one. Absent means unconstrained, which every reply discloses.",
|
|
193
|
-
properties: {
|
|
194
|
-
maxMemoryBytes: { type: "integer", description: "Virtual address space cap (prlimit --as)." },
|
|
195
|
-
maxCpuSeconds: { type: "integer", description: "CPU time cap, in seconds (prlimit --cpu)." },
|
|
196
|
-
maxProcesses: { type: "integer", description: "Process count cap, per real uid (prlimit --nproc)." },
|
|
197
|
-
},
|
|
198
|
-
additionalProperties: false,
|
|
199
|
-
},
|
|
200
|
-
filesystemPolicy: {
|
|
201
|
-
type: "object",
|
|
202
|
-
description: "runtime only. Confines a spawned service's filesystem to its own cwd plus these roots — " +
|
|
203
|
-
"real on Linux (a bwrap mount namespace); refuses the run rather than silently going " +
|
|
204
|
-
"unenforced elsewhere. Absent means unconstrained.",
|
|
205
|
-
properties: {
|
|
206
|
-
allowedRoots: {
|
|
207
|
-
type: "array",
|
|
208
|
-
items: { type: "string" },
|
|
209
|
-
description: "Absolute paths visible read-write in addition to the service's own cwd.",
|
|
210
|
-
},
|
|
211
|
-
},
|
|
212
|
-
required: ["allowedRoots"],
|
|
213
|
-
additionalProperties: false,
|
|
214
|
-
},
|
|
215
|
-
networkPolicy: {
|
|
216
|
-
type: "object",
|
|
217
|
-
description: 'runtime only. Only { mode: "allow", hosts: [] } (full denial) is actually enforced today ' +
|
|
218
|
-
"— any other shape refuses the run rather than starting unconstrained. Absent means unconstrained.",
|
|
219
|
-
properties: {
|
|
220
|
-
mode: { type: "string", enum: ["allow", "deny"] },
|
|
221
|
-
hosts: { type: "array", items: { type: "string" } },
|
|
222
|
-
},
|
|
223
|
-
required: ["mode", "hosts"],
|
|
224
|
-
additionalProperties: false,
|
|
225
|
-
},
|
|
226
|
-
sandboxBackend: {
|
|
227
|
-
type: "string",
|
|
228
|
-
enum: ["bwrap", "container"],
|
|
229
|
-
description: 'runtime only. Mechanism enforcing filesystemPolicy/networkPolicy. Defaults to "bwrap" ' +
|
|
230
|
-
'(Linux). "container" is the only option on macOS/Windows and does not compose with resourceLimits.',
|
|
231
|
-
},
|
|
232
|
-
journey: {
|
|
233
|
-
type: "object",
|
|
234
|
-
description: "runtime only. Drive a real browser inside this run's readiness window, so browser and backend " +
|
|
235
|
-
'evidence share one executionId. Omit for backend-only. Declare exactly one of "scenario" or ' +
|
|
236
|
-
'"startUrl"; no journey is invented.',
|
|
237
|
-
properties: {
|
|
238
|
-
service: { type: "string", description: "Which declared service the browser evidence is attributed to. Optional." },
|
|
239
|
-
scenario: {
|
|
240
|
-
type: "string",
|
|
241
|
-
description: "A committed scenario under descry/scenarios/, replayed in the readiness window from its own targetUrl.",
|
|
242
|
-
},
|
|
243
|
-
startUrl: { type: "string", description: 'Navigate here and observe, with no steps. Mutually exclusive with "scenario".' },
|
|
244
|
-
recordVideo: { type: "boolean", description: "Off by default. Returned as a VIDEO evidence artifact." },
|
|
245
|
-
headless: { type: "boolean", description: "Defaults to true." },
|
|
246
|
-
settleForMs: {
|
|
247
|
-
type: "integer",
|
|
248
|
-
description: "How long the page stays alive after the last step for late console/network activity. Defaults to 1000.",
|
|
249
|
-
},
|
|
250
|
-
},
|
|
251
|
-
additionalProperties: false,
|
|
252
|
-
},
|
|
253
|
-
database: {
|
|
254
|
-
type: "object",
|
|
255
|
-
description: "runtime only. The Postgres channel: where to tail the server's statement log from, so queries " +
|
|
256
|
-
"issued during the observation window become DATABASE_QUERY evidence. Node services get the " +
|
|
257
|
-
"node:sqlite preload with no declaration. Omit for no Postgres channel — the reply discloses it.",
|
|
258
|
-
properties: {
|
|
259
|
-
statementLog: {
|
|
260
|
-
type: "object",
|
|
261
|
-
description: "Never turns Postgres logging on — reads whatever the deployment already produces.",
|
|
262
|
-
properties: {
|
|
263
|
-
kind: { type: "string", enum: ["file", "dockerContainer"] },
|
|
264
|
-
path: { type: "string", description: 'kind "file": a log file the deployment already writes to.' },
|
|
265
|
-
container: { type: "string", description: 'kind "dockerContainer": tails `docker logs -f` for this container.' },
|
|
266
|
-
},
|
|
267
|
-
required: ["kind"],
|
|
268
|
-
additionalProperties: false,
|
|
269
|
-
},
|
|
270
|
-
service: { type: "string", description: "Which declared service the DATABASE_QUERY evidence is attributed to. Optional." },
|
|
271
|
-
},
|
|
272
|
-
required: ["statementLog"],
|
|
273
|
-
additionalProperties: false,
|
|
274
|
-
},
|
|
275
|
-
// --- tests only ---
|
|
276
|
-
command: {
|
|
277
|
-
type: "string",
|
|
278
|
-
description: "tests only, REQUIRED. The test command, exactly as typed in a terminal. Matched against " +
|
|
279
|
-
"ten known runner families, never sniffed from package.json or a lockfile — an unrecognised " +
|
|
280
|
-
"command is refused by name. Executes your code, hence the two-call confirmation.",
|
|
281
|
-
},
|
|
282
|
-
cwd: {
|
|
283
|
-
type: "string",
|
|
284
|
-
description: "tests only. Where to run the command. Relative paths resolve against the repo root; absent means the repo root.",
|
|
285
|
-
},
|
|
286
|
-
// --- shared ---
|
|
287
|
-
confirmToken: {
|
|
288
|
-
type: "string",
|
|
289
|
-
description: "The token from an unconfirmed call. Required to actually run: call once without it for a " +
|
|
290
|
-
"description and a token, again with it to execute — with the arguments frozen when the token was minted, not " +
|
|
291
|
-
"time. A conflicting argument on the confirming call is discarded, not applied, and the " +
|
|
292
|
-
"reply discloses which.",
|
|
293
|
-
},
|
|
294
|
-
},
|
|
295
|
-
required: ["verb"],
|
|
296
|
-
additionalProperties: false,
|
|
297
|
-
};
|
|
298
|
-
async function run(args, ctx) {
|
|
299
|
-
const verb = selectVerb(args, "verb", VERB_SPECS, SHARED_PROPS);
|
|
300
|
-
return verb === "runtime" ? runRuntime(args, ctx) : runTests(args, ctx);
|
|
301
|
-
}
|
|
302
|
-
/** One `describeAction` for two verbs — the requirement this merge cannot get wrong (UAT phase 5
|
|
303
|
-
* F12: `browser_start_session` once issued a consent sentence for the wrong verb). `selectVerb`
|
|
304
|
-
* decides which verb the call names before either absorbed `describeAction` sees it, so each one
|
|
305
|
-
* only ever describes the run it was actually asked to describe. */
|
|
306
|
-
function describeAction(args, ctx) {
|
|
307
|
-
const verb = selectVerb(args, "verb", VERB_SPECS, SHARED_PROPS);
|
|
308
|
-
return verb === "runtime" ? describeRuntimeAction(args, ctx) : describeTestsAction(args);
|
|
309
|
-
}
|
|
310
|
-
export const observeTool = {
|
|
311
|
-
name: "observe",
|
|
312
|
-
class: "action",
|
|
313
|
-
tier: "evidence",
|
|
314
|
-
version: "1.0.0",
|
|
315
|
-
title: "Observe a running application or a test run",
|
|
316
|
-
description: 'Two ways to gather runtime evidence, chosen by "verb". "runtime": boot or attach to declared ' +
|
|
317
|
-
"services, watch them with a runtime adapter, and record what was witnessed as R4 graph edges " +
|
|
318
|
-
'— the resolution level static analysis cannot reach. "tests": run the project\'s test suite ' +
|
|
319
|
-
"and record which TEST_CASE nodes actually ran, needing no application booted. Both take a " +
|
|
320
|
-
"two-call confirmation: the first call performs nothing and returns a confirmToken describing " +
|
|
321
|
-
"what it would do; call again with confirmToken to run it. " +
|
|
322
|
-
'"runtime" before calling: this observes an app you can already run — it does not get you to a ' +
|
|
323
|
-
"runnable state (dependencies, env, migrations are yours to prepare). Overriding some env vars " +
|
|
324
|
-
"does not isolate the run from the app's own config file — anything unoverridden is still read " +
|
|
325
|
-
"from it, including values naming other environments.",
|
|
326
|
-
inputSchema: SCHEMA,
|
|
327
|
-
run,
|
|
328
|
-
describeAction,
|
|
329
|
-
};
|
|
330
|
-
//# sourceMappingURL=observe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/tools/observe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `pr-analysis` — "what should I test before I open this PR?"
|
|
3
|
-
*
|
|
4
|
-
* The blast radius of a diff, intersected with the tests that cover it. The
|
|
5
|
-
* useful half of the answer is the second list: **what is affected and has no
|
|
6
|
-
* covering test.** A green suite proves nothing about that set, and it is the
|
|
7
|
-
* only part of a PR review that a test run cannot supply.
|
|
8
|
-
*
|
|
9
|
-
* ## `base...head`, three dots
|
|
10
|
-
*
|
|
11
|
-
* `changedFiles` diffs against the merge base rather than the two tips. On a
|
|
12
|
-
* branch a week behind `main`, two dots would fold every change made on `main`
|
|
13
|
-
* since the branch point into "this PR", and the blast radius would belong to
|
|
14
|
-
* somebody else's work. This is stated here as well as at the git call because
|
|
15
|
-
* it is the kind of thing that gets "simplified" later.
|
|
16
|
-
*
|
|
17
|
-
* ## Absence of a test is not evidence of absence
|
|
18
|
-
*
|
|
19
|
-
* `TESTS` edges come from adapters, and every adapter's recall is below 100% by
|
|
20
|
-
* design — precision over recall, when in doubt omit the edge. So "no covering
|
|
21
|
-
* test" means "no test that this graph can link", and the difference is
|
|
22
|
-
* disclosed. Reporting the untested list without it would turn a measured recall
|
|
23
|
-
* gap into a confident accusation.
|
|
24
|
-
*
|
|
25
|
-
* ## One node map, three id lists
|
|
26
|
-
*
|
|
27
|
-
* `affected`, `untested` and `tests` overlap heavily by construction — an
|
|
28
|
-
* affected node with no covering test is in two of them — and each used to
|
|
29
|
-
* carry the whole node inline, so the same fields were serialized up to three
|
|
30
|
-
* times in one reply. `indexPrAnalysisNodes` collapses that: the lists name
|
|
31
|
-
* ids, `nodes` holds each node once. Tool version 2.0.0 for it.
|
|
32
|
-
*/
|
|
33
|
-
import { type BriefNode, type ToolDefinition } from "./kit.ts";
|
|
34
|
-
/**
|
|
35
|
-
* A node in the change's blast radius, named by id into `nodes`.
|
|
36
|
-
*
|
|
37
|
-
* It used to carry the whole node inline, and so did `untested` and `tests` —
|
|
38
|
-
* three lists over one heavily-overlapping population, every member
|
|
39
|
-
* serialized up to three times. An affected node with no covering test is in
|
|
40
|
-
* two of them by construction, which is the normal case rather than the
|
|
41
|
-
* unusual one, so the duplication scaled with exactly the answer a caller
|
|
42
|
-
* most wants. One map, three id lists.
|
|
43
|
-
*/
|
|
44
|
-
export interface AffectedRef {
|
|
45
|
-
readonly id: string;
|
|
46
|
-
readonly score: number;
|
|
47
|
-
readonly depth: number;
|
|
48
|
-
/** 1-based position in this answer, highest score first. */
|
|
49
|
-
readonly rank: number;
|
|
50
|
-
/**
|
|
51
|
-
* `top` / `notable` / `rest` by rank, never by an absolute score threshold.
|
|
52
|
-
* This score is `weightedBfs`'s confidence decay — `changeRisk` passes only a
|
|
53
|
-
* budget, so it takes the default `weightFor` — and §12.7's tiers were
|
|
54
|
-
* calibrated against `scoping/`'s designed weights instead. See
|
|
55
|
-
* `prominence.ts`'s header for why reusing them here would be a calibrated
|
|
56
|
-
* label on an uncalibrated number.
|
|
57
|
-
*/
|
|
58
|
-
readonly prominence: "top" | "notable" | "rest";
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* The three lists and the one node map they name into.
|
|
62
|
-
*
|
|
63
|
-
* `nodes` holds each node once, whichever lists mention it. A caller reads a
|
|
64
|
-
* list, then looks each id up — never the reverse, and never by scanning.
|
|
65
|
-
*/
|
|
66
|
-
export interface PrAnalysisLists {
|
|
67
|
-
readonly nodes: Readonly<Record<string, BriefNode>>;
|
|
68
|
-
readonly affected: readonly AffectedRef[];
|
|
69
|
-
readonly untested: readonly string[];
|
|
70
|
-
readonly tests: readonly string[];
|
|
71
|
-
}
|
|
72
|
-
/** What `briefNode` accepts — the graph-node shape these three lists arrive as. */
|
|
73
|
-
interface IndexableNode {
|
|
74
|
-
readonly id: string;
|
|
75
|
-
readonly type: string;
|
|
76
|
-
readonly name: string;
|
|
77
|
-
readonly file: string | null;
|
|
78
|
-
readonly range: {
|
|
79
|
-
readonly startLine: number;
|
|
80
|
-
readonly endLine: number;
|
|
81
|
-
} | null;
|
|
82
|
-
readonly language: string | null;
|
|
83
|
-
readonly resolution: number;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Collapse three overlapping node lists into one map plus three id lists.
|
|
87
|
-
*
|
|
88
|
-
* Order within each list is preserved exactly — it is the ranking the query
|
|
89
|
-
* layer produced, and re-sorting it here would silently change which nodes a
|
|
90
|
-
* caller's own `limit` keeps.
|
|
91
|
-
*/
|
|
92
|
-
export declare function indexPrAnalysisNodes(affected: readonly {
|
|
93
|
-
readonly node: IndexableNode;
|
|
94
|
-
readonly score: number;
|
|
95
|
-
readonly depth: number;
|
|
96
|
-
}[], untested: readonly IndexableNode[], tests: readonly IndexableNode[]): PrAnalysisLists;
|
|
97
|
-
/** Shared by every branch: what was diffed, and what came out of git. */
|
|
98
|
-
export interface PrAnalysisRange {
|
|
99
|
-
/**
|
|
100
|
-
* Which change set this answer is about — declared by the caller.
|
|
101
|
-
*
|
|
102
|
-
* `range` is `base...head`. `working-tree` is the change as it stands,
|
|
103
|
-
* uncommitted. Stated because the two answer different questions and a reply
|
|
104
|
-
* that did not say which one it answered would be readable as either — which
|
|
105
|
-
* is precisely how a composite came to describe 25 committed files under a
|
|
106
|
-
* headline about the 2 uncommitted ones passed to it.
|
|
107
|
-
*/
|
|
108
|
-
readonly mode: "range" | "working-tree";
|
|
109
|
-
/** Null in working-tree mode: there is no second ref to compare against. */
|
|
110
|
-
readonly base: string | null;
|
|
111
|
-
readonly head: string | null;
|
|
112
|
-
/** Present in working-tree mode only. */
|
|
113
|
-
readonly workingTree?: {
|
|
114
|
-
readonly scope: "unstaged" | "staged" | "all";
|
|
115
|
-
readonly includeUntracked: boolean;
|
|
116
|
-
};
|
|
117
|
-
/** Paths in `base...head` — three dots, so somebody else's work on base is not folded in. */
|
|
118
|
-
readonly files: readonly string[];
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* git rejected the range, so nothing downstream ran.
|
|
122
|
-
*
|
|
123
|
-
* The narrowest of the four shapes, and the tell is what is absent: no
|
|
124
|
-
* `missing`, because no path was ever looked up. Narrow on `!("affected" in data)`.
|
|
125
|
-
*/
|
|
126
|
-
export type PrAnalysisGitFailure = PrAnalysisRange;
|
|
127
|
-
/**
|
|
128
|
-
* The diff is empty. A real answer: there is nothing to assess.
|
|
129
|
-
*
|
|
130
|
-
* The three lists are present and empty on purpose — the absence here **is**
|
|
131
|
-
* a fact about the change. No `missing`, because there was nothing to resolve.
|
|
132
|
-
*/
|
|
133
|
-
export interface PrAnalysisEmptyDiff extends PrAnalysisRange, PrAnalysisLists {
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* The diff resolved to no graph node at all, so no blast radius was computed.
|
|
137
|
-
*
|
|
138
|
-
* Distinguished from `PrAnalysisEmptyDiff` by `missing`, which names every
|
|
139
|
-
* path the graph has never heard of. The empty lists here mean *nothing was
|
|
140
|
-
* examined* rather than *nothing is affected*.
|
|
141
|
-
*/
|
|
142
|
-
export interface PrAnalysisUnresolved extends PrAnalysisEmptyDiff {
|
|
143
|
-
readonly missing: readonly string[];
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* The full answer.
|
|
147
|
-
*
|
|
148
|
-
* `untested` is the half a test run cannot supply, and it means *no test is
|
|
149
|
-
* linked to the node in this graph* — adapters omit an edge they cannot prove,
|
|
150
|
-
* so a genuinely covered symbol can appear here. A gap to check, never a
|
|
151
|
-
* proven hole. Narrow on `"changedSymbols" in data`.
|
|
152
|
-
*/
|
|
153
|
-
export interface PrAnalysisReport extends PrAnalysisRange, PrAnalysisLists {
|
|
154
|
-
readonly missing: readonly string[];
|
|
155
|
-
/**
|
|
156
|
-
* Nodes whose declared range actually intersects an added line in the diff
|
|
157
|
-
* (F5, UAT Phase 5) — the honest reading of "changed symbol". Previously
|
|
158
|
-
* this field held `symbolsInChangedFiles` under this name: every node whose
|
|
159
|
-
* *file* was touched, whether or not the diff's hunks came near it — a
|
|
160
|
-
* `useMemo` edit measured as "43 changed symbols" for a two-hunk change,
|
|
161
|
-
* which then over-seeded blast radius from every symbol in every touched
|
|
162
|
-
* file. A node with no known range (a git-history-only symbol, or one in a
|
|
163
|
-
* file whose patch was withheld by the diff's own size budget) cannot be
|
|
164
|
-
* proven to intersect anything and is never counted here — rule 2: an
|
|
165
|
-
* unprovable membership is omitted from the strong claim, not assumed into
|
|
166
|
-
* it. A wholly deleted file's symbols are counted here as 0 for the same
|
|
167
|
-
* reason (a deletion has no added lines to intersect), never as a false "no
|
|
168
|
-
* symbols changed" — they remain in `symbolsInChangedFiles` and still seed
|
|
169
|
-
* the blast radius below.
|
|
170
|
-
*/
|
|
171
|
-
readonly changedSymbols: number;
|
|
172
|
-
/**
|
|
173
|
-
* Every node declared in a touched file, regardless of which lines moved —
|
|
174
|
-
* what `changedSymbols` used to be called. Genuinely useful for "what else
|
|
175
|
-
* lives here", a different question from "what changed", and this is what
|
|
176
|
-
* blast radius still seeds from: a line-precise seed set would silently
|
|
177
|
-
* lose a deleted file's symbols (a deletion has no added lines to
|
|
178
|
-
* intersect) and any file whose patch was withheld by the diff's size
|
|
179
|
-
* budget, both real, common cases this tool must not go blind to.
|
|
180
|
-
*/
|
|
181
|
-
readonly symbolsInChangedFiles: number;
|
|
182
|
-
readonly affectedTotal: number;
|
|
183
|
-
readonly untestedTotal: number;
|
|
184
|
-
readonly testsTotal: number;
|
|
185
|
-
}
|
|
186
|
-
export type PrAnalysisData = PrAnalysisGitFailure | PrAnalysisEmptyDiff | PrAnalysisUnresolved | PrAnalysisReport;
|
|
187
|
-
export declare const prAnalysisTool: ToolDefinition;
|
|
188
|
-
export {};
|
|
189
|
-
//# sourceMappingURL=pr-analysis.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pr-analysis.d.ts","sourceRoot":"","sources":["../../src/tools/pr-analysis.ts"],"names":[],"mappings":"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"}
|