Documentation
¶
Overview ¶
Package cursor is the client adapter for the Cursor editor.
Index ¶
- type Adapter
- func (*Adapter) Activate(ctx context.Context, _ clients.Env, request domain.ActivationRequest) (domain.ActivationOutcome, error)
- func (*Adapter) Deactivate(ctx context.Context, _ clients.Env, _ domain.DeactivationRequest) (domain.DeactivationOutcome, error)
- func (*Adapter) DetectSurfaces(host clients.Host) clients.Detection
- func (*Adapter) ID() domain.ClientID
- func (*Adapter) InspectNativeRegistry(ctx context.Context, _ clients.Env, _ domain.DetectedClient, ...) (clients.RegistryFinding, error)
- func (*Adapter) Project(ctx context.Context, in clients.ProjectionInput) ([]domain.NativeObjectOwnership, error)
- func (*Adapter) ProjectActiveNative(ctx context.Context, root string, envelope domain.PackageEnvelope, ...) ([]domain.NativeObjectOwnership, error)
- func (*Adapter) RefinePlan(ctx context.Context, _ clients.PlanInput, plan *domain.DeliveryPlan) error
- func (*Adapter) ResolveProfileRoot(root string) (string, error)
- func (adapter *Adapter) TargetRoot(client domain.DetectedClient, mode domain.PackageMode, managedRoot string) (string, string, error)
- func (*Adapter) UsesNativeRegistryExecutable() bool
- func (adapter *Adapter) ValidateBindingProfile(root string, binding domain.ClientBinding) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter struct{}
Adapter implements the client contract for Cursor.
func New ¶
func New() *Adapter
New builds the adapter. The composition root registers it in clients/all.
func (*Adapter) Activate ¶
func (*Adapter) Activate(ctx context.Context, _ clients.Env, request domain.ActivationRequest) (domain.ActivationOutcome, error)
Activate reports manual preparation. A reload or operator attestation cannot establish native discovery, CLI capability, or genuine Stop qualification.
func (*Adapter) Deactivate ¶
func (*Adapter) Deactivate(ctx context.Context, _ clients.Env, _ domain.DeactivationRequest) (domain.DeactivationOutcome, error)
Deactivate has nothing to unwind: Cursor never received a managed CLI entry.
func (*Adapter) DetectSurfaces ¶
DetectSurfaces reports editor and agent binary presence separately. The retained package preparation contract is for the editor; neither presence nor a leftover directory qualifies native agent plugins or Stop events.
func (*Adapter) InspectNativeRegistry ¶
func (*Adapter) InspectNativeRegistry(ctx context.Context, _ clients.Env, _ domain.DetectedClient, _ domain.DeliveryPlan, _ *domain.ClientBinding) (clients.RegistryFinding, error)
func (*Adapter) Project ¶
func (*Adapter) Project(ctx context.Context, in clients.ProjectionInput) ([]domain.NativeObjectOwnership, error)
Project writes Cursor's compatibility manifest and MCP document.
func (*Adapter) ProjectActiveNative ¶
func (*Adapter) ProjectActiveNative(ctx context.Context, root string, envelope domain.PackageEnvelope, plan domain.DeliveryPlan, _ string) ([]domain.NativeObjectOwnership, error)
ProjectActiveNative validates the verified package's requested projection. Cursor's package layout owns no profile entries. The lifecycle retains any separately acknowledged Stop receipt; a planned receipt is not ownership.
func (*Adapter) RefinePlan ¶
func (*Adapter) ResolveProfileRoot ¶
ResolveProfileRoot selects physical filesystem authority, without creating missing parents. It does not assert that a native client reads this directory. Existing symlink aliases resolve before the shared no-follow writer policy.
func (*Adapter) TargetRoot ¶
func (adapter *Adapter) TargetRoot(client domain.DetectedClient, mode domain.PackageMode, managedRoot string) (string, string, error)
TargetRoot retains the legacy editor package preparation layout. Native scanning of this location remains an S4 qualification, not a path assertion.
func (*Adapter) UsesNativeRegistryExecutable ¶
func (*Adapter) ValidateBindingProfile ¶
func (adapter *Adapter) ValidateBindingProfile(root string, binding domain.ClientBinding) error
ValidateBindingProfile checks the recorded package locator against the selected physical root. Legacy preparation has no native activation receipt; only an exact artifact path can establish its filesystem profile authority. Directory replacement identity still requires the shared UC-P seam.