@descryy/mcp 0.11.3 → 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 +20 -20
- 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 -570
- 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 -1479
- 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 -143
- 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 -17
- package/dist/capped.d.ts.map +0 -1
- package/dist/capped.js +0 -15
- 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 -319
- package/dist/registry.js.map +0 -1
- package/dist/render.d.ts +0 -580
- package/dist/render.d.ts.map +0 -1
- package/dist/render.js +0 -867
- 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 -541
- package/dist/server.js.map +0 -1
- package/dist/session.d.ts +0 -243
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -602
- 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 -206
- 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 -622
- 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 -416
- 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 -321
- 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 -288
- 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 -364
- 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 -86
- 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 -250
- package/dist/tools/observe-runtime.d.ts.map +0 -1
- package/dist/tools/observe-runtime.js +0 -1753
- 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 -299
- 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 -103
- 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 -186
- 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 -179
- 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 -442
- 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
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `contracts` — path half (name-level, R2→A) runs today; shape half (§13)
|
|
3
|
-
* needs producer-attached shapes, reporting `refused` with named blockers
|
|
4
|
-
* rather than an empty list. `defect` is provable here alone; `lead` is not.
|
|
5
|
-
*/
|
|
6
|
-
import type { ContractCheck, ContractClaim, ContractFindingKind, EndpointKey, NearMissKind, ShapeDifference, ShapeDirection } from "@descryy/core";
|
|
7
|
-
import type { ResolutionLevel } from "@descryy/ir";
|
|
8
|
-
import { type BriefNode, type ToolDefinition } from "./kit.ts";
|
|
9
|
-
/** A call that reaches no route, or a route nothing calls. */
|
|
10
|
-
export interface ContractPathFinding {
|
|
11
|
-
readonly kind: ContractFindingKind;
|
|
12
|
-
/** `defect` (provable from this graph alone) or `lead` (needs outside knowledge) — see module header. */
|
|
13
|
-
readonly claim: ContractClaim;
|
|
14
|
-
/** 1-based position in this answer. See {@link ContractPathFinding.prominence} for what orders it. */
|
|
15
|
-
readonly rank: number;
|
|
16
|
-
/** `top`/`notable`/`rest`, ordered by evidence strength (own `resolution`), not `claim` — a claim-based ranking would be judgement dressed as measurement. */
|
|
17
|
-
readonly prominence: "top" | "notable" | "rest";
|
|
18
|
-
readonly method: string;
|
|
19
|
-
/** The normalised path template, not the raw literal. */
|
|
20
|
-
readonly path: string;
|
|
21
|
-
readonly detail: string;
|
|
22
|
-
/** Lowest resolution among the edges this finding rests on. Caps its class. */
|
|
23
|
-
readonly resolution: ResolutionLevel;
|
|
24
|
-
/** Absent when nothing resembles this endpoint on the other side — that gap is disclosed as unanalysed, never reported broken (typo vs. an outside service). */
|
|
25
|
-
readonly nearMiss?: {
|
|
26
|
-
readonly kind: NearMissKind;
|
|
27
|
-
readonly against: EndpointKey;
|
|
28
|
-
};
|
|
29
|
-
/** Capped at five. Populated for a call that reaches no route. */
|
|
30
|
-
readonly callers: readonly BriefNode[];
|
|
31
|
-
/** Capped at five. Populated for a route nothing calls. */
|
|
32
|
-
readonly routes: readonly BriefNode[];
|
|
33
|
-
}
|
|
34
|
-
/** A field one side reads that the other does not send. Requires R3. */
|
|
35
|
-
export interface ContractShapeMismatchReport {
|
|
36
|
-
readonly endpoint: string;
|
|
37
|
-
readonly direction: ShapeDirection;
|
|
38
|
-
/** The side a missing field breaks. */
|
|
39
|
-
readonly reader: BriefNode;
|
|
40
|
-
/** The side that declares the shape. */
|
|
41
|
-
readonly writer: BriefNode;
|
|
42
|
-
readonly differences: readonly ShapeDifference[];
|
|
43
|
-
readonly resolution: ResolutionLevel;
|
|
44
|
-
/** Always `"defect"` — see the module header. Carried rather than assumed by a caller. */
|
|
45
|
-
readonly claim: ContractClaim;
|
|
46
|
-
}
|
|
47
|
-
/** Shape half's own status, carried in the payload not the envelope; the reply is `ok` when only the path half ran so a real finding isn't hidden behind a caveat. `ran`/`blockers` carry the status. */
|
|
48
|
-
export interface ContractShapeStatus {
|
|
49
|
-
readonly ran: boolean;
|
|
50
|
-
readonly comparable: number;
|
|
51
|
-
/** Endpoints with a shape on the consumer side only. */
|
|
52
|
-
readonly consumerOnly: number;
|
|
53
|
-
/** Endpoints with a shape on the provider side only. */
|
|
54
|
-
readonly providerOnly: number;
|
|
55
|
-
/** Routes naming a DTO with no request/response role, so direction is unknown. */
|
|
56
|
-
readonly unroledDtos: number;
|
|
57
|
-
/** Never empty when `ran` is false. */
|
|
58
|
-
readonly blockers: readonly string[];
|
|
59
|
-
}
|
|
60
|
-
/** One shape, always. `checked` counts describe the whole graph even when filtered — a shrinking denominator would make a narrow query look healthy; the two lists describe the filter. */
|
|
61
|
-
export interface ContractsData {
|
|
62
|
-
readonly findings: readonly ContractPathFinding[];
|
|
63
|
-
readonly shapeMismatches: readonly ContractShapeMismatchReport[];
|
|
64
|
-
readonly checked: ContractCheck["paths"]["checked"];
|
|
65
|
-
readonly shapes: ContractShapeStatus;
|
|
66
|
-
/** Unmatched callers with nothing resembling them on the provider side — not findings, the size of the region this analysis couldn't speak about. */
|
|
67
|
-
readonly unmatchedWithoutNearMiss: number;
|
|
68
|
-
/** `findings` plus `shapeMismatches` with `claim === "defect"`. What a git hook should branch on. */
|
|
69
|
-
readonly defects: number;
|
|
70
|
-
/** `findings` with `claim === "lead"` — worth a look, never counted as blocking. */
|
|
71
|
-
readonly leads: number;
|
|
72
|
-
}
|
|
73
|
-
export declare const contractsTool: ToolDefinition;
|
|
74
|
-
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/tools/contracts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAU,eAAe,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAGlB,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,yGAAyG;IACzG,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,sGAAsG;IACtG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8JAA8J;IAC9J,QAAQ,CAAC,UAAU,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,gKAAgK;IAChK,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IACnF,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC;AAED,wEAAwE;AACxE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B;AAED,yMAAyM;AACzM,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,2LAA2L;AAC3L,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAClD,QAAQ,CAAC,eAAe,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACjE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,qJAAqJ;IACrJ,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,qGAAqG;IACrG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAiND,eAAO,MAAM,aAAa,EAAE,cAe3B,CAAC"}
|
package/dist/tools/contracts.js
DELETED
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `contracts` — path half (name-level, R2→A) runs today; shape half (§13)
|
|
3
|
-
* needs producer-attached shapes, reporting `refused` with named blockers
|
|
4
|
-
* rather than an empty list. `defect` is provable here alone; `lead` is not.
|
|
5
|
-
*/
|
|
6
|
-
import { checkContracts, withProminence } from "@descryy/core";
|
|
7
|
-
import { briefNode, optionalInteger, optionalStringArray, } from "./kit.js";
|
|
8
|
-
const SCHEMA = {
|
|
9
|
-
type: "object",
|
|
10
|
-
properties: {
|
|
11
|
-
paths: {
|
|
12
|
-
type: "array",
|
|
13
|
-
items: { type: "string" },
|
|
14
|
-
description: "Restrict the report to endpoints whose normalised path template contains one of these " +
|
|
15
|
-
"substrings, e.g. \"/orders\". Matching zero endpoints is reported as empty, not clean.",
|
|
16
|
-
},
|
|
17
|
-
files: {
|
|
18
|
-
type: "array",
|
|
19
|
-
items: { type: "string" },
|
|
20
|
-
description: "Restrict the report to findings touching these repo-relative source files — e.g. what a " +
|
|
21
|
-
"git hook is about to push. A finding is kept when any caller, route, or (for a shape " +
|
|
22
|
-
"mismatch) reader/writer node's file is in this set.",
|
|
23
|
-
},
|
|
24
|
-
pathsOnly: {
|
|
25
|
-
type: "boolean",
|
|
26
|
-
description: "Skip the shape comparison. Faster, and the honest choice for a pre-push run on a graph " +
|
|
27
|
-
"with no type checker behind it.",
|
|
28
|
-
},
|
|
29
|
-
maxFindings: {
|
|
30
|
-
type: "integer",
|
|
31
|
-
minimum: 1,
|
|
32
|
-
description: "Cap on path findings returned. Default 25; overflow is disclosed, not dropped.",
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
additionalProperties: false,
|
|
36
|
-
};
|
|
37
|
-
/** True when at least one of `nodes` has a `file` in `scope`. No scope given means every node passes. */
|
|
38
|
-
function touchesFiles(nodes, scope) {
|
|
39
|
-
return scope === undefined || nodes.some((n) => n.file !== null && scope.includes(n.file));
|
|
40
|
-
}
|
|
41
|
-
async function run(args, ctx) {
|
|
42
|
-
const filters = optionalStringArray(args, "paths");
|
|
43
|
-
const fileScope = optionalStringArray(args, "files");
|
|
44
|
-
const maxFindings = optionalInteger(args, "maxFindings", 1);
|
|
45
|
-
const pathsOnly = args["pathsOnly"] === true;
|
|
46
|
-
const provider = ctx.session.provider();
|
|
47
|
-
ctx.progress("Matching callers against routes");
|
|
48
|
-
const checked = checkContracts(provider, {
|
|
49
|
-
...(maxFindings === undefined ? {} : { maxFindings }),
|
|
50
|
-
...(pathsOnly ? { pathsOnly: true } : {}),
|
|
51
|
-
});
|
|
52
|
-
const { paths, shapes } = checked.data;
|
|
53
|
-
const notes = [...checked.notes];
|
|
54
|
-
// Filtering happens after the check so the counts describe the whole graph
|
|
55
|
-
// — a shrinking denominator would make a narrow query look healthy.
|
|
56
|
-
const matchesPath = (template) => filters === undefined || filters.some((f) => template.includes(f));
|
|
57
|
-
const findings = paths.findings.filter((f) => matchesPath(f.pathTemplate) && touchesFiles([...f.callers, ...f.routes], fileScope));
|
|
58
|
-
const mismatches = shapes.mismatches.filter((m) => matchesPath(String(m.endpoint.attrs["pathTemplate"] ?? m.endpoint.name)) &&
|
|
59
|
-
touchesFiles([m.reader, m.writer], fileScope));
|
|
60
|
-
if (filters !== undefined) {
|
|
61
|
-
notes.push(`Filtered to endpoints matching ${filters.map((f) => `"${f}"`).join(", ")}. The counts ` +
|
|
62
|
-
"below describe the whole graph; the lists describe the filter.");
|
|
63
|
-
}
|
|
64
|
-
if (fileScope !== undefined) {
|
|
65
|
-
notes.push(`Filtered to findings touching ${fileScope.length} named file(s). The counts below describe ` +
|
|
66
|
-
"the whole graph; the lists describe the filter.");
|
|
67
|
-
}
|
|
68
|
-
// A `paths` filter matching zero endpoints means it named something never
|
|
69
|
-
// parsed as a route/endpoint — a different claim than "checked, fine."
|
|
70
|
-
// API_ROUTE is checked too: an unmounted route has no API_ENDPOINT at all.
|
|
71
|
-
let pathsMatchedNothing = false;
|
|
72
|
-
if (filters !== undefined) {
|
|
73
|
-
const endpoints = provider.nodesOfType("API_ENDPOINT");
|
|
74
|
-
const routes = provider.nodesOfType("API_ROUTE");
|
|
75
|
-
const matched = (n) => matchesPath(String(n.attrs["pathTemplate"] ?? n.name));
|
|
76
|
-
pathsMatchedNothing = !endpoints.nodes.some(matched) && !routes.nodes.some(matched);
|
|
77
|
-
}
|
|
78
|
-
const defects = findings.filter((f) => f.claim === "defect").length + mismatches.length;
|
|
79
|
-
const leads = findings.filter((f) => f.claim === "lead").length;
|
|
80
|
-
if (findings.length > 0) {
|
|
81
|
-
notes.push("findings are ranked by evidence strength — their own resolution, strongest first — not by " +
|
|
82
|
-
"claim. A call reaching no route and a route nothing calls can each rest on strong or weak " +
|
|
83
|
-
"evidence; which of them is a defect versus a lead is a separate axis (claim), not a ranking.");
|
|
84
|
-
}
|
|
85
|
-
// Zero API_ENDPOINT nodes usually means nothing to check — but not when the
|
|
86
|
-
// mount check found an independent ROUTE_NOT_MOUNTED finding with no
|
|
87
|
-
// endpoint in the graph; refusing then would bury a real finding.
|
|
88
|
-
const nothingToCheck = paths.checked.endpoints === 0 && paths.findingsTotal === 0;
|
|
89
|
-
// MK-7: graded on `claim` — a lead is worth a look; a defect is provable
|
|
90
|
-
// from this graph alone (`nearMiss` keeps a mere typo out of the count).
|
|
91
|
-
const verdict = defects > 0
|
|
92
|
-
? `${defects} defect(s) found`
|
|
93
|
-
: leads > 0
|
|
94
|
-
? `No defects; ${leads} lead(s) to review`
|
|
95
|
-
: "Clean at path level";
|
|
96
|
-
// render.ts refuses a `truncated` answer with no `truncatedDetail`, so this
|
|
97
|
-
// must be supplied whenever `checked.truncated` is set; `total` is the
|
|
98
|
-
// whole unfiltered graph, an honest upper bound on `shown`.
|
|
99
|
-
const truncatedDetail = checked.truncated
|
|
100
|
-
? { shown: findings.length, total: Math.max(paths.findingsTotal, findings.length), more: null }
|
|
101
|
-
: undefined;
|
|
102
|
-
return {
|
|
103
|
-
result: {
|
|
104
|
-
...checked,
|
|
105
|
-
data: {
|
|
106
|
-
findings: withProminence(
|
|
107
|
-
// Sorted before ranking, because `withProminence` deliberately does
|
|
108
|
-
// not sort: rank must follow the order the reply actually reports.
|
|
109
|
-
// Ties keep the checker's own order, which is stable.
|
|
110
|
-
[...findings]
|
|
111
|
-
.sort((a, b) => b.resolution - a.resolution)
|
|
112
|
-
.map((f) => ({
|
|
113
|
-
kind: f.kind,
|
|
114
|
-
// Whether this asserts a fault. Carried as a field because the
|
|
115
|
-
// sentence below already said it and nothing could read prose.
|
|
116
|
-
claim: f.claim,
|
|
117
|
-
method: f.method,
|
|
118
|
-
path: f.pathTemplate,
|
|
119
|
-
detail: f.detail,
|
|
120
|
-
resolution: f.resolution,
|
|
121
|
-
...(f.nearMiss === null
|
|
122
|
-
? {}
|
|
123
|
-
: { nearMiss: { kind: f.nearMiss.kind, against: f.nearMiss.against } }),
|
|
124
|
-
callers: f.callers.slice(0, 5).map(briefNode),
|
|
125
|
-
routes: f.routes.slice(0, 5).map(briefNode),
|
|
126
|
-
}))),
|
|
127
|
-
shapeMismatches: mismatches.map((m) => ({
|
|
128
|
-
endpoint: m.endpoint.name,
|
|
129
|
-
direction: m.direction,
|
|
130
|
-
reader: briefNode(m.reader),
|
|
131
|
-
writer: briefNode(m.writer),
|
|
132
|
-
differences: m.differences,
|
|
133
|
-
resolution: m.resolution,
|
|
134
|
-
// A field the reading side needs and the writing side does not
|
|
135
|
-
// supply. There is no benign reading of that, so every mismatch is a
|
|
136
|
-
// fault claim — unlike an uncalled route, whose usual explanation is
|
|
137
|
-
// a consumer outside the graph.
|
|
138
|
-
claim: m.claim,
|
|
139
|
-
})),
|
|
140
|
-
checked: paths.checked,
|
|
141
|
-
shapes: {
|
|
142
|
-
ran: shapes.ran,
|
|
143
|
-
comparable: shapes.comparable,
|
|
144
|
-
consumerOnly: shapes.consumerOnly,
|
|
145
|
-
providerOnly: shapes.providerOnly,
|
|
146
|
-
unroledDtos: shapes.unroledDtos,
|
|
147
|
-
blockers: shapes.blockers,
|
|
148
|
-
},
|
|
149
|
-
unmatchedWithoutNearMiss: paths.unmatchedWithoutNearMiss,
|
|
150
|
-
defects,
|
|
151
|
-
leads,
|
|
152
|
-
},
|
|
153
|
-
notes: pathsMatchedNothing
|
|
154
|
-
? [
|
|
155
|
-
`0 endpoint(s) matched ${(filters ?? []).map((f) => `"${f}"`).join(", ")}. Nothing in ` +
|
|
156
|
-
"this graph was parsed as a route or endpoint under that filter, so there is nothing " +
|
|
157
|
-
"for \"clean\" to describe — this is not a statement about whether the endpoint you " +
|
|
158
|
-
"meant is correct.",
|
|
159
|
-
...notes,
|
|
160
|
-
]
|
|
161
|
-
: notes,
|
|
162
|
-
},
|
|
163
|
-
// A path finding is a name-level claim (R2 fully supports); a shape
|
|
164
|
-
// mismatch is not — `engine.ts` caps each individually. This flags the
|
|
165
|
-
// answer's own headline claim, the path half.
|
|
166
|
-
nameLevel: true,
|
|
167
|
-
...(truncatedDetail === undefined ? {} : { truncatedDetail }),
|
|
168
|
-
...(nothingToCheck
|
|
169
|
-
? { state: "refused" }
|
|
170
|
-
: pathsMatchedNothing
|
|
171
|
-
? { state: "empty" }
|
|
172
|
-
: {}),
|
|
173
|
-
headline: nothingToCheck
|
|
174
|
-
? "No API endpoints are in the graph, so there is no contract to check."
|
|
175
|
-
: pathsMatchedNothing
|
|
176
|
-
? `0 endpoint(s) matched this filter. Not checked, not clean.`
|
|
177
|
-
: `${verdict}. ${paths.checked.joined} of ${paths.checked.endpoints} endpoint(s) have both ` +
|
|
178
|
-
`a caller and a route${shapes.ran ? "" : "; request and response shapes were not compared"}.`,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
export const contractsTool = {
|
|
182
|
-
name: "contracts",
|
|
183
|
-
class: "read",
|
|
184
|
-
tier: "conclusion",
|
|
185
|
-
version: "1.0.0",
|
|
186
|
-
title: "Frontend/backend contract mismatches",
|
|
187
|
-
description: "Match every API caller against the route that serves it. Reports calls that reach no route " +
|
|
188
|
-
"and routes nothing calls, and — when both sides declare a shape — fields one side reads that " +
|
|
189
|
-
"the other does not send. A call with nothing resembling it on the provider side is disclosed " +
|
|
190
|
-
"as unanalysed rather than reported as broken, because the usual cause is a service outside " +
|
|
191
|
-
"this graph. Shape comparison requires R3 and is reported as not-run, with the reason, when " +
|
|
192
|
-
"the producers do not supply shapes.",
|
|
193
|
-
inputSchema: SCHEMA,
|
|
194
|
-
run,
|
|
195
|
-
};
|
|
196
|
-
//# sourceMappingURL=contracts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/tools/contracts.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/cross-pr.d.ts
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `cross-pr` — "what does this change collide with, that reading the diff alone
|
|
3
|
-
* would not show?"
|
|
4
|
-
*
|
|
5
|
-
* §14's multi-PR engine, at the protocol level. Four checks exist behind it,
|
|
6
|
-
* for a reason worth stating rather than discovering: a check is available
|
|
7
|
-
* exactly when something already produces its input.
|
|
8
|
-
*
|
|
9
|
-
* | check | § | input | today |
|
|
10
|
-
* | --- | --- | --- | --- |
|
|
11
|
-
* | hidden dependency | 14.8 | `CHANGES_WITH` edges, already in the graph | **runs** |
|
|
12
|
-
* | overlap scoring | 14.3 | stored PR scopes | **runs, over whatever is stored** |
|
|
13
|
-
* | superseded | 14.5 | git blob ids at head and at base's tip | **runs** |
|
|
14
|
-
* | migration heads | 14.6 | base's and head's migration files, read directly from git | **runs** |
|
|
15
|
-
*
|
|
16
|
-
* §14.8 is first because it is the one that costs nothing: the edges already
|
|
17
|
-
* exist, it needs no per-PR storage, and it works at R0 in any language with no
|
|
18
|
-
* adapter beyond file paths. For a repository whose language has no adapter at
|
|
19
|
-
* all, this is the check that still fires.
|
|
20
|
-
*
|
|
21
|
-
* **Migration heads answers the diff-precise question this section once said
|
|
22
|
-
* was out of scope for an MCP tool call** — `readMigrationsAcrossChange`
|
|
23
|
-
* (`sources/migrations/across-change.ts`) reads base's and head's migration
|
|
24
|
-
* files directly with `git ls-tree`/`git show`, so it needs no language
|
|
25
|
-
* adapter and no re-resolution of the graph against two commits. `ran` is
|
|
26
|
-
* false only when neither side has a migration format this producer
|
|
27
|
-
* recognises — never because a producer has not run yet.
|
|
28
|
-
*
|
|
29
|
-
* ## Why a check that still cannot run is declared rather than omitted
|
|
30
|
-
*
|
|
31
|
-
* `contracts.ts` set this precedent and the reasoning transfers unchanged: a
|
|
32
|
-
* tool that silently offers three of four checks lets a caller read "nothing
|
|
33
|
-
* found" as "nothing there". A blocked check names the producer it is
|
|
34
|
-
* waiting for, so the gap is actionable rather than mysterious.
|
|
35
|
-
*
|
|
36
|
-
* ## Everything here is Class C and that is not a defect to be fixed
|
|
37
|
-
*
|
|
38
|
-
* Co-change is evidence about **people**, not program structure — a pair that
|
|
39
|
-
* moved together two hundred times is a stronger hint and is still a hint. The
|
|
40
|
-
* checks compute their own reliability rather than being told it, and each
|
|
41
|
-
* finding carries the sentence that must travel with it. A caller rendering
|
|
42
|
-
* these as defects has broken principle 4 at the last gate. Migration heads is
|
|
43
|
-
* the one exception worth naming: a genuine fork in the revision chain is
|
|
44
|
-
* closer to a defect than a hint, but it is left at Class C here too, because
|
|
45
|
-
* this check cannot yet tell a legitimate two-branch merge-in-progress from an
|
|
46
|
-
* actual conflict — that distinction is left to the migration-integrity
|
|
47
|
-
* checks in `validate`, which are provable from the graph alone.
|
|
48
|
-
*/
|
|
49
|
-
import type { DiffType, HiddenDependencyReport, MigrationsAcrossChange, IncomparablePair, NodeVerdict, OverlapFinding, SupersededReport } from "@descryy/core";
|
|
50
|
-
import type { ReliabilityClass } from "@descryy/ir";
|
|
51
|
-
import { type BriefNode, type ToolDefinition } from "./kit.ts";
|
|
52
|
-
/**
|
|
53
|
-
* A check whose input no producer writes yet.
|
|
54
|
-
*
|
|
55
|
-
* Declared rather than omitted, and `needs` says what would have to exist —
|
|
56
|
-
* a tool silently offering three of four checks lets a caller read "nothing
|
|
57
|
-
* found" as "nothing there".
|
|
58
|
-
*/
|
|
59
|
-
export interface BlockedCheck {
|
|
60
|
-
readonly check: string;
|
|
61
|
-
/** The architecture section that specifies it. */
|
|
62
|
-
readonly section: string;
|
|
63
|
-
readonly question: string;
|
|
64
|
-
readonly needs: string;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* A file that historically moves with the change and was not touched this time.
|
|
68
|
-
*
|
|
69
|
-
* Class C, always, and `disclosure` is the sentence that must travel with it:
|
|
70
|
-
* co-change is evidence about **people**, not program structure. A caller
|
|
71
|
-
* rendering this as a defect has broken principle 4 at the last gate.
|
|
72
|
-
*/
|
|
73
|
-
export interface HiddenDependencyFinding extends BriefNode {
|
|
74
|
-
readonly coupledTo: readonly {
|
|
75
|
-
readonly file: string | null;
|
|
76
|
-
readonly support: number;
|
|
77
|
-
}[];
|
|
78
|
-
readonly strongestSupport: number;
|
|
79
|
-
readonly reliability: ReliabilityClass;
|
|
80
|
-
readonly disclosure: string;
|
|
81
|
-
}
|
|
82
|
-
export interface HiddenDependencyCheck {
|
|
83
|
-
/** False when no changed file had a single CHANGES_WITH edge: the history was not read. */
|
|
84
|
-
readonly ran: boolean;
|
|
85
|
-
readonly findings: readonly HiddenDependencyFinding[];
|
|
86
|
-
/** The count before `limit` capped it — P27's disclosed remainder (§4 technique 5). */
|
|
87
|
-
readonly findingsTotal: number;
|
|
88
|
-
readonly checked: HiddenDependencyReport["checked"];
|
|
89
|
-
/** Changed paths with no FILE node. Nothing looked at them. */
|
|
90
|
-
readonly unresolvedChanged: readonly string[];
|
|
91
|
-
}
|
|
92
|
-
export interface OverlapCheck {
|
|
93
|
-
/** False when fewer than two stored scopes exist: no pair could be compared. */
|
|
94
|
-
readonly ran: boolean;
|
|
95
|
-
readonly scopesCompared: number;
|
|
96
|
-
readonly findings: readonly OverlapFinding[];
|
|
97
|
-
/** The count before `limit` capped it — P27's disclosed remainder (§4 technique 5). */
|
|
98
|
-
readonly findingsTotal: number;
|
|
99
|
-
/** Pairs refused before comparison. An incomparable pair and a clean pair look identical otherwise. */
|
|
100
|
-
readonly incomparable: readonly IncomparablePair[];
|
|
101
|
-
readonly checked: OverlapReportChecked;
|
|
102
|
-
}
|
|
103
|
-
/** Named separately because `OverlapReport` itself is not re-exported field by field. */
|
|
104
|
-
export type OverlapReportChecked = {
|
|
105
|
-
readonly scopes: number;
|
|
106
|
-
readonly pairs: number;
|
|
107
|
-
readonly pairsOverlapping: number;
|
|
108
|
-
readonly belowThreshold: number;
|
|
109
|
-
readonly incomparable: number;
|
|
110
|
-
};
|
|
111
|
-
export interface SupersededCheck {
|
|
112
|
-
/** False when there was nothing to compare — not the same as "not superseded". */
|
|
113
|
-
readonly ran: boolean;
|
|
114
|
-
readonly verdict: boolean;
|
|
115
|
-
readonly counts: SupersededReport["counts"];
|
|
116
|
-
readonly reliability: ReliabilityClass;
|
|
117
|
-
readonly disclosure: string;
|
|
118
|
-
/** Everything not already on base, so a reader sees what is left rather than what matched. */
|
|
119
|
-
readonly remaining: readonly {
|
|
120
|
-
/** Undefined for a comparison whose candidate carried no path. */
|
|
121
|
-
readonly file: string | undefined;
|
|
122
|
-
readonly diffType: DiffType;
|
|
123
|
-
readonly verdict: NodeVerdict;
|
|
124
|
-
}[];
|
|
125
|
-
}
|
|
126
|
-
/** git rejected the range: no diff-dependent check ran, and `blocked` is all there is to say. */
|
|
127
|
-
export interface CrossPrGitFailure {
|
|
128
|
-
readonly blocked: readonly BlockedCheck[];
|
|
129
|
-
readonly migrationHeads: MigrationHeadCheck;
|
|
130
|
-
}
|
|
131
|
-
/** The diff is empty. A real answer: there is nothing to collide with. */
|
|
132
|
-
export interface CrossPrEmptyDiff extends CrossPrGitFailure {
|
|
133
|
-
readonly changedFiles: number;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* §14.6 — the heads this merge would leave.
|
|
137
|
-
*
|
|
138
|
-
* The set is base's migrations plus this change's, because that is the set the
|
|
139
|
-
* migration runner sees after the merge. `ran` is false when neither side had a
|
|
140
|
-
* migration format this producer recognises, which is **not** the same as a
|
|
141
|
-
* clean answer: a repository whose framework declares no DAG cannot have this
|
|
142
|
-
* failure at all, and one whose files were unreadable simply was not read.
|
|
143
|
-
*/
|
|
144
|
-
export interface MigrationHeadCheck {
|
|
145
|
-
readonly ran: boolean;
|
|
146
|
-
/** Base's single head, or null when base has none or already forks. */
|
|
147
|
-
readonly baseHead: string | null;
|
|
148
|
-
/** At most one — either the merged set has a single head or it does not. */
|
|
149
|
-
readonly conflict: MigrationsAcrossChange["report"]["conflict"];
|
|
150
|
-
readonly dependencies: MigrationsAcrossChange["report"]["dependencies"];
|
|
151
|
-
readonly duplicateRevisions: MigrationsAcrossChange["report"]["duplicateRevisions"];
|
|
152
|
-
/** False when any parent list could not be read, so the DAG read is partial. */
|
|
153
|
-
readonly complete: boolean;
|
|
154
|
-
readonly checked: MigrationsAcrossChange["report"]["checked"];
|
|
155
|
-
/** Files declined, with the reason recorded rather than guessed. */
|
|
156
|
-
readonly refused: readonly {
|
|
157
|
-
file: string;
|
|
158
|
-
reason: string;
|
|
159
|
-
}[];
|
|
160
|
-
/**
|
|
161
|
-
* Well-formed migrations sitting where no migration tool looks.
|
|
162
|
-
*
|
|
163
|
-
* Reported separately from the head computation because they are not in it —
|
|
164
|
-
* the runner cannot see them either, so "the merge leaves one head" can be
|
|
165
|
-
* true and incomplete in the same breath.
|
|
166
|
-
*/
|
|
167
|
-
readonly misplaced: MigrationsAcrossChange["misplaced"];
|
|
168
|
-
}
|
|
169
|
-
export interface CrossPrReport extends CrossPrEmptyDiff {
|
|
170
|
-
readonly resolvedNodes: number;
|
|
171
|
-
readonly hiddenDependencies: HiddenDependencyCheck;
|
|
172
|
-
readonly overlaps: OverlapCheck;
|
|
173
|
-
readonly superseded: SupersededCheck;
|
|
174
|
-
readonly migrationHeads: MigrationHeadCheck;
|
|
175
|
-
}
|
|
176
|
-
export type CrossPrData = CrossPrGitFailure | CrossPrEmptyDiff | CrossPrReport;
|
|
177
|
-
export declare const crossPrTool: ToolDefinition;
|
|
178
|
-
//# sourceMappingURL=cross-pr.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cross-pr.d.ts","sourceRoot":"","sources":["../../src/tools/cross-pr.ts"],"names":[],"mappings":"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"}
|