@reticlehq/server 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +702 -0
- package/dist/bridge/auth-failure-reason.d.ts +19 -0
- package/dist/bridge/auth-failure-reason.js +29 -0
- package/dist/{bridge-security.d.ts → bridge/bridge-security.d.ts} +1 -1
- package/dist/{bridge-security.js → bridge/bridge-security.js} +1 -1
- package/dist/{bridge.d.ts → bridge/bridge.d.ts} +1 -1
- package/dist/{bridge.js → bridge/bridge.js} +63 -13
- package/dist/{bridge.test-harness.d.ts → bridge/bridge.test-harness.d.ts} +1 -11
- package/dist/{bridge.test-harness.js → bridge/bridge.test-harness.js} +9 -9
- package/dist/{pairing-token.js → bridge/pairing-token.js} +1 -1
- package/dist/capsule/capsule-store.d.ts +8 -3
- package/dist/capsule/capsule-store.js +7 -2
- package/dist/capsule/capsule.js +3 -3
- package/dist/capsule/causal-summary.d.ts +8 -0
- package/dist/capsule/causal-summary.js +22 -12
- package/dist/capsule/divergence.d.ts +9 -4
- package/dist/capsule/divergence.js +8 -8
- package/dist/capsule/predicate-to-links.js +11 -8
- package/dist/{cli-doctor.js → cli/cli-doctor.js} +9 -2
- package/dist/{cli-flow-commands.d.ts → cli/cli-flow-commands.d.ts} +2 -2
- package/dist/{cli-flow-commands.js → cli/cli-flow-commands.js} +15 -15
- package/dist/{cli-launch.d.ts → cli/cli-launch.d.ts} +32 -3
- package/dist/cli/cli-launch.js +171 -0
- package/dist/{cli-parse.d.ts → cli/cli-parse.d.ts} +2 -11
- package/dist/{cli-parse.js → cli/cli-parse.js} +113 -60
- package/dist/{cli-port.d.ts → cli/cli-port.d.ts} +12 -0
- package/dist/{cli-port.js → cli/cli-port.js} +9 -9
- package/dist/cli/cli-update-commands.d.ts +4 -0
- package/dist/cli/cli-update-commands.js +93 -0
- package/dist/{cli-verify.js → cli/cli-verify.js} +14 -14
- package/dist/{cloud-cli.js → cli/cloud-cli.js} +29 -24
- package/dist/cli.d.ts +2 -2
- package/dist/cli.js +174 -92
- package/dist/cloud/cloud-config.d.ts +0 -1
- package/dist/cloud/cloud-config.js +9 -9
- package/dist/cloud/cloud-sync.d.ts +1 -7
- package/dist/cloud/cloud-sync.js +12 -12
- package/dist/crawl/crawl-empty.d.ts +16 -0
- package/dist/crawl/crawl-empty.js +24 -0
- package/dist/crawl/crawl-tools.js +4 -1
- package/dist/crawl/crawl.js +26 -7
- package/dist/daemon/daemon-resilience.d.ts +49 -0
- package/dist/daemon/daemon-resilience.js +191 -0
- package/dist/daemon/daemon-usefulness.d.ts +61 -0
- package/dist/daemon/daemon-usefulness.js +62 -0
- package/dist/{daemon.d.ts → daemon/daemon.d.ts} +33 -8
- package/dist/{daemon.js → daemon/daemon.js} +80 -48
- package/dist/daemon/idle-grace.d.ts +32 -0
- package/dist/daemon/idle-grace.js +41 -0
- package/dist/{idle-shutdown.d.ts → daemon/idle-shutdown.d.ts} +13 -0
- package/dist/{idle-shutdown.js → daemon/idle-shutdown.js} +27 -4
- package/dist/domain/domain-model.js +2 -2
- package/dist/events/body-failures.js +8 -8
- package/dist/events/contradictions.d.ts +1 -1
- package/dist/events/contradictions.js +60 -10
- package/dist/events/echo-mismatch.js +10 -10
- package/dist/events/event-filters.js +6 -6
- package/dist/events/json-salvage.d.ts +2 -1
- package/dist/events/json-salvage.js +6 -6
- package/dist/events/observed-in-window.d.ts +12 -0
- package/dist/events/observed-in-window.js +21 -0
- package/dist/events/predicate-eval.d.ts +43 -20
- package/dist/events/predicate-eval.js +159 -55
- package/dist/events/predicate.d.ts +2 -2
- package/dist/events/predicate.js +112 -35
- package/dist/events/reconcile.js +5 -5
- package/dist/events/ring-buffer.js +1 -1
- package/dist/events/stale-response.js +6 -6
- package/dist/events/testid-near-miss.d.ts +22 -0
- package/dist/events/testid-near-miss.js +33 -0
- package/dist/events/unit-mismatch.js +8 -8
- package/dist/flows/affected-tools.js +19 -4
- package/dist/flows/affected.js +1 -1
- package/dist/flows/annotate-target.d.ts +1 -0
- package/dist/flows/annotate-target.js +20 -0
- package/dist/flows/annotate-tools.js +25 -3
- package/dist/flows/annotate.js +17 -4
- package/dist/flows/assertion-integrity.d.ts +2 -1
- package/dist/flows/assertion-tiers-store.d.ts +3 -66
- package/dist/flows/assertion-tiers-store.js +2 -2
- package/dist/flows/attributed-failure.d.ts +17 -0
- package/dist/flows/attributed-failure.js +20 -0
- package/dist/flows/buddy-status.d.ts +2 -1
- package/dist/flows/buddy-status.js +2 -2
- package/dist/flows/coverage.d.ts +3 -2
- package/dist/flows/coverage.js +2 -2
- package/dist/flows/decision.js +24 -9
- package/dist/flows/empty-flow.d.ts +6 -0
- package/dist/flows/empty-flow.js +24 -0
- package/dist/flows/flake-store.d.ts +0 -1
- package/dist/flows/flake-store.js +1 -1
- package/dist/flows/flake.d.ts +2 -1
- package/dist/flows/flake.js +2 -2
- package/dist/flows/flow-classify.js +12 -0
- package/dist/flows/flow-replay-run.js +4 -4
- package/dist/flows/flow-replay.d.ts +5 -7
- package/dist/flows/flow-replay.js +114 -47
- package/dist/flows/flow-report.js +1 -1
- package/dist/flows/flow-scope.d.ts +1 -6
- package/dist/flows/flow-step-runners.d.ts +26 -6
- package/dist/flows/flow-step-runners.js +157 -6
- package/dist/flows/flow-success.js +20 -15
- package/dist/flows/flow-tools.js +53 -7
- package/dist/flows/flows.js +15 -11
- package/dist/flows/gate.d.ts +4 -3
- package/dist/flows/gate.js +1 -1
- package/dist/flows/heal-run.d.ts +0 -8
- package/dist/flows/heal-run.js +5 -5
- package/dist/flows/heal.js +3 -3
- package/dist/flows/predicate-to-expect.d.ts +38 -0
- package/dist/flows/predicate-to-expect.js +95 -0
- package/dist/flows/replay.d.ts +16 -1
- package/dist/flows/replay.js +58 -22
- package/dist/flows/role-anchor-nearest.d.ts +6 -0
- package/dist/flows/role-anchor-nearest.js +45 -0
- package/dist/flows/server-verify.d.ts +1 -1
- package/dist/flows/server-verify.js +5 -5
- package/dist/flows/verify-change-tools.js +32 -10
- package/dist/flows/verify-change-verdict.d.ts +15 -0
- package/dist/flows/verify-change-verdict.js +25 -0
- package/dist/flows/watch-batcher.d.ts +3 -2
- package/dist/honesty/already-true.d.ts +2 -0
- package/dist/honesty/already-true.js +31 -0
- package/dist/honesty/blind-spots.d.ts +16 -3
- package/dist/honesty/blind-spots.js +24 -12
- package/dist/honesty/honesty.d.ts +3 -2
- package/dist/honesty/honesty.js +4 -4
- package/dist/honesty/uncaptured-bodies.js +1 -1
- package/dist/honesty/unread-outcome.js +2 -2
- package/dist/honesty/verified.d.ts +22 -3
- package/dist/honesty/verified.js +48 -8
- package/dist/http-server.js +14 -7
- package/dist/hunt/hunt-report.d.ts +2 -1
- package/dist/hunt/hunt-report.js +2 -2
- package/dist/index.d.ts +8 -6
- package/dist/index.js +32 -25
- package/dist/init/agent-rules.d.ts +2 -1
- package/dist/init/agent-rules.js +45 -7
- package/dist/init/app-choice.d.ts +20 -0
- package/dist/init/app-choice.js +25 -0
- package/dist/init/astro-host.d.ts +21 -0
- package/dist/init/astro-host.js +27 -0
- package/dist/init/astro-patch.d.ts +16 -0
- package/dist/init/astro-patch.js +240 -0
- package/dist/init/capabilities.js +4 -1
- package/dist/init/cra.d.ts +37 -0
- package/dist/init/cra.js +90 -0
- package/dist/init/cursor.js +39 -4
- package/dist/init/desktop-doctor.d.ts +3 -2
- package/dist/init/desktop-doctor.js +4 -4
- package/dist/init/detect.d.ts +3 -2
- package/dist/init/detect.js +16 -5
- package/dist/init/mcp-registered.d.ts +12 -0
- package/dist/init/mcp-registered.js +14 -0
- package/dist/init/mcp.d.ts +27 -2
- package/dist/init/mcp.js +40 -4
- package/dist/init/next-patch.d.ts +2 -4
- package/dist/init/next-patch.js +109 -19
- package/dist/init/node-io.js +23 -6
- package/dist/init/plan-framework.d.ts +16 -1
- package/dist/init/plan-framework.js +132 -8
- package/dist/init/plan.d.ts +73 -8
- package/dist/init/plan.js +133 -34
- package/dist/init/project-id.d.ts +5 -9
- package/dist/init/project-id.js +10 -22
- package/dist/init/run.d.ts +5 -0
- package/dist/init/run.js +210 -36
- package/dist/init/slash-command.d.ts +9 -0
- package/dist/init/slash-command.js +10 -1
- package/dist/init/snippets.d.ts +7 -10
- package/dist/init/snippets.js +44 -15
- package/dist/init/vite-config.js +1 -1
- package/dist/init/workspace-apps.d.ts +23 -0
- package/dist/init/workspace-apps.js +68 -0
- package/dist/input/driven-redaction.js +1 -1
- package/dist/input/network-detail.js +8 -8
- package/dist/input/network-mock-tools.js +2 -2
- package/dist/input/network-mock.js +4 -4
- package/dist/input/real-input.js +8 -3
- package/dist/input/scroll-find.js +2 -2
- package/dist/input/scroll-tools.d.ts +0 -5
- package/dist/input/scroll-tools.js +11 -4
- package/dist/input/viewport-tools.js +2 -2
- package/dist/journal/ambient-store.d.ts +0 -2
- package/dist/journal/ambient-store.js +1 -1
- package/dist/journal/ambient.js +1 -1
- package/dist/journal/attach-journal.d.ts +2 -1
- package/dist/journal/deviation-report.js +6 -6
- package/dist/journal/deviation-service.js +1 -1
- package/dist/journal/envelope-store.d.ts +0 -2
- package/dist/journal/envelope-store.js +1 -1
- package/dist/journal/envelope.d.ts +2 -3
- package/dist/journal/envelope.js +3 -3
- package/dist/journal/journal-query.js +1 -1
- package/dist/journal/journal-recorder.d.ts +2 -1
- package/dist/journal/journal-recorder.js +2 -2
- package/dist/journal/rollups.js +9 -9
- package/dist/journal/session-end.d.ts +2 -1
- package/dist/journal/session-journal.js +4 -4
- package/dist/license/license.d.ts +0 -14
- package/dist/license/license.js +8 -8
- package/dist/log.d.ts +10 -0
- package/dist/log.js +11 -1
- package/dist/mcp/mcp-is-error.d.ts +13 -0
- package/dist/mcp/mcp-is-error.js +18 -0
- package/dist/mcp/mcp-outage.d.ts +31 -0
- package/dist/mcp/mcp-outage.js +48 -0
- package/dist/mcp/mcp-proxy.d.ts +124 -0
- package/dist/mcp/mcp-proxy.js +697 -0
- package/dist/{mcp.d.ts → mcp/mcp.d.ts} +13 -10
- package/dist/{mcp.js → mcp/mcp.js} +110 -35
- package/dist/mcp/proxy-handshake.d.ts +3 -0
- package/dist/mcp/proxy-handshake.js +54 -0
- package/dist/mcp/proxy-lifecycle.d.ts +64 -0
- package/dist/mcp/proxy-lifecycle.js +70 -0
- package/dist/mcp/tool-catalog-cache.d.ts +29 -0
- package/dist/mcp/tool-catalog-cache.js +55 -0
- package/dist/oracles/propose-consequences.d.ts +2 -1
- package/dist/oracles/propose-consequences.js +16 -11
- package/dist/oracles/self-instrument.d.ts +2 -1
- package/dist/oracles/self-instrument.js +1 -1
- package/dist/phenomena/phenomena.js +3 -3
- package/dist/platform.d.ts +16 -0
- package/dist/platform.js +16 -0
- package/dist/pool/playwright-launcher.d.ts +15 -2
- package/dist/pool/playwright-launcher.js +21 -2
- package/dist/project/fs-port.js +1 -1
- package/dist/project/project-tools.js +2 -2
- package/dist/runs/build-verification-run.js +1 -1
- package/dist/runs/repair-prompt.d.ts +0 -6
- package/dist/runs/repair-prompt.js +3 -3
- package/dist/runs/risk-classify.js +1 -1
- package/dist/runs/run-diff.d.ts +0 -2
- package/dist/runs/run-diff.js +3 -3
- package/dist/runs/run-tools.js +2 -2
- package/dist/runs/verification-sync.js +2 -2
- package/dist/runs/verify-http.js +1 -1
- package/dist/runs/verify-server.js +1 -1
- package/dist/session/command-timeout.d.ts +11 -3
- package/dist/session/command-timeout.js +2 -2
- package/dist/session/control-envelope.d.ts +6 -0
- package/dist/session/control-envelope.js +7 -1
- package/dist/session/dev-server-probe.d.ts +13 -0
- package/dist/session/dev-server-probe.js +52 -0
- package/dist/session/last-act.d.ts +17 -3
- package/dist/session/last-act.js +16 -4
- package/dist/session/live-control-tools.js +7 -2
- package/dist/session/live-control.js +1 -1
- package/dist/session/looks-like-dev-server.d.ts +14 -0
- package/dist/session/looks-like-dev-server.js +25 -0
- package/dist/session/no-session-diagnosis.d.ts +38 -0
- package/dist/session/no-session-diagnosis.js +70 -0
- package/dist/session/no-session-watch.d.ts +19 -0
- package/dist/session/no-session-watch.js +61 -0
- package/dist/session/observed-state.d.ts +4 -0
- package/dist/session/observed-state.js +19 -1
- package/dist/session/output-budget.js +1 -1
- package/dist/session/session-health.d.ts +8 -1
- package/dist/session/session-health.js +8 -7
- package/dist/session/session-info.d.ts +26 -7
- package/dist/session/session-info.js +42 -1
- package/dist/session/session-lease.d.ts +0 -11
- package/dist/session/session-lease.js +1 -1
- package/dist/session/session-manager.d.ts +3 -0
- package/dist/session/session-manager.js +52 -9
- package/dist/session/session-readiness.d.ts +1 -1
- package/dist/session/session-readiness.js +6 -1
- package/dist/session/session-reaper.js +1 -1
- package/dist/session/session-reconnect.d.ts +32 -0
- package/dist/session/session-reconnect.js +42 -0
- package/dist/session/session.d.ts +14 -2
- package/dist/session/session.js +69 -26
- package/dist/session/state-select.d.ts +1 -1
- package/dist/session/state-select.js +1 -1
- package/dist/status-payload.d.ts +19 -0
- package/dist/status-payload.js +11 -0
- package/dist/telemetry/argument-shape.js +10 -1
- package/dist/telemetry/browser-mode.d.ts +27 -0
- package/dist/telemetry/browser-mode.js +33 -0
- package/dist/telemetry/bug-found.d.ts +17 -21
- package/dist/telemetry/bug-found.js +120 -8
- package/dist/telemetry/cli-telemetry.d.ts +2 -12
- package/dist/telemetry/cli-telemetry.js +27 -4
- package/dist/telemetry/daemon-telemetry.d.ts +19 -0
- package/dist/telemetry/daemon-telemetry.js +12 -2
- package/dist/telemetry/dev-repo.js +4 -4
- package/dist/telemetry/error-fingerprint.js +21 -2
- package/dist/telemetry/feedback-cli.d.ts +1 -1
- package/dist/telemetry/feedback-cli.js +4 -4
- package/dist/telemetry/feedback-context.d.ts +22 -0
- package/dist/telemetry/feedback-context.js +41 -1
- package/dist/telemetry/feedback-delivery.d.ts +20 -0
- package/dist/telemetry/feedback-delivery.js +30 -0
- package/dist/telemetry/feedback-outbox.d.ts +22 -0
- package/dist/telemetry/feedback-outbox.js +87 -0
- package/dist/telemetry/feedback.d.ts +22 -1
- package/dist/telemetry/feedback.js +67 -8
- package/dist/telemetry/git-facts.js +1 -1
- package/dist/telemetry/session-metrics.d.ts +2 -0
- package/dist/telemetry/session-metrics.js +68 -6
- package/dist/telemetry/telemetry.d.ts +27 -2
- package/dist/telemetry/telemetry.js +119 -29
- package/dist/telemetry/verification-of.d.ts +22 -0
- package/dist/telemetry/verification-of.js +84 -0
- package/dist/tools/act-capsule.js +2 -2
- package/dist/tools/act-danger.d.ts +12 -0
- package/dist/tools/act-danger.js +20 -3
- package/dist/tools/act-helpers.js +4 -4
- package/dist/tools/act-tools.d.ts +0 -8
- package/dist/tools/act-tools.js +84 -115
- package/dist/tools/act-view.js +7 -7
- package/dist/tools/alias-args.d.ts +17 -0
- package/dist/tools/alias-args.js +25 -0
- package/dist/tools/assert-grade.js +9 -9
- package/dist/tools/assert-verdict.d.ts +3 -1
- package/dist/tools/assert-verdict.js +8 -5
- package/dist/tools/browser-tools.js +30 -11
- package/dist/tools/contract-tools.js +1 -1
- package/dist/tools/coverage-identity.d.ts +34 -0
- package/dist/tools/coverage-identity.js +46 -0
- package/dist/tools/coverage-tools.js +10 -14
- package/dist/tools/dynamic-tools.d.ts +2 -1
- package/dist/tools/dynamic-tools.js +90 -18
- package/dist/tools/error-recovery.d.ts +20 -2
- package/dist/tools/error-recovery.js +179 -4
- package/dist/tools/feedback-tools.d.ts +12 -1
- package/dist/tools/feedback-tools.js +28 -5
- package/dist/tools/invoke-tool.d.ts +0 -6
- package/dist/tools/invoke-tool.js +57 -32
- package/dist/tools/lease-hint.d.ts +17 -0
- package/dist/tools/lease-hint.js +24 -0
- package/dist/tools/lease-tools.js +6 -5
- package/dist/tools/merge-tools.d.ts +10 -1
- package/dist/tools/merge-tools.js +9 -3
- package/dist/tools/merged-name-redirect.d.ts +13 -0
- package/dist/tools/merged-name-redirect.js +55 -0
- package/dist/tools/navigate-result.d.ts +17 -0
- package/dist/tools/navigate-result.js +31 -0
- package/dist/tools/observe-tools.js +54 -20
- package/dist/tools/observed-nothing.d.ts +25 -0
- package/dist/tools/observed-nothing.js +33 -0
- package/dist/tools/query-paginate.js +2 -2
- package/dist/tools/query-shape.d.ts +18 -0
- package/dist/tools/query-shape.js +39 -0
- package/dist/tools/read-tools.js +81 -20
- package/dist/tools/real-input-attempt.d.ts +28 -0
- package/dist/tools/real-input-attempt.js +88 -0
- package/dist/tools/reconcile-tools.js +7 -7
- package/dist/tools/reload-result.d.ts +14 -0
- package/dist/tools/reload-result.js +29 -0
- package/dist/tools/snapshot-delta.d.ts +4 -5
- package/dist/tools/snapshot-delta.js +0 -0
- package/dist/tools/tool-kit.d.ts +8 -0
- package/dist/tools/tool-surface.d.ts +83 -0
- package/dist/tools/tool-surface.js +204 -0
- package/dist/tools/tools-helpers.js +6 -6
- package/dist/tools/tools.d.ts +15 -0
- package/dist/tools/tools.js +53 -17
- package/dist/tools/unadvertised-help.d.ts +5 -0
- package/dist/tools/unadvertised-help.js +39 -0
- package/dist/trace.d.ts +69 -0
- package/dist/trace.js +150 -0
- package/dist/update/nudge-credit.d.ts +4 -0
- package/dist/update/nudge-credit.js +53 -0
- package/dist/update/sdk-sync.d.ts +21 -0
- package/dist/update/sdk-sync.js +42 -0
- package/dist/update/update-checker.js +3 -3
- package/dist/update/update-nudge.d.ts +63 -6
- package/dist/update/update-nudge.js +128 -15
- package/dist/update/updater.d.ts +1 -9
- package/dist/update/updater.js +13 -8
- package/dist/version/peer-announce.d.ts +4 -0
- package/dist/version/peer-announce.js +30 -0
- package/dist/{server-version.js → version/server-version.js} +5 -1
- package/dist/version/version-nudge.d.ts +28 -0
- package/dist/version/version-nudge.js +40 -0
- package/dist/version/version-skew.d.ts +66 -0
- package/dist/version/version-skew.js +71 -0
- package/dist/visual/visual-diff.js +2 -2
- package/dist/visual/visual-tools.js +4 -4
- package/docs/agent-cheatsheet.md +85 -0
- package/docs/architecture.md +113 -0
- package/docs/benchmarks.md +255 -0
- package/docs/debugging.md +102 -0
- package/docs/deploy-checks.md +69 -0
- package/docs/desktop-apps.md +256 -0
- package/docs/enterprise.md +62 -0
- package/docs/fixtures.md +28 -0
- package/docs/flows.md +166 -0
- package/docs/getting-started.md +469 -0
- package/docs/human-control.md +63 -0
- package/docs/integration-patterns.md +171 -0
- package/docs/local-registry.md +126 -0
- package/docs/mint.json +61 -0
- package/docs/multi-agent-testing.md +55 -0
- package/docs/platform-integration.md +122 -0
- package/docs/telemetry-contract.md +214 -0
- package/docs/telemetry.md +184 -0
- package/docs/testing.md +82 -0
- package/docs/token-efficiency.md +80 -0
- package/docs/usage.md +1046 -0
- package/package.json +8 -5
- package/dist/cli-launch.js +0 -112
- package/dist/daemon-resilience.d.ts +0 -22
- package/dist/daemon-resilience.js +0 -85
- package/dist/mcp-proxy.d.ts +0 -67
- package/dist/mcp-proxy.js +0 -337
- package/dist/tools/profiles.d.ts +0 -37
- package/dist/tools/profiles.js +0 -139
- /package/dist/{pairing-token.d.ts → bridge/pairing-token.d.ts} +0 -0
- /package/dist/{token-auth.d.ts → bridge/token-auth.d.ts} +0 -0
- /package/dist/{token-auth.js → bridge/token-auth.js} +0 -0
- /package/dist/{cli-doctor.d.ts → cli/cli-doctor.d.ts} +0 -0
- /package/dist/{cli-verify.d.ts → cli/cli-verify.d.ts} +0 -0
- /package/dist/{cloud-cli.d.ts → cli/cloud-cli.d.ts} +0 -0
- /package/dist/{server-version.d.ts → version/server-version.d.ts} +0 -0
package/dist/tools/profiles.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { ToolDef } from './tools.js';
|
|
2
|
-
/**
|
|
3
|
-
* Which MCP tool surface to expose. The advertised tool DEFINITIONS are re-sent to the model on
|
|
4
|
-
* every turn, so a smaller surface is a per-turn token saving that compounds across a loop. Fewer
|
|
5
|
-
* tools also makes the model wander less (fewer turns, higher accuracy). See bench/agent-loop-and-replay.md.
|
|
6
|
-
*
|
|
7
|
-
* MEASURED surface sizes (assert them with profile-reachability.test.ts rather than trusting prose —
|
|
8
|
-
* every count previously written here was wrong, and the token figures below derive from those counts):
|
|
9
|
-
* core 15 · standard 32 · hybrid 15 · full 43 · dynamic 2
|
|
10
|
-
* core and hybrid are both 14 because a trimmed profile now also advertises the two meta-tools, which
|
|
11
|
-
* is what keeps an un-advertised tool reachable through reticle_run.
|
|
12
|
-
*
|
|
13
|
-
* core — the verify loop a coding agent actually needs: navigate→look→act→observe→assert,
|
|
14
|
-
* WITH direct network + console + state observability (the highest-signal checks).
|
|
15
|
-
* The recommended profile for agent-driven verification.
|
|
16
|
-
* standard — core + common extras (inspect, sequences, animations, flows, session lifecycle,
|
|
17
|
-
* scroll, baselines, …). For agents that need more than the bare loop.
|
|
18
|
-
* hybrid — THE DEFAULT: core verify+oracle tools advertised directly + 2 meta-tools for on-demand
|
|
19
|
-
* reach to everything else. Core accuracy/detection at ~64% less schema tax than full.
|
|
20
|
-
* full — all tools advertised directly. Opt in via RETICLE_TOOL_PROFILE=full for hard-call scripts.
|
|
21
|
-
*/
|
|
22
|
-
export declare const TOOL_PROFILE: {
|
|
23
|
-
/** dynamic — advertise only 2 meta-tools (reticle_tools + reticle_run); load real tools on demand.
|
|
24
|
-
* Fixed ~hundreds of tokens/turn regardless of how many tools exist. See dynamic-tools.ts. */
|
|
25
|
-
readonly DYNAMIC: "dynamic";
|
|
26
|
-
/** hybrid — the core verify tools advertised directly (so the agent acts reliably) PLUS the 2
|
|
27
|
-
* meta-tools for on-demand reach to every other tool. Core accuracy + full reach at ~core cost. */
|
|
28
|
-
readonly HYBRID: "hybrid";
|
|
29
|
-
readonly CORE: "core";
|
|
30
|
-
readonly STANDARD: "standard";
|
|
31
|
-
readonly FULL: "full";
|
|
32
|
-
};
|
|
33
|
-
export type ToolProfile = (typeof TOOL_PROFILE)[keyof typeof TOOL_PROFILE];
|
|
34
|
-
export declare const TOOL_PROFILE_ENV = "RETICLE_TOOL_PROFILE";
|
|
35
|
-
export declare const CORE_TOOL_NAMES: ReadonlySet<string>;
|
|
36
|
-
export declare function resolveToolProfile(explicit?: string): ToolProfile;
|
|
37
|
-
export declare function filterTools(tools: ToolDef[], profile: ToolProfile): ToolDef[];
|
package/dist/tools/profiles.js
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { ReticleTool } from './tool-names.js';
|
|
2
|
-
/**
|
|
3
|
-
* Which MCP tool surface to expose. The advertised tool DEFINITIONS are re-sent to the model on
|
|
4
|
-
* every turn, so a smaller surface is a per-turn token saving that compounds across a loop. Fewer
|
|
5
|
-
* tools also makes the model wander less (fewer turns, higher accuracy). See bench/agent-loop-and-replay.md.
|
|
6
|
-
*
|
|
7
|
-
* MEASURED surface sizes (assert them with profile-reachability.test.ts rather than trusting prose —
|
|
8
|
-
* every count previously written here was wrong, and the token figures below derive from those counts):
|
|
9
|
-
* core 15 · standard 32 · hybrid 15 · full 43 · dynamic 2
|
|
10
|
-
* core and hybrid are both 14 because a trimmed profile now also advertises the two meta-tools, which
|
|
11
|
-
* is what keeps an un-advertised tool reachable through reticle_run.
|
|
12
|
-
*
|
|
13
|
-
* core — the verify loop a coding agent actually needs: navigate→look→act→observe→assert,
|
|
14
|
-
* WITH direct network + console + state observability (the highest-signal checks).
|
|
15
|
-
* The recommended profile for agent-driven verification.
|
|
16
|
-
* standard — core + common extras (inspect, sequences, animations, flows, session lifecycle,
|
|
17
|
-
* scroll, baselines, …). For agents that need more than the bare loop.
|
|
18
|
-
* hybrid — THE DEFAULT: core verify+oracle tools advertised directly + 2 meta-tools for on-demand
|
|
19
|
-
* reach to everything else. Core accuracy/detection at ~64% less schema tax than full.
|
|
20
|
-
* full — all tools advertised directly. Opt in via RETICLE_TOOL_PROFILE=full for hard-call scripts.
|
|
21
|
-
*/
|
|
22
|
-
export const TOOL_PROFILE = {
|
|
23
|
-
/** dynamic — advertise only 2 meta-tools (reticle_tools + reticle_run); load real tools on demand.
|
|
24
|
-
* Fixed ~hundreds of tokens/turn regardless of how many tools exist. See dynamic-tools.ts. */
|
|
25
|
-
DYNAMIC: 'dynamic',
|
|
26
|
-
/** hybrid — the core verify tools advertised directly (so the agent acts reliably) PLUS the 2
|
|
27
|
-
* meta-tools for on-demand reach to every other tool. Core accuracy + full reach at ~core cost. */
|
|
28
|
-
HYBRID: 'hybrid',
|
|
29
|
-
CORE: 'core',
|
|
30
|
-
STANDARD: 'standard',
|
|
31
|
-
FULL: 'full',
|
|
32
|
-
};
|
|
33
|
-
export const TOOL_PROFILE_ENV = 'RETICLE_TOOL_PROFILE';
|
|
34
|
-
// The set an agent needs to verify a change end-to-end. Tool DEFINITIONS are re-sent every turn, so a
|
|
35
|
-
// smaller surface compounds.
|
|
36
|
-
//
|
|
37
|
-
// MEASURED per-turn `tools/list` cost — the bytes an MCP client re-sends EVERY turn — taken off the
|
|
38
|
-
// real wire (spawn `mcp`, read tools/list, measure the serialized result), not estimated:
|
|
39
|
-
//
|
|
40
|
-
// dynamic 2 tools 1,531 B ~383 tok/turn
|
|
41
|
-
// core 15 tools 14,104 B ~3,526 tok/turn
|
|
42
|
-
// hybrid 15 tools 14,104 B ~3,526 tok/turn
|
|
43
|
-
// standard 32 tools 26,769 B ~6,692 tok/turn
|
|
44
|
-
// full 43 tools 105,061 B ~26,265 tok/turn
|
|
45
|
-
//
|
|
46
|
-
// These REPLACE the previous figures (core 6,479 / standard 13,951 / full 20,441), which the comment
|
|
47
|
-
// itself flagged as stale. Two of the three moved in opposite directions, which is why re-measuring
|
|
48
|
-
// mattered: the lean profiles got much CHEAPER because they now drop the advertised outputSchema,
|
|
49
|
-
// while `full` got much more EXPENSIVE because it still carries it — the gap between lean and full is
|
|
50
|
-
// 7.4x, not the ~3x the old numbers implied.
|
|
51
|
-
//
|
|
52
|
-
// Where the remaining cost sits, on the hybrid default: inputSchema is 76% of the payload (parameter
|
|
53
|
-
// descriptions are half of that), tool descriptions are 12%, and outputSchema is already ~0. So the
|
|
54
|
-
// next real saving is in parameter prose, not in dropping more tools.
|
|
55
|
-
//
|
|
56
|
-
// There is a floor, though: an 8-tool cut (dropping act/navigate/wait_for/sessions) was MEASURED to
|
|
57
|
-
// regress real-agent accuracy 5/5 -> 3/5, because the model loses scaffolding and wanders on harder
|
|
58
|
-
// flows. Direct network/console stay (far more discoverable than observe-with-filters -> fewer turns,
|
|
59
|
-
// better verdicts).
|
|
60
|
-
//
|
|
61
|
-
// Evidence status: the 5/5 figure came from a single gpt-4o run and is STALE as a justification.
|
|
62
|
-
// Current-model evidence is indirect but real — the cost-delta run (bench/fix-loop/COST-DELTA.md)
|
|
63
|
-
// drove this hybrid default on a current model and fixed 4/4 cells with ~25% FEWER tool calls than
|
|
64
|
-
// the baseline. A formal core-vs-hybrid A/B on a current model is still UNRUN; do not quote the 5/5
|
|
65
|
-
// number as if it were current. See bench/agent-loop-and-replay.md.
|
|
66
|
-
export const CORE_TOOL_NAMES = new Set([
|
|
67
|
-
ReticleTool.SESSIONS,
|
|
68
|
-
ReticleTool.NAVIGATE,
|
|
69
|
-
ReticleTool.SNAPSHOT,
|
|
70
|
-
ReticleTool.QUERY,
|
|
71
|
-
ReticleTool.ACT,
|
|
72
|
-
ReticleTool.ACT_AND_WAIT,
|
|
73
|
-
ReticleTool.OBSERVE,
|
|
74
|
-
ReticleTool.NETWORK,
|
|
75
|
-
ReticleTool.CONSOLE,
|
|
76
|
-
ReticleTool.WAIT_FOR,
|
|
77
|
-
ReticleTool.ASSERT,
|
|
78
|
-
ReticleTool.STATE,
|
|
79
|
-
// INSPECT is what turns a finding into an EDIT: it maps a DOM node to `src/App.tsx:104`. Finding a
|
|
80
|
-
// bug is half the job; knowing which file to open is the half that makes the agent useful, and it
|
|
81
|
-
// is the one capability here with no substitute in any other verification tool. It sat in
|
|
82
|
-
// `standard`, so under the default profile an agent had to already know it existed and reach it
|
|
83
|
-
// through reticle_run — which, observed over a full 43-tool drive, means it never gets called.
|
|
84
|
-
// The measured floor that justifies a lean core was about CUTTING to 8 (accuracy 5/5 → 3/5), not
|
|
85
|
-
// about holding at 12; one tool of schema tax to close the find→fix loop is the right trade.
|
|
86
|
-
ReticleTool.INSPECT,
|
|
87
|
-
// FEEDBACK is in every profile for the same reason INSPECT is: a tool an agent has to already know
|
|
88
|
-
// about, and reach through reticle_run, is a tool that never gets called. That is fatal here in a way
|
|
89
|
-
// it is not elsewhere — an unadvertised feedback channel collects nothing, which is indistinguishable
|
|
90
|
-
// from not having built one. It is also the cheapest tool on the surface to carry (three params) and
|
|
91
|
-
// the only one whose whole purpose is telling us which of the other fifteen are failing.
|
|
92
|
-
ReticleTool.FEEDBACK,
|
|
93
|
-
]);
|
|
94
|
-
const STANDARD_TOOL_NAMES = new Set([
|
|
95
|
-
...CORE_TOOL_NAMES,
|
|
96
|
-
ReticleTool.ACT_SEQUENCE,
|
|
97
|
-
ReticleTool.NETWORK,
|
|
98
|
-
ReticleTool.CONSOLE,
|
|
99
|
-
ReticleTool.ANIMATIONS,
|
|
100
|
-
ReticleTool.FLOW_SAVE,
|
|
101
|
-
ReticleTool.FLOW_REPLAY,
|
|
102
|
-
ReticleTool.FLOW_VERIFY,
|
|
103
|
-
ReticleTool.FLOW_HEAL,
|
|
104
|
-
ReticleTool.SESSION, // merged lifecycle/human-channel family
|
|
105
|
-
ReticleTool.FLOW, // merged flow list/load/delete
|
|
106
|
-
ReticleTool.RECORD, // merged record start/stop
|
|
107
|
-
ReticleTool.BASELINE, // merged baseline save/list/diff
|
|
108
|
-
ReticleTool.SCROLL_TO,
|
|
109
|
-
ReticleTool.CRAWL,
|
|
110
|
-
ReticleTool.REPLAY,
|
|
111
|
-
ReticleTool.EXPLORE,
|
|
112
|
-
ReticleTool.CONTRACT_SAVE,
|
|
113
|
-
ReticleTool.NETWORK_MOCK,
|
|
114
|
-
ReticleTool.VIEWPORT,
|
|
115
|
-
]);
|
|
116
|
-
export function resolveToolProfile(explicit) {
|
|
117
|
-
const raw = explicit ?? process.env[TOOL_PROFILE_ENV];
|
|
118
|
-
if (raw === TOOL_PROFILE.DYNAMIC)
|
|
119
|
-
return TOOL_PROFILE.DYNAMIC;
|
|
120
|
-
if (raw === TOOL_PROFILE.HYBRID)
|
|
121
|
-
return TOOL_PROFILE.HYBRID;
|
|
122
|
-
if (raw === TOOL_PROFILE.CORE)
|
|
123
|
-
return TOOL_PROFILE.CORE;
|
|
124
|
-
if (raw === TOOL_PROFILE.STANDARD)
|
|
125
|
-
return TOOL_PROFILE.STANDARD;
|
|
126
|
-
if (raw === TOOL_PROFILE.FULL)
|
|
127
|
-
return TOOL_PROFILE.FULL;
|
|
128
|
-
// Default: hybrid — the core verify+oracle tools advertised directly (no detection loss, verified
|
|
129
|
-
// 10/10 on the regression bench) PLUS the 2 meta-tools for on-demand reach to every other tool. ~64%
|
|
130
|
-
// less per-turn schema than `full` at the same accuracy. Explicit `full` still opts into all tools.
|
|
131
|
-
return TOOL_PROFILE.HYBRID;
|
|
132
|
-
}
|
|
133
|
-
export function filterTools(tools, profile) {
|
|
134
|
-
if (profile === TOOL_PROFILE.CORE)
|
|
135
|
-
return tools.filter((t) => CORE_TOOL_NAMES.has(t.name));
|
|
136
|
-
if (profile === TOOL_PROFILE.STANDARD)
|
|
137
|
-
return tools.filter((t) => STANDARD_TOOL_NAMES.has(t.name));
|
|
138
|
-
return tools;
|
|
139
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|