session

package
v0.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const MaxGrantArtifactLifetime = 5 * time.Minute

Variables

This section is empty.

Functions

func AllowsProcessLaunch added in v0.7.2

func AllowsProcessLaunch(meta *Meta) bool

AllowsProcessLaunch reports whether the session may open a general-purpose shell or launch an arbitrary process. Execute without write remains available to explicitly modeled, non-mutating runtime capabilities.

func ValidateGrantServerNotifyRemote added in v0.7.1

func ValidateGrantServerNotifyRemote(n *GrantServerNotify, expectedEndpointID string) error

ValidateGrantServerNotifyRemote validates a remote control-plane grant notification.

Local direct sessions are initiated by the runtime itself and must not be routed through this remote grant_server contract.

Types

type ChannelInitGrant added in v0.11.0

type ChannelInitGrant struct {
	ArtifactJSON           json.RawMessage `json:"artifact_json"`
	ChannelID              string          `json:"channel_id"`
	ArtifactExpiresAtUnixS int64           `json:"artifact_expires_at_unix_s"`
}

ChannelInitGrant is the Redeven control-plane notification DTO. It is intentionally limited to the published Flowersec v2 artifact grant fields; transport/session implementation details stay inside Flowersec.

type GrantServerNotify

type GrantServerNotify struct {
	GrantServer *ChannelInitGrant `json:"grant_server"`
	SessionMeta *Meta             `json:"session_meta"`
}

GrantServerNotify is a control-channel notification: - grant_server: tunnel server grant for the agent - session_meta: immutable permissions and routing info

type Meta

type Meta struct {
	ChannelID         string `json:"channel_id"`
	EndpointID        string `json:"endpoint_id"`
	FloeApp           string `json:"floe_app"`
	CodeSpaceID       string `json:"code_space_id,omitempty"`
	SessionKind       string `json:"session_kind,omitempty"`
	UserPublicID      string `json:"user_public_id"`
	UserEmail         string `json:"user_email"`
	NamespacePublicID string `json:"namespace_public_id"`
	CanRead           bool   `json:"can_read"`
	CanWrite          bool   `json:"can_write"`
	CanExecute        bool   `json:"can_execute"`
	// CanAdmin gates management actions on the data plane (e.g. codespace create/delete/rename).
	//
	// NOTE: this is the namespace-level "admin" bit computed service-side and delivered by the control plane.
	// It is NOT part of the local permission_policy RWX clamp.
	CanAdmin        bool  `json:"can_admin"`
	CreatedAtUnixMs int64 `json:"created_at_unix_ms"`
}

Meta is the authoritative session metadata delivered by the Redeven control plane over the direct control channel.

Agents must NOT trust any permissions or app identifiers claimed by the browser on the data plane.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL