@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,188 +0,0 @@
|
|
|
1
|
-
/** `mark_incident` — "that was a bug, I fixed it": the only incident-minting path with
|
|
2
|
-
* precision 1.0 (a person asserts it). Needed because automatic detection (reverts,
|
|
3
|
-
* `Fixes #123`) found zero incidents in 3 repos, and a fix-forward heuristic scored 25%
|
|
4
|
-
* against a 90% threshold and was refused. Stored in `.descry/config.json` (DEC-223,
|
|
5
|
-
* DEC-017 — derived tables don't survive rebuilds) and capped at class B; `action` class per DEC-278, gated by the `confirmToken` handshake. */
|
|
6
|
-
import { buildGraph, confirmedIncidentId, createConfirmedIncidentSource, evictStaleConfirmedIncidentNodes, nodesInFiles, persistGraph, } from "@descryy/core";
|
|
7
|
-
import { writeConfirmedIncident } from "../session.js";
|
|
8
|
-
import { answer, optionalString, optionalStringArray, requiredString, ToolInputError, } from "./kit.js";
|
|
9
|
-
const SCHEMA = {
|
|
10
|
-
type: "object",
|
|
11
|
-
properties: {
|
|
12
|
-
summary: {
|
|
13
|
-
type: "string",
|
|
14
|
-
description: "What broke, in your own words — one sentence. This becomes the incident's name and is " +
|
|
15
|
-
"matched against future failures, so describe the symptom rather than the fix " +
|
|
16
|
-
"(\"invoice totals doubled for multi-currency orders\", not \"corrected the rate lookup\").",
|
|
17
|
-
},
|
|
18
|
-
files: {
|
|
19
|
-
type: "array",
|
|
20
|
-
items: { type: "string" },
|
|
21
|
-
minItems: 1,
|
|
22
|
-
description: "Repo-relative paths the defect lived in. At least one. These are what make the incident " +
|
|
23
|
-
"findable later and what biases future blast radii toward this area, so name where the " +
|
|
24
|
-
"bug was, not every file the fix happened to touch.",
|
|
25
|
-
},
|
|
26
|
-
errorText: {
|
|
27
|
-
type: "string",
|
|
28
|
-
description: "The error or exception text as you saw it, if there was one. Optional, and worth giving: " +
|
|
29
|
-
"matching a future failure against real error text is what this corpus is for, and a " +
|
|
30
|
-
"commit subject line is a thin substitute.",
|
|
31
|
-
},
|
|
32
|
-
fixedAtCommit: {
|
|
33
|
-
type: "string",
|
|
34
|
-
description: "The commit that fixed it, if it is already committed. Optional — omit it rather than " +
|
|
35
|
-
"guessing, since recording a commit that did not fix this claims something you did not.",
|
|
36
|
-
},
|
|
37
|
-
confirmedBy: {
|
|
38
|
-
type: "string",
|
|
39
|
-
description: "Free text — who is asserting this. Defaults to \"user\".",
|
|
40
|
-
},
|
|
41
|
-
confirmToken: {
|
|
42
|
-
type: "string",
|
|
43
|
-
description: "The token returned by a previous call. Recording an incident takes two calls: the first " +
|
|
44
|
-
"returns a token and writes nothing, the second redeems it — with the arguments frozen when the " +
|
|
45
|
-
"token was minted, never whatever the second call supplies, so changing summary, files or any other " +
|
|
46
|
-
"field on the confirming call is discarded rather than applied, and the reply discloses that it " +
|
|
47
|
-
"was; call again without confirmToken for a fresh token if " +
|
|
48
|
-
"something needs to change. A token is single-use, expires, and is only valid for this tool.",
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
required: ["summary", "files"],
|
|
52
|
-
additionalProperties: false,
|
|
53
|
-
};
|
|
54
|
-
async function run(args, ctx) {
|
|
55
|
-
const { session } = ctx;
|
|
56
|
-
const summary = requiredString(args, "summary");
|
|
57
|
-
const files = optionalStringArray(args, "files");
|
|
58
|
-
if (files === undefined || files.length === 0) {
|
|
59
|
-
throw new ToolInputError('"files" must name at least one repo-relative path — an incident naming no file has nothing ' +
|
|
60
|
-
"to attach it to, and would be invisible to every query that looks for one");
|
|
61
|
-
}
|
|
62
|
-
const errorText = optionalString(args, "errorText");
|
|
63
|
-
const fixedAtCommit = optionalString(args, "fixedAtCommit");
|
|
64
|
-
const confirmedBy = optionalString(args, "confirmedBy") ?? "user";
|
|
65
|
-
const root = await session.root();
|
|
66
|
-
const recorded = {
|
|
67
|
-
repo: session.config.repo,
|
|
68
|
-
summary,
|
|
69
|
-
files: [...new Set(files)].sort(),
|
|
70
|
-
...(errorText === undefined ? {} : { errorText }),
|
|
71
|
-
...(fixedAtCommit === undefined ? {} : { fixedAtCommit }),
|
|
72
|
-
confirmedBy,
|
|
73
|
-
confirmedAt: new Date().toISOString(),
|
|
74
|
-
};
|
|
75
|
-
const driver = session.store().driver;
|
|
76
|
-
// Measured before the projection runs — it mints a FILE node for every named path, so
|
|
77
|
-
// asking after would always say "all in the graph", a tautology.
|
|
78
|
-
const { missing: filesNotInGraph } = nodesInFiles(driver, recorded.files);
|
|
79
|
-
ctx.progress(`Recording an incident in ${session.config.repo}`);
|
|
80
|
-
const written = await writeConfirmedIncident(session.repoPath, recorded);
|
|
81
|
-
// Projected now, not at next `analyze`, so the incident is visible in the conversation
|
|
82
|
-
// that recorded it (same reason `questions` merges its just-written fact into its own response).
|
|
83
|
-
ctx.progress("Projecting it into the graph");
|
|
84
|
-
const batch = await createConfirmedIncidentSource({
|
|
85
|
-
repo: session.config.repo,
|
|
86
|
-
// `written.records` — the already-deduped list on file — not
|
|
87
|
-
// `session.config.confirmedIncidents` plus `recorded`: when this call
|
|
88
|
-
// merged into an existing record, `recorded` alone would project a second
|
|
89
|
-
// `IRNode` sharing that record's id (UAT phase 5, F9).
|
|
90
|
-
incidents: written.records,
|
|
91
|
-
}).emit({ root });
|
|
92
|
-
const built = buildGraph([batch], { nodeExists: (id) => session.provider().node(id) !== undefined });
|
|
93
|
-
persistGraph(driver, [batch], built);
|
|
94
|
-
// `written.records` is the full, current list — the source no longer being
|
|
95
|
-
// resolved with a companion git-history batch, an incident deleted from
|
|
96
|
-
// config since the last write shares no file with any surviving one, and
|
|
97
|
-
// the shared writer's file-overlap eviction never fires for it. This is
|
|
98
|
-
// the "current run's node set" the deletion is measured against.
|
|
99
|
-
evictStaleConfirmedIncidentNodes(driver, batch.producedBy, new Set(built.nodes.filter((n) => n.producedBy === batch.producedBy).map((n) => n.id)));
|
|
100
|
-
const stamp = session.provider().baseStamp();
|
|
101
|
-
const notes = [
|
|
102
|
-
"Recorded as testimony, not as a reading of the repository. An edge resting on it is capped at " +
|
|
103
|
-
"reliability class B (DEC-223) however much structure surrounds it — one unaudited assertion " +
|
|
104
|
-
"is one unaudited assertion.",
|
|
105
|
-
`The durable record is ${written.path}, which is a file you can read and correct. The graph ` +
|
|
106
|
-
"holds a projection of it, re-derived by every analyze, so a rebuild never loses it.",
|
|
107
|
-
];
|
|
108
|
-
if (fixedAtCommit === undefined) {
|
|
109
|
-
notes.push("No fixing commit was named, so no FIX_PATTERN was minted and no FIXED_BY edge exists. " +
|
|
110
|
-
'"A defect existed" and "this commit fixed it" are separate claims and only the second ' +
|
|
111
|
-
"licenses that edge.");
|
|
112
|
-
}
|
|
113
|
-
if (filesNotInGraph.length > 0) {
|
|
114
|
-
notes.push(`${filesNotInGraph.length} of the named path(s) have no node in the graph ` +
|
|
115
|
-
`(${filesNotInGraph.slice(0, 5).join(", ")}). The incident is recorded and correlated to ` +
|
|
116
|
-
"them anyway — a developer naming a file Descry cannot read is a gap in Descry, not a " +
|
|
117
|
-
"mistake to discard. Run analyze if the graph predates them.");
|
|
118
|
-
}
|
|
119
|
-
if (written.merged) {
|
|
120
|
-
notes.push(`This exact incident (same summary and error text) was already on record — this is ` +
|
|
121
|
-
`occurrence ${written.occurrences} of it, not a second incident. A retried submission and ` +
|
|
122
|
-
"a genuine recurrence are indistinguishable from content alone, so both are merged into " +
|
|
123
|
-
"one record rather than minting a second INCIDENT node, which would silently double this " +
|
|
124
|
-
"incident's weight in blast-radius bias and similar_incidents scoring.");
|
|
125
|
-
}
|
|
126
|
-
return answer({
|
|
127
|
-
headline: written.merged
|
|
128
|
-
? `This incident in ${session.config.repo} was already on record — recorded as occurrence ` +
|
|
129
|
-
`${written.occurrences}, correlated to ${recorded.files.length} file(s) this time. ` +
|
|
130
|
-
`${written.total} confirmed incident(s) on record.`
|
|
131
|
-
: `Recorded an incident in ${session.config.repo}, correlated to ${recorded.files.length} file(s). ` +
|
|
132
|
-
`${written.total} confirmed incident(s) now on record.`,
|
|
133
|
-
// Name-level fact: this defect existed and touched these paths — no claim about program shape.
|
|
134
|
-
nameLevel: true,
|
|
135
|
-
// R0, honestly — testimony isn't a point on the R0-R4 ladder (which measures tooling
|
|
136
|
-
// run); the real ceiling is `humanAsserted`, expressed where a finding is classified.
|
|
137
|
-
resolutionFloor: 0,
|
|
138
|
-
commitSha: stamp.commitSha,
|
|
139
|
-
graphBuiltAt: stamp.graphBuiltAt,
|
|
140
|
-
irSchemaVersion: stamp.irSchemaVersion,
|
|
141
|
-
commitSpread: stamp.commitSpread,
|
|
142
|
-
repoCount: stamp.repoCount,
|
|
143
|
-
notes,
|
|
144
|
-
data: {
|
|
145
|
-
// `written.record` — the merge, when this call matched a record already on
|
|
146
|
-
// file, never the as-submitted `recorded` alone (which would misreport a
|
|
147
|
-
// narrower `files` list than what is actually stored).
|
|
148
|
-
recorded: written.record,
|
|
149
|
-
incidentNodeId: confirmedIncidentId({ repo: session.config.repo, ...(root.workspace === undefined ? {} : { workspace: root.workspace }) }, recorded),
|
|
150
|
-
configPath: written.path,
|
|
151
|
-
totalConfirmed: written.total,
|
|
152
|
-
filesNotInGraph,
|
|
153
|
-
merged: written.merged,
|
|
154
|
-
occurrences: written.occurrences,
|
|
155
|
-
},
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
/** Always returns a sentence — unlike `questions`'s unconfirmed shape, no argument to this
|
|
159
|
-
* tool makes it not write. */
|
|
160
|
-
function describeAction(args) {
|
|
161
|
-
const summary = args["summary"];
|
|
162
|
-
const files = args["files"];
|
|
163
|
-
if (typeof summary !== "string" || !Array.isArray(files) || files.length === 0)
|
|
164
|
-
return undefined;
|
|
165
|
-
return (`record a confirmed incident — "${summary}" — correlated to ${files.length} file(s) ` +
|
|
166
|
-
`(${files.slice(0, 3).join(", ")}${files.length > 3 ? ", …" : ""}). It is written to ` +
|
|
167
|
-
".descry/config.json and projected into the graph, where it will bias future blast radii " +
|
|
168
|
-
"toward those files and can be matched against future failures. Capped at reliability class B.");
|
|
169
|
-
}
|
|
170
|
-
export const markIncidentTool = {
|
|
171
|
-
name: "mark_incident",
|
|
172
|
-
class: "action",
|
|
173
|
-
tier: "evidence",
|
|
174
|
-
version: "1.0.0",
|
|
175
|
-
title: "Record a bug you just fixed, so a future failure can match against it",
|
|
176
|
-
description: "Record that a defect existed in this repository and which files it lived in, so " +
|
|
177
|
-
"\"similar_incidents\" can match a future failure against it. This is the mechanism that lets " +
|
|
178
|
-
"an incident corpus grow during ordinary work: git history only yields an incident when " +
|
|
179
|
-
"somebody wrote a revert or a \"Fixes #123\", and most bugs are fixed forward with a message " +
|
|
180
|
-
"that says what the code now does rather than what it did wrong. Recorded as testimony — an " +
|
|
181
|
-
"edge resting on it is capped at reliability class B regardless of anything else about it " +
|
|
182
|
-
"(DEC-223). Takes a two-call confirmation: the first call performs nothing and returns a " +
|
|
183
|
-
"token; call again with \"confirmToken\" to actually record it.",
|
|
184
|
-
inputSchema: SCHEMA,
|
|
185
|
-
run,
|
|
186
|
-
describeAction,
|
|
187
|
-
};
|
|
188
|
-
//# sourceMappingURL=mark-incident.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mark-incident.js","sourceRoot":"","sources":["../../src/tools/mark-incident.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The registration surface for the `browser` merge — one file the index and
|
|
3
|
-
* the alias table both import from, so the tool and its eight retired names
|
|
4
|
-
* cannot drift apart (add a verb here and both sides see it in the same
|
|
5
|
-
* change).
|
|
6
|
-
*/
|
|
7
|
-
import { type ToolAlias } from "./alias-kit.ts";
|
|
8
|
-
import type { ToolDefinition } from "./kit.ts";
|
|
9
|
-
export declare const BROWSER_GROUP_TOOLS: readonly ToolDefinition[];
|
|
10
|
-
export declare const BROWSER_GROUP_ALIASES: readonly (readonly [string, ToolAlias])[];
|
|
11
|
-
//# sourceMappingURL=merged-browser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merged-browser.d.ts","sourceRoot":"","sources":["../../src/tools/merged-browser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,mBAAmB,EAAE,SAAS,cAAc,EAAkB,CAAC;AAE5E,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAS1E,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The registration surface for the `browser` merge — one file the index and
|
|
3
|
-
* the alias table both import from, so the tool and its eight retired names
|
|
4
|
-
* cannot drift apart (add a verb here and both sides see it in the same
|
|
5
|
-
* change).
|
|
6
|
-
*/
|
|
7
|
-
import { browserTool } from "./browser.js";
|
|
8
|
-
import { withVerb } from "./alias-kit.js";
|
|
9
|
-
export const BROWSER_GROUP_TOOLS = [browserTool];
|
|
10
|
-
export const BROWSER_GROUP_ALIASES = [
|
|
11
|
-
["browser_start_session", { to: "browser", args: withVerb("start_session") }],
|
|
12
|
-
["browser_click", { to: "browser", args: withVerb("click") }],
|
|
13
|
-
["browser_type", { to: "browser", args: withVerb("type") }],
|
|
14
|
-
["browser_fill", { to: "browser", args: withVerb("fill") }],
|
|
15
|
-
["browser_select", { to: "browser", args: withVerb("select") }],
|
|
16
|
-
["browser_submit", { to: "browser", args: withVerb("submit") }],
|
|
17
|
-
["browser_save_scenario", { to: "browser", args: withVerb("save_scenario") }],
|
|
18
|
-
["browser_run_scenario", { to: "browser", args: withVerb("run_scenario") }],
|
|
19
|
-
];
|
|
20
|
-
//# sourceMappingURL=merged-browser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merged-browser.js","sourceRoot":"","sources":["../../src/tools/merged-browser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAkB,MAAM,gBAAgB,CAAC;AAG1D,MAAM,CAAC,MAAM,mBAAmB,GAA8B,CAAC,WAAW,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,qBAAqB,GAA8C;IAC9E,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;IAC7E,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7D,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3D,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3D,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC/D,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC/D,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;IAC7E,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;CAC5E,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The three merged tools from mcp-surface-consolidation.md groups 1–3, and
|
|
3
|
-
* the seven aliases that let their retired names keep dispatching (aliases.ts's
|
|
4
|
-
* `TOOL_ALIASES` — not wired here; the integrator adds these entries to that
|
|
5
|
-
* map in the same change that removes the seven old tools from `TOOLS`).
|
|
6
|
-
*/
|
|
7
|
-
import { type ToolAlias } from "./alias-kit.ts";
|
|
8
|
-
import type { ToolDefinition } from "./kit.ts";
|
|
9
|
-
export declare const CONTEXT_GROUP_TOOLS: readonly ToolDefinition[];
|
|
10
|
-
export declare const CONTEXT_GROUP_ALIASES: readonly (readonly [string, ToolAlias])[];
|
|
11
|
-
//# sourceMappingURL=merged-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merged-context.d.ts","sourceRoot":"","sources":["../../src/tools/merged-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,mBAAmB,EAAE,SAAS,cAAc,EAAsD,CAAC;AAEhH,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAQ1E,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The three merged tools from mcp-surface-consolidation.md groups 1–3, and
|
|
3
|
-
* the seven aliases that let their retired names keep dispatching (aliases.ts's
|
|
4
|
-
* `TOOL_ALIASES` — not wired here; the integrator adds these entries to that
|
|
5
|
-
* map in the same change that removes the seven old tools from `TOOLS`).
|
|
6
|
-
*/
|
|
7
|
-
import { codeContextTool } from "./code-context.js";
|
|
8
|
-
import { disclosureTool } from "./disclosure.js";
|
|
9
|
-
import { gitContextTool } from "./git-context.js";
|
|
10
|
-
import { withVerb } from "./alias-kit.js";
|
|
11
|
-
export const CONTEXT_GROUP_TOOLS = [codeContextTool, gitContextTool, disclosureTool];
|
|
12
|
-
export const CONTEXT_GROUP_ALIASES = [
|
|
13
|
-
["impact", { to: "code_context", args: withVerb("impact") }],
|
|
14
|
-
["history", { to: "code_context", args: withVerb("history") }],
|
|
15
|
-
["propagation", { to: "code_context", args: withVerb("propagation") }],
|
|
16
|
-
["get_git_diff", { to: "git_context", args: withVerb("diff") }],
|
|
17
|
-
["get_git_history", { to: "git_context", args: withVerb("log") }],
|
|
18
|
-
["verification_status", { to: "disclosure", args: withVerb("coverage") }],
|
|
19
|
-
["refusal_fetch", { to: "disclosure", args: withVerb("unresolved") }],
|
|
20
|
-
];
|
|
21
|
-
//# sourceMappingURL=merged-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merged-context.js","sourceRoot":"","sources":["../../src/tools/merged-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAkB,MAAM,gBAAgB,CAAC;AAG1D,MAAM,CAAC,MAAM,mBAAmB,GAA8B,CAAC,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AAEhH,MAAM,CAAC,MAAM,qBAAqB,GAA8C;IAC9E,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5D,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;IAC9D,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;IACtE,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/D,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACjE,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IACzE,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;CACtE,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The two tools `observe.ts` and `browser-read.ts` produce, plus the alias table redirecting the
|
|
3
|
-
* six retired names they absorb (documents/plans/mcp-surface-consolidation.md, groups 1 and 2).
|
|
4
|
-
*
|
|
5
|
-
* `index.ts` and `aliases.ts` are the integrator's to wire — this file only assembles what those
|
|
6
|
-
* two modules need: `OBSERVE_GROUP_TOOLS` to add to `TOOLS`, `OBSERVE_GROUP_ALIASES` to add to
|
|
7
|
-
* `TOOL_ALIASES` (see `aliases.ts`'s own doc for why a retired name answers but is not listed).
|
|
8
|
-
*/
|
|
9
|
-
import { type ToolAlias } from "./alias-kit.ts";
|
|
10
|
-
import type { ToolDefinition } from "./kit.ts";
|
|
11
|
-
export declare const OBSERVE_GROUP_TOOLS: readonly ToolDefinition[];
|
|
12
|
-
export declare const OBSERVE_GROUP_ALIASES: readonly (readonly [string, ToolAlias])[];
|
|
13
|
-
//# sourceMappingURL=merged-observe.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merged-observe.d.ts","sourceRoot":"","sources":["../../src/tools/merged-observe.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,eAAO,MAAM,mBAAmB,EAAE,SAAS,cAAc,EAAmC,CAAC;AAE7F,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAO1E,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The two tools `observe.ts` and `browser-read.ts` produce, plus the alias table redirecting the
|
|
3
|
-
* six retired names they absorb (documents/plans/mcp-surface-consolidation.md, groups 1 and 2).
|
|
4
|
-
*
|
|
5
|
-
* `index.ts` and `aliases.ts` are the integrator's to wire — this file only assembles what those
|
|
6
|
-
* two modules need: `OBSERVE_GROUP_TOOLS` to add to `TOOLS`, `OBSERVE_GROUP_ALIASES` to add to
|
|
7
|
-
* `TOOL_ALIASES` (see `aliases.ts`'s own doc for why a retired name answers but is not listed).
|
|
8
|
-
*/
|
|
9
|
-
import { withVerb } from "./alias-kit.js";
|
|
10
|
-
import { observeTool } from "./observe.js";
|
|
11
|
-
import { browserReadTool } from "./browser-read.js";
|
|
12
|
-
export const OBSERVE_GROUP_TOOLS = [observeTool, browserReadTool];
|
|
13
|
-
export const OBSERVE_GROUP_ALIASES = [
|
|
14
|
-
["observe_runtime", { to: "observe", args: withVerb("runtime") }],
|
|
15
|
-
["observe_tests", { to: "observe", args: withVerb("tests") }],
|
|
16
|
-
["browser_snapshot", { to: "browser_read", args: withVerb("snapshot") }],
|
|
17
|
-
["browser_navigate", { to: "browser_read", args: withVerb("navigate") }],
|
|
18
|
-
["browser_wait_for", { to: "browser_read", args: withVerb("wait_for") }],
|
|
19
|
-
["browser_close_session", { to: "browser_read", args: withVerb("close") }],
|
|
20
|
-
];
|
|
21
|
-
//# sourceMappingURL=merged-observe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merged-observe.js","sourceRoot":"","sources":["../../src/tools/merged-observe.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAkB,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,mBAAmB,GAA8B,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,qBAAqB,GAA8C;IAC9E,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;IACjE,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7D,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IACxE,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IACxE,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IACxE,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3E,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Assembles what the registry and the alias table need from this session's
|
|
3
|
-
* two merges (documents/plans/mcp-surface-consolidation.md §2, groups 1 and
|
|
4
|
-
* 2): `workspace` (absorbs `analyze`, `analyze_workspace`, `link_workspace`)
|
|
5
|
-
* and `change_scope` (absorbs `scope`, `pre_push`), plus the five retired
|
|
6
|
-
* names that now answer through them. Wiring this into `tools/index.ts` and
|
|
7
|
-
* `tools/aliases.ts` happens elsewhere — this module only assembles the
|
|
8
|
-
* pieces those need.
|
|
9
|
-
*/
|
|
10
|
-
import type { ToolDefinition } from "./kit.ts";
|
|
11
|
-
import { type ToolAlias } from "./alias-kit.ts";
|
|
12
|
-
export declare const WORKSPACE_GROUP_TOOLS: readonly ToolDefinition[];
|
|
13
|
-
export declare const WORKSPACE_GROUP_ALIASES: readonly (readonly [string, ToolAlias])[];
|
|
14
|
-
//# sourceMappingURL=merged-workspace.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merged-workspace.d.ts","sourceRoot":"","sources":["../../src/tools/merged-workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK1D,eAAO,MAAM,qBAAqB,EAAE,SAAS,cAAc,EAAqC,CAAC;AAEjG,eAAO,MAAM,uBAAuB,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAM5E,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Assembles what the registry and the alias table need from this session's
|
|
3
|
-
* two merges (documents/plans/mcp-surface-consolidation.md §2, groups 1 and
|
|
4
|
-
* 2): `workspace` (absorbs `analyze`, `analyze_workspace`, `link_workspace`)
|
|
5
|
-
* and `change_scope` (absorbs `scope`, `pre_push`), plus the five retired
|
|
6
|
-
* names that now answer through them. Wiring this into `tools/index.ts` and
|
|
7
|
-
* `tools/aliases.ts` happens elsewhere — this module only assembles the
|
|
8
|
-
* pieces those need.
|
|
9
|
-
*/
|
|
10
|
-
import { withVerb } from "./alias-kit.js";
|
|
11
|
-
import { workspaceTool } from "./workspace.js";
|
|
12
|
-
import { changeScopeTool } from "./change-scope.js";
|
|
13
|
-
export const WORKSPACE_GROUP_TOOLS = [workspaceTool, changeScopeTool];
|
|
14
|
-
export const WORKSPACE_GROUP_ALIASES = [
|
|
15
|
-
["analyze", { to: "workspace", args: withVerb("analyze") }],
|
|
16
|
-
["analyze_workspace", { to: "workspace", args: withVerb("index") }],
|
|
17
|
-
["link_workspace", { to: "workspace", args: withVerb("link") }],
|
|
18
|
-
["scope", { to: "change_scope", args: withVerb("diff") }],
|
|
19
|
-
["pre_push", { to: "change_scope", args: withVerb("pre_push") }],
|
|
20
|
-
];
|
|
21
|
-
//# sourceMappingURL=merged-workspace.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merged-workspace.js","sourceRoot":"","sources":["../../src/tools/merged-workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAkB,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,qBAAqB,GAA8B,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AAEjG,MAAM,CAAC,MAAM,uBAAuB,GAA8C;IAChF,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;IAC3D,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACnE,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/D,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IACzD,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;CACjE,CAAC"}
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `observe_runtime` — boot or attach to a real application, write what was witnessed into the
|
|
3
|
-
* graph as R4 facts. Composes existing descry-runtime stages, no new mechanism (DEC-NEXT-mcp-
|
|
4
|
-
* runtime-dependency-boundary-for-r4-evidence). `action`/`evidence` (DEC-278), gated by
|
|
5
|
-
* confirmToken + profile safetyLevel (DEC-270). Never emits a denial. */
|
|
6
|
-
import type { SignalTypeCount } from "@descryy/ir";
|
|
7
|
-
import { type SqlDriver } from "@descryy/core";
|
|
8
|
-
import type { Evidence, FilesystemPolicy, NetworkPolicy, ProcessHandle, ResourceLimits, ServiceConfiguration } from "@descryy/runtime-contracts";
|
|
9
|
-
import type { RunOptions } from "@descryy/runtime-controller";
|
|
10
|
-
import { type PostgresStatementLogSource } from "@descryy/runtime-database-observation";
|
|
11
|
-
import type { EnvironmentProfile } from "@descryy/runtime-environment-profile";
|
|
12
|
-
import { EvidenceStore } from "@descryy/runtime-evidence-store";
|
|
13
|
-
import { type ToolContext, type ToolDefinition } from "./kit.ts";
|
|
14
|
-
import { type JourneyDriveOutcome } from "./runtime-journey-drive.ts";
|
|
15
|
-
import type { ToolAnswer } from "../render.ts";
|
|
16
|
-
import { type RuntimeAdapterSpec } from "../runtime-registry.ts";
|
|
17
|
-
/** One service's readiness declaration, derived from RunOptions rather than imported by
|
|
18
|
-
* name — @descryy/runtime-controller doesn't export ServiceReadinessSpec, and deriving
|
|
19
|
-
* can't drift from what run() actually accepts, because it *is* what run() accepts. */
|
|
20
|
-
type ServiceReadinessSpec = RunOptions["readiness"][string];
|
|
21
|
-
/** Where evidence lands when the call does not say. Beside the graph, not inside it. */
|
|
22
|
-
export declare const DEFAULT_EVIDENCE_RELATIVE_PATH: string;
|
|
23
|
-
/** What one declared service did, from Execution.processes — not ServiceStartResult, which
|
|
24
|
-
* runInstrumentedExecution doesn't return. No ProcessHandle means never-started;
|
|
25
|
-
* `executionState` (FAILED_START) says why when known. */
|
|
26
|
-
export interface ObservedService {
|
|
27
|
-
readonly service: string;
|
|
28
|
-
/** False when no process handle exists for it at all — it never started. */
|
|
29
|
-
readonly started: boolean;
|
|
30
|
-
/** True when this service was attached to rather than spawned. Governs the safety gate — see the header. */
|
|
31
|
-
readonly attached: boolean;
|
|
32
|
-
/** The port it actually bound, when it listens on one. Null for a non-network process or before the port is known. */
|
|
33
|
-
readonly port: number | null;
|
|
34
|
-
/** Null while still running. Set once it exited and was reaped. */
|
|
35
|
-
readonly exitedAt: string | null;
|
|
36
|
-
readonly exitCode: number | null;
|
|
37
|
-
/** Non-null means killed by this signal, whatever `exitCode` says. */
|
|
38
|
-
readonly signal: string | null;
|
|
39
|
-
/**
|
|
40
|
-
* What this service printed (stdout+stderr) before the run failed, or null
|
|
41
|
-
* when nothing was captured for it.
|
|
42
|
-
*
|
|
43
|
-
* Populated only on a failed run: a healthy dev server's boot log is large,
|
|
44
|
-
* uninteresting, and would crowd out every other field. Null and `""` are
|
|
45
|
-
* different answers — `""` is "it ran and said nothing", null is "there is
|
|
46
|
-
* no capture to show", and the second means look somewhere else.
|
|
47
|
-
*
|
|
48
|
-
* This is the field whose absence let a bare `exitCode: 126` be read as a
|
|
49
|
-
* nested-sandbox failure. It never was one: `prlimit` exits 126 for "found
|
|
50
|
-
* but not executable" and writes the reason here, while bwrap exits 1 for
|
|
51
|
-
* every namespace failure there is.
|
|
52
|
-
*/
|
|
53
|
-
readonly startupOutput: string | null;
|
|
54
|
-
/** True when `startupOutput` is the tail of a longer capture — so a reader never mistakes a clipped log for the whole of it. */
|
|
55
|
-
readonly startupOutputTruncated: boolean;
|
|
56
|
-
}
|
|
57
|
-
/** What the correlation pass resolved, by family — counts, not rows (a long run produces
|
|
58
|
-
* thousands of items). Rows themselves live in the evidence store, keyed by executionId. */
|
|
59
|
-
export interface CorrelationSummary {
|
|
60
|
-
readonly considered: number;
|
|
61
|
-
readonly skipped: number;
|
|
62
|
-
readonly attributed: number;
|
|
63
|
-
readonly refused: number;
|
|
64
|
-
/** Service names carrying symbol evidence no scope named a repository for. Named, never guessed at. */
|
|
65
|
-
readonly unscopedServices: readonly string[];
|
|
66
|
-
/** Non-empty means the correlation machinery itself broke, not that it looked and found nothing. */
|
|
67
|
-
readonly harnessErrors: readonly string[];
|
|
68
|
-
}
|
|
69
|
-
/** The R4 write, in applyRuntimeObservations's own six-way vocabulary so a reader can
|
|
70
|
-
* account for every observation without inspecting the store. */
|
|
71
|
-
export interface RuntimeWriteSummary {
|
|
72
|
-
/** Edges the graph already held below R4, now witnessed and raised to R4. */
|
|
73
|
-
readonly promoted: readonly string[];
|
|
74
|
-
/** Edges no static producer found, minted at R4 — §11B.3's "recall gap closed". */
|
|
75
|
-
readonly created: readonly string[];
|
|
76
|
-
/** Already at R4 and observed again. Reported, never silently dropped. */
|
|
77
|
-
readonly confirmed: readonly string[];
|
|
78
|
-
/** Observations the graph declined to act on, with the resolver's own reason. */
|
|
79
|
-
readonly refused: readonly string[];
|
|
80
|
-
/** Always empty today — this tool emits no denial (see header) — kept visible rather
|
|
81
|
-
* than unstated. */
|
|
82
|
-
readonly contradictions: readonly string[];
|
|
83
|
-
/** A denial aimed at an edge already at R4. Out of scope by construction; reported, not laundered. */
|
|
84
|
-
readonly staleR4: readonly string[];
|
|
85
|
-
/** Always empty today, same as `contradictions` above and for the same reason (see header:
|
|
86
|
-
* this tool emits no denial) — kept visible rather than unstated. Would carry a denial that
|
|
87
|
-
* also landed on an edge a human confirmed (`attrs.humanAsserted`, DEC-223): named separately
|
|
88
|
-
* from `contradictions` because the two are different situations, not auto-resolved either
|
|
89
|
-
* way. See `applyRuntimeObservations`'s `confirmedFactConflict`. */
|
|
90
|
-
readonly confirmedFactConflict: readonly string[];
|
|
91
|
-
/**
|
|
92
|
-
* Non-null when this run both reached an endpoint (attributed without its own
|
|
93
|
-
* call-site stack) and, separately, resolved at least one call-site stack to a
|
|
94
|
-
* real function elsewhere in the same run's evidence — real signal on two
|
|
95
|
-
* different evidence records that this pass did not join into an edge. See
|
|
96
|
-
* `writeObservations`'s own doc for why joining them would risk a wrong-direction
|
|
97
|
-
* edge rather than a missing one. Null when no such split existed this run.
|
|
98
|
-
*/
|
|
99
|
-
readonly unjoinedSplitEvidence: string | null;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* RG-5(c) — what the database channel did on this call. `observed: false`
|
|
103
|
-
* always carries a `disclosure` naming why (rule 7); `observed: true` carries
|
|
104
|
-
* `disclosure: null`. Covers both halves this tool wires: the node:sqlite
|
|
105
|
-
* preload's read-back (`recordCount` counts real captured queries either
|
|
106
|
-
* way) and the Postgres statement-log tail, when `database.statementLog` was
|
|
107
|
-
* declared.
|
|
108
|
-
*/
|
|
109
|
-
export interface DatabaseChannelObservation {
|
|
110
|
-
readonly observed: boolean;
|
|
111
|
-
readonly disclosure: string | null;
|
|
112
|
-
readonly recordCount: number;
|
|
113
|
-
}
|
|
114
|
-
export interface ObserveRuntimeData {
|
|
115
|
-
/** Null when the run never started — see `services` and the disclosures for why. */
|
|
116
|
-
readonly executionId: string | null;
|
|
117
|
-
/** The controller's own terminal state for this execution. */
|
|
118
|
-
readonly executionState: string | null;
|
|
119
|
-
/** `RuntimeAdapter.language`, passed through verbatim. Nothing here branches on it (rule 1). */
|
|
120
|
-
readonly adapterLanguage: string | null;
|
|
121
|
-
readonly evidencePath: string;
|
|
122
|
-
readonly services: readonly ObservedService[];
|
|
123
|
-
/** Every evidence item this run wrote, by `eventType`. */
|
|
124
|
-
readonly evidenceByType: Readonly<Record<string, number>>;
|
|
125
|
-
readonly correlation: CorrelationSummary | null;
|
|
126
|
-
readonly wrote: RuntimeWriteSummary;
|
|
127
|
-
/** RG-4/RG-6 — non-null only when "journey" was declared and the run reached its readiness
|
|
128
|
-
* window. Null means no journey was declared, or the run never got that far — never
|
|
129
|
-
* fabricated as an empty-but-"ran" outcome. See `runtime-journey-drive.ts`. */
|
|
130
|
-
readonly journey: JourneyDriveOutcome | null;
|
|
131
|
-
/**
|
|
132
|
-
* RG-5(c). Null only on a refusal path that never attempted this channel
|
|
133
|
-
* at all (nothing spawned) — a different fact from a channel that ran and
|
|
134
|
-
* observed nothing, which is `{observed: false, ...}`.
|
|
135
|
-
*/
|
|
136
|
-
readonly database: DatabaseChannelObservation | null;
|
|
137
|
-
}
|
|
138
|
-
/** One service's declaration, resolved against the repository root. */
|
|
139
|
-
interface DeclaredService {
|
|
140
|
-
readonly name: string;
|
|
141
|
-
readonly configuration: ServiceConfiguration;
|
|
142
|
-
readonly readiness: ServiceReadinessSpec;
|
|
143
|
-
readonly attached: boolean;
|
|
144
|
-
}
|
|
145
|
-
/** RG-4's `journey` option — see the schema's own doc. Declared shape only; resolving a named
|
|
146
|
-
* scenario file and projecting it onto steps happens in `run()`, which is async and has the
|
|
147
|
-
* repo path this parse-only function does not need. */
|
|
148
|
-
export interface DeclaredJourney {
|
|
149
|
-
readonly service: string | undefined;
|
|
150
|
-
readonly scenarioName: string | undefined;
|
|
151
|
-
readonly startUrl: string | undefined;
|
|
152
|
-
readonly recordVideo: boolean | undefined;
|
|
153
|
-
readonly headless: boolean | undefined;
|
|
154
|
-
readonly settleForMs: number | undefined;
|
|
155
|
-
}
|
|
156
|
-
/** RG-5(c)'s `database` option — see the schema's own doc. `undefined` means no Postgres
|
|
157
|
-
* channel was declared at all, the "channel absent" case the reply must disclose. */
|
|
158
|
-
export interface DeclaredDatabaseChannel {
|
|
159
|
-
readonly statementLog: PostgresStatementLogSource;
|
|
160
|
-
readonly service: string | undefined;
|
|
161
|
-
}
|
|
162
|
-
export declare function readArguments(args: Record<string, unknown>, repoPath: string): {
|
|
163
|
-
readonly profile: EnvironmentProfile;
|
|
164
|
-
readonly adapterSpec: RuntimeAdapterSpec;
|
|
165
|
-
readonly declared: readonly DeclaredService[];
|
|
166
|
-
readonly observeForMs: number;
|
|
167
|
-
readonly timeoutMs: number;
|
|
168
|
-
readonly fidelityRaw: number;
|
|
169
|
-
readonly environmentTier: string;
|
|
170
|
-
readonly evidencePath: string;
|
|
171
|
-
readonly resourceLimits: ResourceLimits | undefined;
|
|
172
|
-
readonly filesystemPolicy: FilesystemPolicy | undefined;
|
|
173
|
-
readonly networkPolicy: NetworkPolicy | undefined;
|
|
174
|
-
readonly sandboxBackend: "bwrap" | "container" | undefined;
|
|
175
|
-
readonly journey: DeclaredJourney | undefined;
|
|
176
|
-
readonly database: DeclaredDatabaseChannel | undefined;
|
|
177
|
-
};
|
|
178
|
-
/** Exported so `observe.ts` can dispatch the "runtime" verb to this exact body — the merge
|
|
179
|
-
* reuses this function rather than reimplementing it (mcp-surface-consolidation.md). */
|
|
180
|
-
export declare function run(args: Record<string, unknown>, ctx: ToolContext): Promise<ToolAnswer<ObserveRuntimeData>>;
|
|
181
|
-
/**
|
|
182
|
-
* The tail of a failed service's captured output that survives into the reply.
|
|
183
|
-
*
|
|
184
|
-
* Tail rather than head: a process that dies prints its reason last, so
|
|
185
|
-
* clipping from the front is the one choice guaranteed to discard the line this
|
|
186
|
-
* field exists to carry.
|
|
187
|
-
*/
|
|
188
|
-
export declare const STARTUP_OUTPUT_TAIL_LIMIT = 4000;
|
|
189
|
-
/** One row per **declared** service, not per spawned process — a never-started service
|
|
190
|
-
* appears with `started: false` rather than vanishing ("it did nothing" vs "it never ran").
|
|
191
|
-
*
|
|
192
|
-
* `startupOutput` is keyed by service name. Callers pass `{}` for a run that did
|
|
193
|
-
* not fail; the policy lives at the call site, where the outcome is known, rather
|
|
194
|
-
* than in here. Exported for `observe-runtime-startup-output.test.ts`, which pins
|
|
195
|
-
* the mapping without needing a runtime new enough to produce real output. */
|
|
196
|
-
export declare function describeServices(processes: readonly ProcessHandle[], declared: readonly {
|
|
197
|
-
readonly name: string;
|
|
198
|
-
readonly attached: boolean;
|
|
199
|
-
}[], startupOutput?: Readonly<Record<string, string>>): readonly ObservedService[];
|
|
200
|
-
/** The two fields the channel mapping reads. Narrower than Evidence on purpose: observe_tests
|
|
201
|
-
* counts channels before its evidence has an evidenceId/executionId — this lets both tools
|
|
202
|
-
* share one implementation rather than a cast that hides the unused fields. */
|
|
203
|
-
type WitnessableEvidence = Pick<Evidence, "eventType" | "source">;
|
|
204
|
-
/** `E` for this run — channels actually seen, via @descryy/ir's independentSignalTypes
|
|
205
|
-
* (clamp-to-six and null-drop are that function's rules, not duplicated here). Exported for
|
|
206
|
-
* its own test — this mapping decides `strongly supported` vs `unconfirmed`. */
|
|
207
|
-
export declare function witnessedSignalTypes(evidence: readonly WitnessableEvidence[]): SignalTypeCount;
|
|
208
|
-
/**
|
|
209
|
-
* The R4 write, and the one join this tool performs: for every evidence item resolved to an
|
|
210
|
-
* endpoint that also carries a call-site stack, ask confirmObservedFrontendCaller. Both come
|
|
211
|
-
* from one observation — nothing here pairs two separate evidence items, on purpose.
|
|
212
|
-
*
|
|
213
|
-
* A stack resolved on some OTHER evidence item (`family === "symbol"`, e.g. a BACKEND_LOG or
|
|
214
|
-
* EXCEPTION line elsewhere in the same run) is never joined to an endpoint item that lacks its
|
|
215
|
-
* own stack, even when both exist in the same run's evidence. `resolveObservedFrontendCaller`
|
|
216
|
-
* takes a stack on faith as "the call site that reached this endpoint" — it does not itself
|
|
217
|
-
* verify the direction, so the caller supplying the wrong stack is exactly how a wrong edge
|
|
218
|
-
* gets minted at R4 with full confidence. Nothing on `Evidence` disambiguates that direction
|
|
219
|
-
* for a cross-record pair: `traceId`/`requestId` can say two items belong to the same request,
|
|
220
|
-
* never that the stack-bearing one is the endpoint's CALLER rather than code running inside its
|
|
221
|
-
* own handling of that same request — which is the common shape (a handler's own exception
|
|
222
|
-
* stack, correlated to the request it was handling, not to whoever issued it). Joining on that
|
|
223
|
-
* key would systematically mint edges in the SERVES direction mislabelled as CALLS/USES_API —
|
|
224
|
-
* worse than the gap disclosed below (rule 2). So this is measured and reported via
|
|
225
|
-
* `unjoinedSplitEvidence`, never inferred into an edge.
|
|
226
|
-
*/
|
|
227
|
-
export declare function writeObservations(input: {
|
|
228
|
-
readonly driver: SqlDriver;
|
|
229
|
-
readonly pass: {
|
|
230
|
-
readonly attributed: readonly {
|
|
231
|
-
readonly evidenceId: string;
|
|
232
|
-
readonly graphNodeId: string;
|
|
233
|
-
readonly family: string;
|
|
234
|
-
}[];
|
|
235
|
-
};
|
|
236
|
-
readonly evidenceStore: EvidenceStore;
|
|
237
|
-
readonly repo: string;
|
|
238
|
-
readonly repoRoot: string;
|
|
239
|
-
readonly runId: string;
|
|
240
|
-
readonly commitSha: string;
|
|
241
|
-
}): RuntimeWriteSummary;
|
|
242
|
-
/** §7's `willDo` — and, since readArguments runs first, where an invalid call is refused.
|
|
243
|
-
* Always returns a string, never undefined: unlike `questions`, no call here has nothing
|
|
244
|
-
* to confirm. Reads the *parsed* services so the confirmation sentence matches the run exactly. */
|
|
245
|
-
/** Exported for the same reason as `run` above — `observe.ts` dispatches the "runtime" verb's
|
|
246
|
-
* consent sentence to this exact function. */
|
|
247
|
-
export declare function describeAction(args: Record<string, unknown>, ctx: ToolContext): string;
|
|
248
|
-
export declare const observeRuntimeTool: ToolDefinition;
|
|
249
|
-
export {};
|
|
250
|
-
//# sourceMappingURL=observe-runtime.d.ts.map
|