Files
pulse/internal/agentcapabilities/tool_names.go
T
rcourtman 39f988b220 Remove AI Discovery
AI Discovery ran a separate model-backed service scanner beside Patrol
and the Assistant: its own store, scheduler, model route, API, tool and
drawer UI. No telemetry counter ever measured its use (the telemetry
discovery_enabled flag OR'd it with network subnet discovery), the
maintainer judged it a flop, and the context it produced is already
available to the models through pulse_query, pulse_read and the
unified-resource context sections.

This deletes internal/servicediscovery, internal/ai/infradiscovery, the
pulse_discovery tool, the /api/discovery routes, the mock Discovery
fixtures, the Discovery tabs in the resource, guest, node and Docker host
drawers, the identified-service cards, readiness badges, provenance
markers, suggested web-interface URLs, the Workloads AI Context column,
the chat "Discovery is off" hint and the AI Service Context settings page.
The old settings route redirects to Assistant settings. The model-bound
sanitizer allow-list existed only to pass Discovery context through, so it
goes too, along with the CopyableCodeRow primitive that only the
Discovery tab used.

Network subnet discovery (/api/discover, the Infrastructure discovery
settings) and the discoveryTarget agent coordinates are separate features
and stay. Stored discovery_enabled, discovery_interval_hours and
discovery_model AI settings are ignored on load; the settings API decoder
is lenient, so older frontends saving those fields still succeed.
2026-10-11 22:20:25 +01:00

53 lines
2.5 KiB
Go

package agentcapabilities
const (
PulseQueryToolName = "pulse_query"
PulseMetricsToolName = "pulse_metrics"
PulseStorageToolName = "pulse_storage"
PulseDockerToolName = "pulse_docker"
PulseKubernetesToolName = "pulse_kubernetes"
PulseAlertsToolName = "pulse_alerts"
PulseReadToolName = "pulse_read"
PulseControlToolName = "pulse_control"
PulseFileEditToolName = "pulse_file_edit"
PulseKnowledgeToolName = "pulse_knowledge"
PulsePMGToolName = "pulse_pmg"
PulseSummarizeToolName = "pulse_summarize"
PulseRunCommandToolName = "pulse_run_command"
PulseControlGuestToolName = "pulse_control_guest"
PulseControlDockerToolName = "pulse_control_docker"
PulseSearchResourcesToolName = "pulse_search_resources"
PulseGetResourceToolName = "pulse_get_resource"
PulseGetTopologyToolName = "pulse_get_topology"
PulseListInfrastructureToolName = "pulse_list_infrastructure"
PulseGetConnectionHealthToolName = "pulse_get_connection_health"
PulseGetDockerLogsToolName = "pulse_get_docker_logs"
PulseGetPerformanceMetricsToolName = "pulse_get_performance_metrics"
PulseGetTemperaturesToolName = "pulse_get_temperatures"
PulseGetBaselinesToolName = "pulse_get_baselines"
PulseGetPatternsToolName = "pulse_get_patterns"
PatrolGetFindingsToolName = "patrol_get_findings"
PatrolAssessFindingToolName = "patrol_assess_finding"
PatrolReportFindingToolName = "patrol_report_finding"
PatrolResolveFindingToolName = "patrol_resolve_finding"
// PatrolProposeObserverToolName is the Patrol-detection-only monitor
// builder boundary. The model may author a bounded observer proposal, but
// core owns its identity, digest, validation, installation, and health.
PatrolProposeObserverToolName = "patrol_propose_observer"
// PatrolProposeActionToolName is the side-effect-free typed action
// proposal capture for Patrol investigations. Mutation-none: it
// records a validated proposal in the request-local capture sink;
// planning, approval, and execution stay on the canonical action
// lifecycle.
PatrolProposeActionToolName = "patrol_propose_action"
// PatrolActionCapabilitiesToolName is the investigation-only,
// side-effect-free lookup for the typed actions advertised by any
// canonical resource the investigation has identified. It lets the
// model choose an action target from evidence instead of pinning
// remediation to the finding's initial resource.
PatrolActionCapabilitiesToolName = "patrol_action_capabilities"
)