SYMBOL INDEX (14495 symbols across 1460 files) FILE: .claude/skills/deflake/collect-flakes.py function gh_api (line 17) | def gh_api(endpoint): function fetch_all_runs (line 26) | def fetch_all_runs(): function get_failed_logs (line 42) | def get_failed_logs(run_id): function strip_ansi (line 51) | def strip_ansi(text): function extract_ginkgo_failures (line 56) | def extract_ginkgo_failures(log_lines): function extract_unit_test_failures (line 73) | def extract_unit_test_failures(log_lines): function extract_job_name (line 89) | def extract_job_name(line): function extract_failure_mode (line 95) | def extract_failure_mode(log_text): function find_failure_context (line 115) | def find_failure_context(log_lines, test_name, fail_line_idx): function main (line 148) | def main(): FILE: cmd/help/main.go constant fmTemplate (line 21) | fmTemplate = `--- function filePrepender (line 35) | func filePrepender(filename string) string { function linkHandler (line 44) | func linkHandler(filename string) string { function main (line 49) | func main() { FILE: cmd/thv-operator/api/v1alpha1/types.go type EmbeddingServer (line 25) | type EmbeddingServer struct type EmbeddingServerList (line 36) | type EmbeddingServerList struct type MCPExternalAuthConfig (line 54) | type MCPExternalAuthConfig struct type MCPExternalAuthConfigList (line 65) | type MCPExternalAuthConfigList struct type MCPGroup (line 83) | type MCPGroup struct type MCPGroupList (line 94) | type MCPGroupList struct type MCPOIDCConfig (line 112) | type MCPOIDCConfig struct type MCPOIDCConfigList (line 123) | type MCPOIDCConfigList struct type MCPRegistry (line 142) | type MCPRegistry struct type MCPRegistryList (line 153) | type MCPRegistryList struct type MCPRemoteProxy (line 172) | type MCPRemoteProxy struct type MCPRemoteProxyList (line 183) | type MCPRemoteProxyList struct type MCPServer (line 202) | type MCPServer struct type MCPServerList (line 213) | type MCPServerList struct type MCPServerEntry (line 232) | type MCPServerEntry struct type MCPServerEntryList (line 243) | type MCPServerEntryList struct type MCPTelemetryConfig (line 262) | type MCPTelemetryConfig struct type MCPTelemetryConfigList (line 273) | type MCPTelemetryConfigList struct type MCPToolConfig (line 290) | type MCPToolConfig struct type MCPToolConfigList (line 301) | type MCPToolConfigList struct type VirtualMCPCompositeToolDefinition (line 321) | type VirtualMCPCompositeToolDefinition struct type VirtualMCPCompositeToolDefinitionList (line 332) | type VirtualMCPCompositeToolDefinitionList struct type VirtualMCPServer (line 351) | type VirtualMCPServer struct type VirtualMCPServerList (line 362) | type VirtualMCPServerList struct function init (line 370) | func init() { FILE: cmd/thv-operator/api/v1alpha1/zz_generated.deepcopy.go method DeepCopyInto (line 28) | func (in *EmbeddingServer) DeepCopyInto(out *EmbeddingServer) { method DeepCopy (line 37) | func (in *EmbeddingServer) DeepCopy() *EmbeddingServer { method DeepCopyObject (line 47) | func (in *EmbeddingServer) DeepCopyObject() runtime.Object { method DeepCopyInto (line 55) | func (in *EmbeddingServerList) DeepCopyInto(out *EmbeddingServerList) { method DeepCopy (line 69) | func (in *EmbeddingServerList) DeepCopy() *EmbeddingServerList { method DeepCopyObject (line 79) | func (in *EmbeddingServerList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 87) | func (in *MCPExternalAuthConfig) DeepCopyInto(out *MCPExternalAuthConfig) { method DeepCopy (line 96) | func (in *MCPExternalAuthConfig) DeepCopy() *MCPExternalAuthConfig { method DeepCopyObject (line 106) | func (in *MCPExternalAuthConfig) DeepCopyObject() runtime.Object { method DeepCopyInto (line 114) | func (in *MCPExternalAuthConfigList) DeepCopyInto(out *MCPExternalAuthCo... method DeepCopy (line 128) | func (in *MCPExternalAuthConfigList) DeepCopy() *MCPExternalAuthConfigLi... method DeepCopyObject (line 138) | func (in *MCPExternalAuthConfigList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 146) | func (in *MCPGroup) DeepCopyInto(out *MCPGroup) { method DeepCopy (line 155) | func (in *MCPGroup) DeepCopy() *MCPGroup { method DeepCopyObject (line 165) | func (in *MCPGroup) DeepCopyObject() runtime.Object { method DeepCopyInto (line 173) | func (in *MCPGroupList) DeepCopyInto(out *MCPGroupList) { method DeepCopy (line 187) | func (in *MCPGroupList) DeepCopy() *MCPGroupList { method DeepCopyObject (line 197) | func (in *MCPGroupList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 205) | func (in *MCPOIDCConfig) DeepCopyInto(out *MCPOIDCConfig) { method DeepCopy (line 214) | func (in *MCPOIDCConfig) DeepCopy() *MCPOIDCConfig { method DeepCopyObject (line 224) | func (in *MCPOIDCConfig) DeepCopyObject() runtime.Object { method DeepCopyInto (line 232) | func (in *MCPOIDCConfigList) DeepCopyInto(out *MCPOIDCConfigList) { method DeepCopy (line 246) | func (in *MCPOIDCConfigList) DeepCopy() *MCPOIDCConfigList { method DeepCopyObject (line 256) | func (in *MCPOIDCConfigList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 264) | func (in *MCPRegistry) DeepCopyInto(out *MCPRegistry) { method DeepCopy (line 273) | func (in *MCPRegistry) DeepCopy() *MCPRegistry { method DeepCopyObject (line 283) | func (in *MCPRegistry) DeepCopyObject() runtime.Object { method DeepCopyInto (line 291) | func (in *MCPRegistryList) DeepCopyInto(out *MCPRegistryList) { method DeepCopy (line 305) | func (in *MCPRegistryList) DeepCopy() *MCPRegistryList { method DeepCopyObject (line 315) | func (in *MCPRegistryList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 323) | func (in *MCPRemoteProxy) DeepCopyInto(out *MCPRemoteProxy) { method DeepCopy (line 332) | func (in *MCPRemoteProxy) DeepCopy() *MCPRemoteProxy { method DeepCopyObject (line 342) | func (in *MCPRemoteProxy) DeepCopyObject() runtime.Object { method DeepCopyInto (line 350) | func (in *MCPRemoteProxyList) DeepCopyInto(out *MCPRemoteProxyList) { method DeepCopy (line 364) | func (in *MCPRemoteProxyList) DeepCopy() *MCPRemoteProxyList { method DeepCopyObject (line 374) | func (in *MCPRemoteProxyList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 382) | func (in *MCPServer) DeepCopyInto(out *MCPServer) { method DeepCopy (line 391) | func (in *MCPServer) DeepCopy() *MCPServer { method DeepCopyObject (line 401) | func (in *MCPServer) DeepCopyObject() runtime.Object { method DeepCopyInto (line 409) | func (in *MCPServerEntry) DeepCopyInto(out *MCPServerEntry) { method DeepCopy (line 418) | func (in *MCPServerEntry) DeepCopy() *MCPServerEntry { method DeepCopyObject (line 428) | func (in *MCPServerEntry) DeepCopyObject() runtime.Object { method DeepCopyInto (line 436) | func (in *MCPServerEntryList) DeepCopyInto(out *MCPServerEntryList) { method DeepCopy (line 450) | func (in *MCPServerEntryList) DeepCopy() *MCPServerEntryList { method DeepCopyObject (line 460) | func (in *MCPServerEntryList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 468) | func (in *MCPServerList) DeepCopyInto(out *MCPServerList) { method DeepCopy (line 482) | func (in *MCPServerList) DeepCopy() *MCPServerList { method DeepCopyObject (line 492) | func (in *MCPServerList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 500) | func (in *MCPTelemetryConfig) DeepCopyInto(out *MCPTelemetryConfig) { method DeepCopy (line 509) | func (in *MCPTelemetryConfig) DeepCopy() *MCPTelemetryConfig { method DeepCopyObject (line 519) | func (in *MCPTelemetryConfig) DeepCopyObject() runtime.Object { method DeepCopyInto (line 527) | func (in *MCPTelemetryConfigList) DeepCopyInto(out *MCPTelemetryConfigLi... method DeepCopy (line 541) | func (in *MCPTelemetryConfigList) DeepCopy() *MCPTelemetryConfigList { method DeepCopyObject (line 551) | func (in *MCPTelemetryConfigList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 559) | func (in *MCPToolConfig) DeepCopyInto(out *MCPToolConfig) { method DeepCopy (line 568) | func (in *MCPToolConfig) DeepCopy() *MCPToolConfig { method DeepCopyObject (line 578) | func (in *MCPToolConfig) DeepCopyObject() runtime.Object { method DeepCopyInto (line 586) | func (in *MCPToolConfigList) DeepCopyInto(out *MCPToolConfigList) { method DeepCopy (line 600) | func (in *MCPToolConfigList) DeepCopy() *MCPToolConfigList { method DeepCopyObject (line 610) | func (in *MCPToolConfigList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 618) | func (in *VirtualMCPCompositeToolDefinition) DeepCopyInto(out *VirtualMC... method DeepCopy (line 627) | func (in *VirtualMCPCompositeToolDefinition) DeepCopy() *VirtualMCPCompo... method DeepCopyObject (line 637) | func (in *VirtualMCPCompositeToolDefinition) DeepCopyObject() runtime.Ob... method DeepCopyInto (line 645) | func (in *VirtualMCPCompositeToolDefinitionList) DeepCopyInto(out *Virtu... method DeepCopy (line 659) | func (in *VirtualMCPCompositeToolDefinitionList) DeepCopy() *VirtualMCPC... method DeepCopyObject (line 669) | func (in *VirtualMCPCompositeToolDefinitionList) DeepCopyObject() runtim... method DeepCopyInto (line 677) | func (in *VirtualMCPServer) DeepCopyInto(out *VirtualMCPServer) { method DeepCopy (line 686) | func (in *VirtualMCPServer) DeepCopy() *VirtualMCPServer { method DeepCopyObject (line 696) | func (in *VirtualMCPServer) DeepCopyObject() runtime.Object { method DeepCopyInto (line 704) | func (in *VirtualMCPServerList) DeepCopyInto(out *VirtualMCPServerList) { method DeepCopy (line 718) | func (in *VirtualMCPServerList) DeepCopy() *VirtualMCPServerList { method DeepCopyObject (line 728) | func (in *VirtualMCPServerList) DeepCopyObject() runtime.Object { FILE: cmd/thv-operator/api/v1beta1/conditions.go constant ConditionTypeValid (line 8) | ConditionTypeValid = "Valid" constant ConditionTypeDeletionBlocked (line 9) | ConditionTypeDeletionBlocked = "DeletionBlocked" FILE: cmd/thv-operator/api/v1beta1/embeddingserver_types.go constant ConditionModelReady (line 16) | ConditionModelReady = "ModelReady" constant ConditionVolumeReady (line 19) | ConditionVolumeReady = "VolumeReady" constant ConditionReasonModelDownloading (line 27) | ConditionReasonModelDownloading = "ModelDownloading" constant ConditionReasonModelReady (line 29) | ConditionReasonModelReady = "ModelReady" constant ConditionReasonModelFailed (line 31) | ConditionReasonModelFailed = "ModelFailed" constant ConditionReasonVolumeCreating (line 34) | ConditionReasonVolumeCreating = "VolumeCreating" constant ConditionReasonVolumeReady (line 36) | ConditionReasonVolumeReady = "VolumeReady" constant ConditionReasonVolumeFailed (line 38) | ConditionReasonVolumeFailed = "VolumeFailed" type EmbeddingServerSpec (line 42) | type EmbeddingServerSpec struct type ModelCacheConfig (line 112) | type ModelCacheConfig struct type EmbeddingResourceOverrides (line 136) | type EmbeddingResourceOverrides struct type EmbeddingStatefulSetOverrides (line 151) | type EmbeddingStatefulSetOverrides struct type EmbeddingServerStatus (line 161) | type EmbeddingServerStatus struct type EmbeddingServerPhase (line 191) | type EmbeddingServerPhase constant EmbeddingServerPhasePending (line 195) | EmbeddingServerPhasePending EmbeddingServerPhase = "Pending" constant EmbeddingServerPhaseDownloading (line 198) | EmbeddingServerPhaseDownloading EmbeddingServerPhase = "Downloading" constant EmbeddingServerPhaseReady (line 201) | EmbeddingServerPhaseReady EmbeddingServerPhase = "Ready" constant EmbeddingServerPhaseFailed (line 204) | EmbeddingServerPhaseFailed EmbeddingServerPhase = "Failed" constant EmbeddingServerPhaseTerminating (line 207) | EmbeddingServerPhaseTerminating EmbeddingServerPhase = "Terminating" type EmbeddingServer (line 221) | type EmbeddingServer struct method GetName (line 239) | func (e *EmbeddingServer) GetName() string { method GetNamespace (line 244) | func (e *EmbeddingServer) GetNamespace() string { method GetPort (line 249) | func (e *EmbeddingServer) GetPort() int32 { method GetReplicas (line 257) | func (e *EmbeddingServer) GetReplicas() int32 { method IsModelCacheEnabled (line 265) | func (e *EmbeddingServer) IsModelCacheEnabled() bool { method GetImagePullPolicy (line 273) | func (e *EmbeddingServer) GetImagePullPolicy() string { type EmbeddingServerList (line 232) | type EmbeddingServerList struct function init (line 280) | func init() { FILE: cmd/thv-operator/api/v1beta1/mcpexternalauthconfig_types.go constant ExternalAuthTypeTokenExchange (line 18) | ExternalAuthTypeTokenExchange ExternalAuthType = "tokenExchange" constant ExternalAuthTypeHeaderInjection (line 21) | ExternalAuthTypeHeaderInjection ExternalAuthType = "headerInjection" constant ExternalAuthTypeBearerToken (line 25) | ExternalAuthTypeBearerToken ExternalAuthType = "bearerToken" constant ExternalAuthTypeUnauthenticated (line 30) | ExternalAuthTypeUnauthenticated ExternalAuthType = "unauthenticated" constant ExternalAuthTypeEmbeddedAuthServer (line 34) | ExternalAuthTypeEmbeddedAuthServer ExternalAuthType = "embeddedAuthServer" constant ExternalAuthTypeAWSSts (line 37) | ExternalAuthTypeAWSSts ExternalAuthType = "awsSts" constant ExternalAuthTypeUpstreamInject (line 41) | ExternalAuthTypeUpstreamInject ExternalAuthType = "upstreamInject" type ExternalAuthType (line 45) | type ExternalAuthType type MCPExternalAuthConfigSpec (line 60) | type MCPExternalAuthConfigSpec struct type TokenExchangeConfig (line 101) | type TokenExchangeConfig struct type HeaderInjectionConfig (line 154) | type HeaderInjectionConfig struct type BearerTokenConfig (line 168) | type BearerTokenConfig struct type EmbeddedAuthServerConfig (line 176) | type EmbeddedAuthServerConfig struct method SyntheticIdentityUpstreams (line 994) | func (c *EmbeddedAuthServerConfig) SyntheticIdentityUpstreams() []stri... type TokenLifespanConfig (line 241) | type TokenLifespanConfig struct type UpstreamProviderType (line 265) | type UpstreamProviderType constant UpstreamProviderTypeOIDC (line 269) | UpstreamProviderTypeOIDC UpstreamProviderType = "oidc" constant UpstreamProviderTypeOAuth2 (line 272) | UpstreamProviderTypeOAuth2 UpstreamProviderType = "oauth2" type UpstreamProviderConfig (line 276) | type UpstreamProviderConfig struct method AdditionalAuthorizationParams (line 979) | func (p *UpstreamProviderConfig) AdditionalAuthorizationParams() map[s... type OIDCUpstreamConfig (line 304) | type OIDCUpstreamConfig struct type OAuth2UpstreamConfig (line 357) | type OAuth2UpstreamConfig struct type TokenResponseMapping (line 418) | type TokenResponseMapping struct type UserInfoConfig (line 444) | type UserInfoConfig struct type UserInfoFieldMapping (line 478) | type UserInfoFieldMapping struct constant AuthServerStorageTypeMemory (line 504) | AuthServerStorageTypeMemory AuthServerStorageType = "memory" constant AuthServerStorageTypeRedis (line 507) | AuthServerStorageTypeRedis AuthServerStorageType = "redis" type AuthServerStorageType (line 511) | type AuthServerStorageType type AuthServerStorageConfig (line 514) | type AuthServerStorageConfig struct type RedisStorageConfig (line 533) | type RedisStorageConfig struct type RedisSentinelConfig (line 582) | type RedisSentinelConfig struct type SentinelServiceRef (line 605) | type SentinelServiceRef struct type RedisTLSConfig (line 622) | type RedisTLSConfig struct type RedisACLUserConfig (line 635) | type RedisACLUserConfig struct type SecretKeyRef (line 650) | type SecretKeyRef struct type AWSStsConfig (line 663) | type AWSStsConfig struct type RoleMapping (line 730) | type RoleMapping struct type UpstreamInjectSpec (line 767) | type UpstreamInjectSpec struct constant ConditionTypeIdentitySynthesized (line 784) | ConditionTypeIdentitySynthesized = "IdentitySynthesized" constant ConditionReasonIdentitySynthesizedActive (line 791) | ConditionReasonIdentitySynthesizedActive = "OAuth2UpstreamWithoutUserInfo" constant ConditionReasonIdentitySynthesizedInactive (line 795) | ConditionReasonIdentitySynthesizedInactive = "AllUpstreamsHaveUserInfo" type MCPExternalAuthConfigStatus (line 799) | type MCPExternalAuthConfigStatus struct type MCPExternalAuthConfig (line 836) | type MCPExternalAuthConfig struct method Validate (line 859) | func (r *MCPExternalAuthConfig) Validate() error { method validateTypeConfigConsistency (line 890) | func (r *MCPExternalAuthConfig) validateTypeConfigConsistency() error { method validateEmbeddedAuthServer (line 928) | func (r *MCPExternalAuthConfig) validateEmbeddedAuthServer() error { method validateUpstreamProvider (line 960) | func (*MCPExternalAuthConfig) validateUpstreamProvider(index int, prov... method validateAWSSts (line 1023) | func (r *MCPExternalAuthConfig) validateAWSSts() error { type MCPExternalAuthConfigList (line 847) | type MCPExternalAuthConfigList struct function ValidateAdditionalAuthorizationParams (line 1014) | func ValidateAdditionalAuthorizationParams(prefix string, params map[str... function init (line 1074) | func init() { FILE: cmd/thv-operator/api/v1beta1/mcpexternalauthconfig_types_test.go function TestMCPExternalAuthConfig_Validate (line 14) | func TestMCPExternalAuthConfig_Validate(t *testing.T) { function TestMCPExternalAuthConfig_validateEmbeddedAuthServer (line 305) | func TestMCPExternalAuthConfig_validateEmbeddedAuthServer(t *testing.T) { function TestMCPExternalAuthConfig_validateUpstreamProvider (line 432) | func TestMCPExternalAuthConfig_validateUpstreamProvider(t *testing.T) { function TestEmbeddedAuthServerConfig_SyntheticIdentityUpstreams (line 601) | func TestEmbeddedAuthServerConfig_SyntheticIdentityUpstreams(t *testing.... FILE: cmd/thv-operator/api/v1beta1/mcpgroup_types.go type MCPGroupSpec (line 11) | type MCPGroupSpec struct type MCPGroupStatus (line 18) | type MCPGroupStatus struct type MCPGroupPhase (line 64) | type MCPGroupPhase constant MCPGroupPhaseReady (line 68) | MCPGroupPhaseReady MCPGroupPhase = "Ready" constant MCPGroupPhasePending (line 71) | MCPGroupPhasePending MCPGroupPhase = "Pending" constant MCPGroupPhaseFailed (line 74) | MCPGroupPhaseFailed MCPGroupPhase = "Failed" constant ConditionTypeMCPServersChecked (line 79) | ConditionTypeMCPServersChecked = "MCPServersChecked" constant ConditionReasonListMCPServersFailed (line 84) | ConditionReasonListMCPServersFailed = "ListMCPServersCheckFailed" constant ConditionReasonListMCPServersSucceeded (line 85) | ConditionReasonListMCPServersSucceeded = "ListMCPServersCheckSucceeded" type MCPGroup (line 98) | type MCPGroup struct type MCPGroupList (line 109) | type MCPGroupList struct function init (line 115) | func init() { FILE: cmd/thv-operator/api/v1beta1/mcpoidcconfig_types.go constant MCPOIDCConfigTypeKubernetesServiceAccount (line 15) | MCPOIDCConfigTypeKubernetesServiceAccount MCPOIDCConfigSourceType = "kub... constant MCPOIDCConfigTypeInline (line 18) | MCPOIDCConfigTypeInline MCPOIDCConfigSourceType = "inline" constant ConditionTypeOIDCConfigValid (line 24) | ConditionTypeOIDCConfigValid = ConditionTypeValid constant ConditionReasonOIDCConfigValid (line 27) | ConditionReasonOIDCConfigValid = "ConfigValid" constant ConditionReasonOIDCConfigInvalid (line 30) | ConditionReasonOIDCConfigInvalid = "ConfigInvalid" type MCPOIDCConfigSourceType (line 34) | type MCPOIDCConfigSourceType type MCPOIDCConfigSpec (line 44) | type MCPOIDCConfigSpec struct type KubernetesServiceAccountOIDCConfig (line 63) | type KubernetesServiceAccountOIDCConfig struct type InlineOIDCSharedConfig (line 100) | type InlineOIDCSharedConfig struct constant WorkloadKindMCPServer (line 153) | WorkloadKindMCPServer = "MCPServer" constant WorkloadKindVirtualMCPServer (line 154) | WorkloadKindVirtualMCPServer = "VirtualMCPServer" constant WorkloadKindMCPRemoteProxy (line 155) | WorkloadKindMCPRemoteProxy = "MCPRemoteProxy" type WorkloadReference (line 160) | type WorkloadReference struct type MCPOIDCConfigStatus (line 173) | type MCPOIDCConfigStatus struct type MCPOIDCConfig (line 209) | type MCPOIDCConfig struct method Validate (line 260) | func (r *MCPOIDCConfig) Validate() error { method validateTypeConfigConsistency (line 266) | func (r *MCPOIDCConfig) validateTypeConfigConsistency() error { type MCPOIDCConfigList (line 220) | type MCPOIDCConfigList struct type MCPOIDCConfigReference (line 228) | type MCPOIDCConfigReference struct function init (line 276) | func init() { FILE: cmd/thv-operator/api/v1beta1/mcpregistry_parse_test.go function marshalToRawJSON (line 17) | func marshalToRawJSON(t *testing.T, v any) apiextensionsv1.JSON { function TestParseVolumes (line 24) | func TestParseVolumes(t *testing.T) { function TestParseVolumeMounts (line 115) | func TestParseVolumeMounts(t *testing.T) { FILE: cmd/thv-operator/api/v1beta1/mcpregistry_types.go type MCPRegistrySpec (line 17) | type MCPRegistrySpec struct method ParseVolumes (line 254) | func (s *MCPRegistrySpec) ParseVolumes() ([]corev1.Volume, error) { method ParseVolumeMounts (line 268) | func (s *MCPRegistrySpec) ParseVolumeMounts() ([]corev1.VolumeMount, e... type MCPRegistryStatus (line 150) | type MCPRegistryStatus struct type MCPRegistryPhase (line 180) | type MCPRegistryPhase constant MCPRegistryPhasePending (line 184) | MCPRegistryPhasePending MCPRegistryPhase = "Pending" constant MCPRegistryPhaseReady (line 187) | MCPRegistryPhaseReady MCPRegistryPhase = "Ready" constant MCPRegistryPhaseFailed (line 190) | MCPRegistryPhaseFailed MCPRegistryPhase = "Failed" constant MCPRegistryPhaseTerminating (line 193) | MCPRegistryPhaseTerminating MCPRegistryPhase = "Terminating" constant ConditionReasonRegistryReady (line 199) | ConditionReasonRegistryReady = "Ready" constant ConditionReasonRegistryNotReady (line 202) | ConditionReasonRegistryNotReady = "NotReady" type MCPRegistry (line 216) | type MCPRegistry struct method GetAPIResourceName (line 234) | func (r *MCPRegistry) GetAPIResourceName() string { method HasPodTemplateSpec (line 243) | func (r *MCPRegistry) HasPodTemplateSpec() bool { method GetPodTemplateSpecRaw (line 248) | func (r *MCPRegistry) GetPodTemplateSpecRaw() *runtime.RawExtension { type MCPRegistryList (line 227) | type MCPRegistryList struct function init (line 238) | func init() { FILE: cmd/thv-operator/api/v1beta1/mcpremoteproxy_types.go type HeaderForwardConfig (line 11) | type HeaderForwardConfig struct type HeaderFromSecret (line 26) | type HeaderFromSecret struct type MCPRemoteProxySpec (line 39) | type MCPRemoteProxySpec struct type MCPRemoteProxyStatus (line 142) | type MCPRemoteProxyStatus struct type MCPRemoteProxyPhase (line 193) | type MCPRemoteProxyPhase constant MCPRemoteProxyPhasePending (line 197) | MCPRemoteProxyPhasePending MCPRemoteProxyPhase = "Pending" constant MCPRemoteProxyPhaseReady (line 200) | MCPRemoteProxyPhaseReady MCPRemoteProxyPhase = "Ready" constant MCPRemoteProxyPhaseFailed (line 203) | MCPRemoteProxyPhaseFailed MCPRemoteProxyPhase = "Failed" constant MCPRemoteProxyPhaseTerminating (line 206) | MCPRemoteProxyPhaseTerminating MCPRemoteProxyPhase = "Terminating" constant ConditionTypeReady (line 212) | ConditionTypeReady = "Ready" constant ConditionTypeRemoteAvailable (line 215) | ConditionTypeRemoteAvailable = "RemoteAvailable" constant ConditionTypeAuthConfigured (line 218) | ConditionTypeAuthConfigured = "AuthConfigured" constant ConditionTypeMCPRemoteProxyGroupRefValidated (line 221) | ConditionTypeMCPRemoteProxyGroupRefValidated = "GroupRefValidated" constant ConditionTypeMCPRemoteProxyToolConfigValidated (line 224) | ConditionTypeMCPRemoteProxyToolConfigValidated = "ToolConfigValidated" constant ConditionTypeMCPRemoteProxyTelemetryConfigRefValidated (line 227) | ConditionTypeMCPRemoteProxyTelemetryConfigRefValidated = "TelemetryConfi... constant ConditionTypeMCPRemoteProxyExternalAuthConfigValidated (line 230) | ConditionTypeMCPRemoteProxyExternalAuthConfigValidated = "ExternalAuthCo... constant ConditionTypeMCPRemoteProxyAuthServerRefValidated (line 233) | ConditionTypeMCPRemoteProxyAuthServerRefValidated = "AuthServerRefValida... constant ConditionTypeConfigurationValid (line 236) | ConditionTypeConfigurationValid = "ConfigurationValid" constant ConditionReasonDeploymentReady (line 242) | ConditionReasonDeploymentReady = "DeploymentReady" constant ConditionReasonDeploymentNotReady (line 245) | ConditionReasonDeploymentNotReady = "DeploymentNotReady" constant ConditionReasonRemoteURLReachable (line 248) | ConditionReasonRemoteURLReachable = "RemoteURLReachable" constant ConditionReasonRemoteURLUnreachable (line 251) | ConditionReasonRemoteURLUnreachable = "RemoteURLUnreachable" constant ConditionReasonAuthValid (line 254) | ConditionReasonAuthValid = "AuthValid" constant ConditionReasonAuthInvalid (line 257) | ConditionReasonAuthInvalid = "AuthInvalid" constant ConditionReasonMissingOIDCConfig (line 260) | ConditionReasonMissingOIDCConfig = "MissingOIDCConfig" constant ConditionReasonMCPRemoteProxyGroupRefValidated (line 263) | ConditionReasonMCPRemoteProxyGroupRefValidated = "GroupRefIsValid" constant ConditionReasonMCPRemoteProxyGroupRefNotFound (line 266) | ConditionReasonMCPRemoteProxyGroupRefNotFound = "GroupRefNotFound" constant ConditionReasonMCPRemoteProxyGroupRefNotReady (line 269) | ConditionReasonMCPRemoteProxyGroupRefNotReady = "GroupRefNotReady" constant ConditionReasonMCPRemoteProxyToolConfigValid (line 272) | ConditionReasonMCPRemoteProxyToolConfigValid = "ToolConfigValid" constant ConditionReasonMCPRemoteProxyToolConfigNotFound (line 275) | ConditionReasonMCPRemoteProxyToolConfigNotFound = "ToolConfigNotFound" constant ConditionReasonMCPRemoteProxyToolConfigFetchError (line 278) | ConditionReasonMCPRemoteProxyToolConfigFetchError = "ToolConfigFetchError" constant ConditionReasonMCPRemoteProxyTelemetryConfigRefValid (line 281) | ConditionReasonMCPRemoteProxyTelemetryConfigRefValid = "TelemetryConfigR... constant ConditionReasonMCPRemoteProxyTelemetryConfigRefNotFound (line 284) | ConditionReasonMCPRemoteProxyTelemetryConfigRefNotFound = "TelemetryConf... constant ConditionReasonMCPRemoteProxyTelemetryConfigRefInvalid (line 287) | ConditionReasonMCPRemoteProxyTelemetryConfigRefInvalid = "TelemetryConfi... constant ConditionReasonMCPRemoteProxyTelemetryConfigRefFetchError (line 290) | ConditionReasonMCPRemoteProxyTelemetryConfigRefFetchError = "TelemetryCo... constant ConditionReasonMCPRemoteProxyExternalAuthConfigValid (line 293) | ConditionReasonMCPRemoteProxyExternalAuthConfigValid = "ExternalAuthConf... constant ConditionReasonMCPRemoteProxyExternalAuthConfigNotFound (line 296) | ConditionReasonMCPRemoteProxyExternalAuthConfigNotFound = "ExternalAuthC... constant ConditionReasonMCPRemoteProxyExternalAuthConfigFetchError (line 299) | ConditionReasonMCPRemoteProxyExternalAuthConfigFetchError = "ExternalAut... constant ConditionReasonMCPRemoteProxyExternalAuthConfigMultiUpstream (line 303) | ConditionReasonMCPRemoteProxyExternalAuthConfigMultiUpstream = "MultiUps... constant ConditionReasonMCPRemoteProxyAuthServerRefValid (line 306) | ConditionReasonMCPRemoteProxyAuthServerRefValid = "AuthServerRefValid" constant ConditionReasonMCPRemoteProxyAuthServerRefNotFound (line 309) | ConditionReasonMCPRemoteProxyAuthServerRefNotFound = "AuthServerRefNotFo... constant ConditionReasonMCPRemoteProxyAuthServerRefFetchError (line 312) | ConditionReasonMCPRemoteProxyAuthServerRefFetchError = "AuthServerRefFet... constant ConditionReasonMCPRemoteProxyAuthServerRefInvalidKind (line 315) | ConditionReasonMCPRemoteProxyAuthServerRefInvalidKind = "AuthServerRefIn... constant ConditionReasonMCPRemoteProxyAuthServerRefInvalidType (line 318) | ConditionReasonMCPRemoteProxyAuthServerRefInvalidType = "AuthServerRefIn... constant ConditionReasonMCPRemoteProxyAuthServerRefMultiUpstream (line 321) | ConditionReasonMCPRemoteProxyAuthServerRefMultiUpstream = "MultiUpstream... constant ConditionReasonConfigurationValid (line 324) | ConditionReasonConfigurationValid = "ConfigurationValid" constant ConditionReasonOIDCIssuerInsecure (line 327) | ConditionReasonOIDCIssuerInsecure = "OIDCIssuerInsecure" constant ConditionReasonOIDCIssuerInvalid (line 330) | ConditionReasonOIDCIssuerInvalid = "OIDCIssuerInvalid" constant ConditionReasonAuthzPolicySyntaxInvalid (line 333) | ConditionReasonAuthzPolicySyntaxInvalid = "AuthzPolicySyntaxInvalid" constant ConditionReasonAuthzConfigMapNotFound (line 336) | ConditionReasonAuthzConfigMapNotFound = "AuthzConfigMapNotFound" constant ConditionReasonHeaderSecretNotFound (line 339) | ConditionReasonHeaderSecretNotFound = "HeaderSecretNotFound" constant ConditionReasonRemoteURLInvalid (line 342) | ConditionReasonRemoteURLInvalid = "RemoteURLInvalid" constant ConditionReasonJWKSURLInvalid (line 345) | ConditionReasonJWKSURLInvalid = "JWKSURLInvalid" type MCPRemoteProxy (line 360) | type MCPRemoteProxy struct method GetName (line 382) | func (m *MCPRemoteProxy) GetName() string { method GetNamespace (line 387) | func (m *MCPRemoteProxy) GetNamespace() string { method GetProxyPort (line 392) | func (m *MCPRemoteProxy) GetProxyPort() int32 { type MCPRemoteProxyList (line 371) | type MCPRemoteProxyList struct function init (line 377) | func init() { FILE: cmd/thv-operator/api/v1beta1/mcpserver_types.go constant ConditionGroupRefValidated (line 16) | ConditionGroupRefValidated = "GroupRefValidated" constant ConditionPodTemplateValid (line 19) | ConditionPodTemplateValid = "PodTemplateValid" constant ConditionReasonReady (line 24) | ConditionReasonReady = "Ready" constant ConditionReasonNotReady (line 27) | ConditionReasonNotReady = "NotReady" constant ConditionReasonGroupRefValidated (line 32) | ConditionReasonGroupRefValidated = "GroupRefIsValid" constant ConditionReasonGroupRefNotFound (line 35) | ConditionReasonGroupRefNotFound = "GroupRefNotFound" constant ConditionReasonGroupRefNotReady (line 38) | ConditionReasonGroupRefNotReady = "GroupRefNotReady" constant ConditionReasonPodTemplateValid (line 43) | ConditionReasonPodTemplateValid = "ValidPodTemplateSpec" constant ConditionReasonPodTemplateInvalid (line 46) | ConditionReasonPodTemplateInvalid = "InvalidPodTemplateSpec" constant ConditionCABundleRefValidated (line 52) | ConditionCABundleRefValidated = "CABundleRefValidated" constant ConditionOIDCConfigRefValidated (line 58) | ConditionOIDCConfigRefValidated = "OIDCConfigRefValidated" constant ConditionReasonOIDCConfigRefValid (line 63) | ConditionReasonOIDCConfigRefValid = "OIDCConfigRefValid" constant ConditionReasonOIDCConfigRefNotFound (line 66) | ConditionReasonOIDCConfigRefNotFound = "OIDCConfigRefNotFound" constant ConditionReasonOIDCConfigRefNotValid (line 69) | ConditionReasonOIDCConfigRefNotValid = "OIDCConfigRefNotValid" constant ConditionReasonOIDCConfigRefError (line 72) | ConditionReasonOIDCConfigRefError = "OIDCConfigRefError" constant ConditionReasonCABundleRefValid (line 77) | ConditionReasonCABundleRefValid = "CABundleRefValid" constant ConditionReasonCABundleRefNotFound (line 80) | ConditionReasonCABundleRefNotFound = "CABundleRefNotFound" constant ConditionReasonCABundleRefInvalid (line 83) | ConditionReasonCABundleRefInvalid = "CABundleRefInvalid" constant ConditionTypeExternalAuthConfigValidated (line 88) | ConditionTypeExternalAuthConfigValidated = "ExternalAuthConfigValidated" constant ConditionReasonExternalAuthConfigMultiUpstream (line 94) | ConditionReasonExternalAuthConfigMultiUpstream = "MultiUpstreamNotSuppor... constant ConditionTypeAuthServerRefValidated (line 99) | ConditionTypeAuthServerRefValidated = "AuthServerRefValidated" constant ConditionReasonAuthServerRefValid (line 104) | ConditionReasonAuthServerRefValid = "AuthServerRefValid" constant ConditionReasonAuthServerRefNotFound (line 107) | ConditionReasonAuthServerRefNotFound = "AuthServerRefNotFound" constant ConditionReasonAuthServerRefFetchError (line 110) | ConditionReasonAuthServerRefFetchError = "AuthServerRefFetchError" constant ConditionReasonAuthServerRefInvalidKind (line 113) | ConditionReasonAuthServerRefInvalidKind = "AuthServerRefInvalidKind" constant ConditionReasonAuthServerRefInvalidType (line 116) | ConditionReasonAuthServerRefInvalidType = "AuthServerRefInvalidType" constant ConditionReasonAuthServerRefMultiUpstream (line 119) | ConditionReasonAuthServerRefMultiUpstream = "MultiUpstreamNotSupported" constant ConditionTelemetryConfigRefValidated (line 123) | ConditionTelemetryConfigRefValidated = "TelemetryConfigRefValidated" constant ConditionReasonTelemetryConfigRefValid (line 127) | ConditionReasonTelemetryConfigRefValid = "TelemetryConfigRefValid" constant ConditionReasonTelemetryConfigRefNotFound (line 130) | ConditionReasonTelemetryConfigRefNotFound = "TelemetryConfigRefNotFound" constant ConditionReasonTelemetryConfigRefInvalid (line 133) | ConditionReasonTelemetryConfigRefInvalid = "TelemetryConfigRefInvalid" constant ConditionReasonTelemetryConfigRefError (line 136) | ConditionReasonTelemetryConfigRefError = "TelemetryConfigRefError" constant ConditionStdioReplicaCapped (line 140) | ConditionStdioReplicaCapped = "StdioReplicaCapped" constant ConditionReasonStdioReplicaCapped (line 144) | ConditionReasonStdioReplicaCapped = "StdioTransportCapAt1" constant ConditionReasonStdioReplicaCapNotActive (line 146) | ConditionReasonStdioReplicaCapNotActive = "StdioReplicaCapNotActive" constant ConditionSessionStorageWarning (line 150) | ConditionSessionStorageWarning = "SessionStorageWarning" constant ConditionReasonSessionStorageMissing (line 154) | ConditionReasonSessionStorageMissing = "SessionStorageMissingForReplicas" constant ConditionReasonSessionStorageConfigured (line 156) | ConditionReasonSessionStorageConfigured = "SessionStorageConfigured" constant ConditionReasonSessionStorageNotApplicable (line 158) | ConditionReasonSessionStorageNotApplicable = "SessionStorageWarningNotAp... constant ConditionRateLimitConfigValid (line 162) | ConditionRateLimitConfigValid = "RateLimitConfigValid" constant ConditionReasonRateLimitConfigValid (line 166) | ConditionReasonRateLimitConfigValid = "RateLimitConfigValid" constant ConditionReasonRateLimitPerUserRequiresAuth (line 168) | ConditionReasonRateLimitPerUserRequiresAuth = "PerUserRequiresAuth" constant ConditionReasonRateLimitNotApplicable (line 170) | ConditionReasonRateLimitNotApplicable = "RateLimitNotApplicable" constant SessionStorageProviderRedis (line 174) | SessionStorageProviderRedis = "redis" type MCPServerSpec (line 183) | type MCPServerSpec struct type ResourceOverrides (line 358) | type ResourceOverrides struct type ProxyDeploymentOverrides (line 369) | type ProxyDeploymentOverrides struct type ResourceMetadataOverrides (line 391) | type ResourceMetadataOverrides struct type EnvVar (line 402) | type EnvVar struct type Volume (line 413) | type Volume struct type ResourceRequirements (line 433) | type ResourceRequirements struct type ResourceList (line 444) | type ResourceList struct type SecretRef (line 455) | type SecretRef struct type SessionStorageConfig (line 479) | type SessionStorageConfig struct type RateLimitConfig (line 511) | type RateLimitConfig struct type RateLimitBucket (line 534) | type RateLimitBucket struct type ToolRateLimitConfig (line 555) | type ToolRateLimitConfig struct constant PermissionProfileTypeBuiltin (line 573) | PermissionProfileTypeBuiltin = "builtin" constant PermissionProfileTypeConfigMap (line 576) | PermissionProfileTypeConfigMap = "configmap" constant AuthzConfigTypeConfigMap (line 582) | AuthzConfigTypeConfigMap = "configMap" constant AuthzConfigTypeInline (line 585) | AuthzConfigTypeInline = "inline" type PermissionProfileRef (line 589) | type PermissionProfileRef struct type PermissionProfileSpec (line 608) | type PermissionProfileSpec struct type NetworkPermissions (line 625) | type NetworkPermissions struct type OutboundNetworkPermissions (line 637) | type OutboundNetworkPermissions struct type CABundleSource (line 655) | type CABundleSource struct type AuthzConfigRef (line 668) | type AuthzConfigRef struct type ConfigMapAuthzRef (line 686) | type ConfigMapAuthzRef struct type ExternalAuthConfigRef (line 699) | type ExternalAuthConfigRef struct type AuthServerRef (line 708) | type AuthServerRef struct type ToolConfigRef (line 722) | type ToolConfigRef struct type MCPGroupRef (line 730) | type MCPGroupRef struct method GetName (line 738) | func (r *MCPGroupRef) GetName() string { type InlineAuthzConfig (line 746) | type InlineAuthzConfig struct type AuditConfig (line 760) | type AuditConfig struct type PrometheusConfig (line 769) | type PrometheusConfig struct type OpenTelemetryTracingConfig (line 777) | type OpenTelemetryTracingConfig struct type OpenTelemetryMetricsConfig (line 791) | type OpenTelemetryMetricsConfig struct type MCPServerStatus (line 799) | type MCPServerStatus struct type MCPServerPhase (line 850) | type MCPServerPhase constant MCPServerPhasePending (line 854) | MCPServerPhasePending MCPServerPhase = "Pending" constant MCPServerPhaseReady (line 857) | MCPServerPhaseReady MCPServerPhase = "Ready" constant MCPServerPhaseFailed (line 860) | MCPServerPhaseFailed MCPServerPhase = "Failed" constant MCPServerPhaseTerminating (line 863) | MCPServerPhaseTerminating MCPServerPhase = "Terminating" constant MCPServerPhaseStopped (line 866) | MCPServerPhaseStopped MCPServerPhase = "Stopped" type MCPServer (line 880) | type MCPServer struct method GetName (line 898) | func (m *MCPServer) GetName() string { method GetNamespace (line 903) | func (m *MCPServer) GetNamespace() string { method GetProxyPort (line 908) | func (m *MCPServer) GetProxyPort() int32 { method GetMCPPort (line 916) | func (m *MCPServer) GetMCPPort() int32 { type MCPServerList (line 891) | type MCPServerList struct function init (line 923) | func init() { FILE: cmd/thv-operator/api/v1beta1/mcpserver_types_test.go function TestSessionStorageConfigJSONRoundtrip (line 16) | func TestSessionStorageConfigJSONRoundtrip(t *testing.T) { function TestRateLimitConfigJSONRoundtrip (line 70) | func TestRateLimitConfigJSONRoundtrip(t *testing.T) { function TestMCPServerSpecScalingFieldsJSONRoundtrip (line 119) | func TestMCPServerSpecScalingFieldsJSONRoundtrip(t *testing.T) { FILE: cmd/thv-operator/api/v1beta1/mcpserverentry_types.go type MCPServerEntrySpec (line 13) | type MCPServerEntrySpec struct type MCPServerEntryStatus (line 50) | type MCPServerEntryStatus struct type MCPServerEntryPhase (line 69) | type MCPServerEntryPhase constant MCPServerEntryPhaseValid (line 73) | MCPServerEntryPhaseValid MCPServerEntryPhase = "Valid" constant MCPServerEntryPhasePending (line 76) | MCPServerEntryPhasePending MCPServerEntryPhase = "Pending" constant MCPServerEntryPhaseFailed (line 79) | MCPServerEntryPhaseFailed MCPServerEntryPhase = "Failed" constant ConditionTypeMCPServerEntryValid (line 88) | ConditionTypeMCPServerEntryValid = ConditionTypeValid constant ConditionTypeMCPServerEntryGroupRefValidated (line 91) | ConditionTypeMCPServerEntryGroupRefValidated = ConditionGroupRefValidated constant ConditionTypeMCPServerEntryAuthConfigValidated (line 95) | ConditionTypeMCPServerEntryAuthConfigValidated = ConditionTypeExternalAu... constant ConditionTypeMCPServerEntryCABundleRefValidated (line 99) | ConditionTypeMCPServerEntryCABundleRefValidated = ConditionCABundleRefVa... constant ConditionTypeMCPServerEntryRemoteURLValidated (line 103) | ConditionTypeMCPServerEntryRemoteURLValidated = "RemoteURLValidated" constant ConditionReasonMCPServerEntryValid (line 111) | ConditionReasonMCPServerEntryValid = "ConfigValid" constant ConditionReasonMCPServerEntryInvalid (line 114) | ConditionReasonMCPServerEntryInvalid = "ConfigInvalid" constant ConditionReasonMCPServerEntryGroupRefValidated (line 117) | ConditionReasonMCPServerEntryGroupRefValidated = ConditionReasonGroupRef... constant ConditionReasonMCPServerEntryGroupRefNotFound (line 120) | ConditionReasonMCPServerEntryGroupRefNotFound = ConditionReasonGroupRefN... constant ConditionReasonMCPServerEntryGroupRefNotReady (line 123) | ConditionReasonMCPServerEntryGroupRefNotReady = ConditionReasonGroupRefN... constant ConditionReasonMCPServerEntryAuthConfigValid (line 126) | ConditionReasonMCPServerEntryAuthConfigValid = "AuthConfigValid" constant ConditionReasonMCPServerEntryAuthConfigNotFound (line 129) | ConditionReasonMCPServerEntryAuthConfigNotFound = "AuthConfigNotFound" constant ConditionReasonMCPServerEntryAuthConfigNotConfigured (line 132) | ConditionReasonMCPServerEntryAuthConfigNotConfigured = "AuthConfigNotCon... constant ConditionReasonMCPServerEntryCABundleRefValid (line 135) | ConditionReasonMCPServerEntryCABundleRefValid = ConditionReasonCABundleR... constant ConditionReasonMCPServerEntryCABundleRefNotFound (line 138) | ConditionReasonMCPServerEntryCABundleRefNotFound = ConditionReasonCABund... constant ConditionReasonMCPServerEntryCABundleRefNotConfigured (line 141) | ConditionReasonMCPServerEntryCABundleRefNotConfigured = "CABundleRefNotC... constant ConditionReasonMCPServerEntryRemoteURLValid (line 144) | ConditionReasonMCPServerEntryRemoteURLValid = "RemoteURLValid" constant ConditionReasonMCPServerEntryRemoteURLInvalid (line 148) | ConditionReasonMCPServerEntryRemoteURLInvalid = ConditionReasonRemoteURL... type MCPServerEntry (line 164) | type MCPServerEntry struct type MCPServerEntryList (line 175) | type MCPServerEntryList struct function init (line 181) | func init() { FILE: cmd/thv-operator/api/v1beta1/mcptelemetryconfig_types.go constant maxK8sVolumeName (line 14) | maxK8sVolumeName = 63 constant telemetryCABundleVolumePrefix (line 16) | telemetryCABundleVolumePrefix = "otel-ca-bundle-" constant maxTelemetryCABundleConfigMapName (line 18) | maxTelemetryCABundleConfigMapName = maxK8sVolumeName - len(telemetryCABu... type SensitiveHeader (line 24) | type SensitiveHeader struct type MCPTelemetryOTelConfig (line 45) | type MCPTelemetryOTelConfig struct type MCPTelemetryConfigSpec (line 106) | type MCPTelemetryConfigSpec struct type MCPTelemetryConfigStatus (line 117) | type MCPTelemetryConfigStatus struct type MCPTelemetryConfig (line 153) | type MCPTelemetryConfig struct method Validate (line 191) | func (r *MCPTelemetryConfig) Validate() error { method validateEndpointRequiresSignals (line 203) | func (r *MCPTelemetryConfig) validateEndpointRequiresSignals() error { method validateSensitiveHeaders (line 220) | func (r *MCPTelemetryConfig) validateSensitiveHeaders() error { method validateCABundle (line 243) | func (r *MCPTelemetryConfig) validateCABundle() error { type MCPTelemetryConfigList (line 164) | type MCPTelemetryConfigList struct type MCPTelemetryConfigReference (line 173) | type MCPTelemetryConfigReference struct function init (line 268) | func init() { FILE: cmd/thv-operator/api/v1beta1/mcptelemetryconfig_types_test.go function TestMCPTelemetryConfig_Validate (line 14) | func TestMCPTelemetryConfig_Validate(t *testing.T) { function TestMCPTelemetryConfig_validateCABundle (line 157) | func TestMCPTelemetryConfig_validateCABundle(t *testing.T) { FILE: cmd/thv-operator/api/v1beta1/toolconfig_types.go constant ConditionToolConfigValid (line 13) | ConditionToolConfigValid = ConditionTypeValid constant ConditionReasonToolConfigValidationSucceeded (line 18) | ConditionReasonToolConfigValidationSucceeded = "ValidationSucceeded" constant ConditionReasonToolConfigValidationFailed (line 20) | ConditionReasonToolConfigValidationFailed = "ValidationFailed" type MCPToolConfigSpec (line 26) | type MCPToolConfigSpec struct type ToolAnnotationsOverride (line 43) | type ToolAnnotationsOverride struct type ToolOverride (line 68) | type ToolOverride struct type MCPToolConfigStatus (line 84) | type MCPToolConfigStatus struct type MCPToolConfig (line 120) | type MCPToolConfig struct type MCPToolConfigList (line 131) | type MCPToolConfigList struct function init (line 137) | func init() { FILE: cmd/thv-operator/api/v1beta1/virtualmcpcompositetooldefinition_types.go type VirtualMCPCompositeToolDefinitionSpec (line 15) | type VirtualMCPCompositeToolDefinitionSpec struct type VirtualMCPCompositeToolDefinitionStatus (line 20) | type VirtualMCPCompositeToolDefinitionStatus struct type ValidationStatus (line 52) | type ValidationStatus constant ValidationStatusValid (line 56) | ValidationStatusValid ValidationStatus = "Valid" constant ValidationStatusInvalid (line 59) | ValidationStatusInvalid ValidationStatus = "Invalid" constant ValidationStatusUnknown (line 62) | ValidationStatusUnknown ValidationStatus = "Unknown" constant ConditionTypeWorkflowValidated (line 68) | ConditionTypeWorkflowValidated = "WorkflowValidated" constant ConditionReasonValidationSuccess (line 76) | ConditionReasonValidationSuccess = "ValidationSuccess" constant ConditionReasonValidationFailed (line 79) | ConditionReasonValidationFailed = "ValidationFailed" constant ConditionReasonSchemaInvalid (line 82) | ConditionReasonSchemaInvalid = "SchemaInvalid" constant ConditionReasonTemplateInvalid (line 85) | ConditionReasonTemplateInvalid = "TemplateInvalid" constant ConditionReasonDependencyCycle (line 88) | ConditionReasonDependencyCycle = "DependencyCycle" constant ConditionReasonToolNotFound (line 91) | ConditionReasonToolNotFound = "ToolNotFound" constant ConditionReasonWorkflowReady (line 94) | ConditionReasonWorkflowReady = "WorkflowReady" constant ConditionReasonWorkflowNotReady (line 97) | ConditionReasonWorkflowNotReady = "WorkflowNotReady" type VirtualMCPCompositeToolDefinition (line 114) | type VirtualMCPCompositeToolDefinition struct method Validate (line 134) | func (r *VirtualMCPCompositeToolDefinition) Validate() error { method GetValidationErrors (line 140) | func (r *VirtualMCPCompositeToolDefinition) GetValidationErrors() []st... type VirtualMCPCompositeToolDefinitionList (line 125) | type VirtualMCPCompositeToolDefinitionList struct function init (line 147) | func init() { FILE: cmd/thv-operator/api/v1beta1/virtualmcpserver_types.go type VirtualMCPServerSpec (line 20) | type VirtualMCPServerSpec struct type EmbeddingServerRef (line 150) | type EmbeddingServerRef struct type IncomingAuthConfig (line 161) | type IncomingAuthConfig struct type OutgoingAuthConfig (line 182) | type OutgoingAuthConfig struct type BackendAuthConfig (line 202) | type BackendAuthConfig struct constant BackendStatusReady (line 220) | BackendStatusReady = "ready" constant BackendStatusUnavailable (line 221) | BackendStatusUnavailable = "unavailable" constant BackendStatusDegraded (line 222) | BackendStatusDegraded = "degraded" constant BackendStatusUnknown (line 223) | BackendStatusUnknown = "unknown" constant BackendStatusUnauthenticated (line 224) | BackendStatusUnauthenticated = "unauthenticated" type VirtualMCPServerStatus (line 232) | type VirtualMCPServerStatus struct type VirtualMCPServerPhase (line 280) | type VirtualMCPServerPhase constant VirtualMCPServerPhasePending (line 284) | VirtualMCPServerPhasePending VirtualMCPServerPhase = "Pending" constant VirtualMCPServerPhaseReady (line 287) | VirtualMCPServerPhaseReady VirtualMCPServerPhase = "Ready" constant VirtualMCPServerPhaseDegraded (line 290) | VirtualMCPServerPhaseDegraded VirtualMCPServerPhase = "Degraded" constant VirtualMCPServerPhaseFailed (line 293) | VirtualMCPServerPhaseFailed VirtualMCPServerPhase = "Failed" constant ConditionTypeVirtualMCPServerReady (line 300) | ConditionTypeVirtualMCPServerReady = "Ready" constant ConditionTypeVirtualMCPServerGroupRefValidated (line 303) | ConditionTypeVirtualMCPServerGroupRefValidated = "GroupRefValidated" constant ConditionTypeCompositeToolRefsValidated (line 306) | ConditionTypeCompositeToolRefsValidated = "CompositeToolRefsValidated" constant ConditionTypeVirtualMCPServerPodTemplateSpecValid (line 308) | ConditionTypeVirtualMCPServerPodTemplateSpecValid = "PodTemplateSpecValid" constant ConditionTypeVirtualMCPServerBackendsDiscovered (line 311) | ConditionTypeVirtualMCPServerBackendsDiscovered = "BackendsDiscovered" constant ConditionTypeEmbeddingServerReady (line 314) | ConditionTypeEmbeddingServerReady = "EmbeddingServerReady" constant ConditionTypeAuthServerConfigValidated (line 317) | ConditionTypeAuthServerConfigValidated = "AuthServerConfigValidated" constant ConditionTypeAuthzUpstreamSelectionWarning (line 323) | ConditionTypeAuthzUpstreamSelectionWarning = "AuthzUpstreamSelectionWarn... constant ConditionTypeVirtualMCPServerTelemetryConfigRefValidated (line 326) | ConditionTypeVirtualMCPServerTelemetryConfigRefValidated = "TelemetryCon... constant ConditionReasonIncomingAuthValid (line 332) | ConditionReasonIncomingAuthValid = "IncomingAuthValid" constant ConditionReasonIncomingAuthInvalid (line 335) | ConditionReasonIncomingAuthInvalid = "IncomingAuthInvalid" constant ConditionReasonVirtualMCPServerGroupRefValid (line 338) | ConditionReasonVirtualMCPServerGroupRefValid = "GroupRefValid" constant ConditionReasonVirtualMCPServerGroupRefNotFound (line 341) | ConditionReasonVirtualMCPServerGroupRefNotFound = "GroupRefNotFound" constant ConditionReasonVirtualMCPServerGroupRefNotReady (line 344) | ConditionReasonVirtualMCPServerGroupRefNotReady = "GroupRefNotReady" constant ConditionReasonCompositeToolRefsValid (line 347) | ConditionReasonCompositeToolRefsValid = "CompositeToolRefsValid" constant ConditionReasonCompositeToolRefNotFound (line 350) | ConditionReasonCompositeToolRefNotFound = "CompositeToolRefNotFound" constant ConditionReasonCompositeToolRefInvalid (line 353) | ConditionReasonCompositeToolRefInvalid = "CompositeToolRefInvalid" constant ConditionReasonVirtualMCPServerPodTemplateSpecValid (line 356) | ConditionReasonVirtualMCPServerPodTemplateSpecValid = "PodTemplateSpecVa... constant ConditionReasonVirtualMCPServerPodTemplateSpecInvalid (line 359) | ConditionReasonVirtualMCPServerPodTemplateSpecInvalid = "InvalidPodTempl... constant ConditionReasonVirtualMCPServerBackendsDiscoveredSuccessfully (line 362) | ConditionReasonVirtualMCPServerBackendsDiscoveredSuccessfully = "Backend... constant ConditionReasonVirtualMCPServerBackendDiscoveryFailed (line 365) | ConditionReasonVirtualMCPServerBackendDiscoveryFailed = "BackendDiscover... constant ConditionReasonVirtualMCPServerDeploymentFailed (line 368) | ConditionReasonVirtualMCPServerDeploymentFailed = "DeploymentFailed" constant ConditionReasonVirtualMCPServerDeploymentReady (line 371) | ConditionReasonVirtualMCPServerDeploymentReady = "DeploymentReady" constant ConditionReasonVirtualMCPServerDeploymentNotReady (line 374) | ConditionReasonVirtualMCPServerDeploymentNotReady = "DeploymentNotReady" constant ConditionReasonEmbeddingServerReady (line 377) | ConditionReasonEmbeddingServerReady = "EmbeddingServerReady" constant ConditionReasonEmbeddingServerNotFound (line 380) | ConditionReasonEmbeddingServerNotFound = "EmbeddingServerNotFound" constant ConditionReasonEmbeddingServerNotReady (line 383) | ConditionReasonEmbeddingServerNotReady = "EmbeddingServerNotReady" constant ConditionReasonAuthServerConfigValid (line 386) | ConditionReasonAuthServerConfigValid = "AuthServerConfigValid" constant ConditionReasonAuthServerConfigInvalid (line 389) | ConditionReasonAuthServerConfigInvalid = "AuthServerConfigInvalid" constant ConditionReasonAuthzRequiresUpstream (line 396) | ConditionReasonAuthzRequiresUpstream = "AuthzRequiresUpstream" constant ConditionReasonAuthzUpstreamAutoSelected (line 401) | ConditionReasonAuthzUpstreamAutoSelected = "AuthzUpstreamAutoSelected" constant ConditionReasonVirtualMCPServerTelemetryConfigRefValid (line 404) | ConditionReasonVirtualMCPServerTelemetryConfigRefValid = "TelemetryConfi... constant ConditionReasonVirtualMCPServerTelemetryConfigRefNotFound (line 407) | ConditionReasonVirtualMCPServerTelemetryConfigRefNotFound = "TelemetryCo... constant ConditionReasonVirtualMCPServerTelemetryConfigRefInvalid (line 410) | ConditionReasonVirtualMCPServerTelemetryConfigRefInvalid = "TelemetryCon... constant ConditionReasonVirtualMCPServerTelemetryConfigRefFetchError (line 413) | ConditionReasonVirtualMCPServerTelemetryConfigRefFetchError = "Telemetry... constant BackendAuthTypeDiscovered (line 419) | BackendAuthTypeDiscovered = "discovered" constant BackendAuthTypeExternalAuthConfigRef (line 422) | BackendAuthTypeExternalAuthConfigRef = "externalAuthConfigRef" constant WorkflowStepTypeToolCall (line 428) | WorkflowStepTypeToolCall = "tool" constant WorkflowStepTypeElicitation (line 431) | WorkflowStepTypeElicitation = "elicitation" constant ErrorActionAbort (line 437) | ErrorActionAbort = "abort" constant ErrorActionContinue (line 440) | ErrorActionContinue = "continue" constant ErrorActionRetry (line 443) | ErrorActionRetry = "retry" type VirtualMCPServer (line 458) | type VirtualMCPServer struct method GetProxyPort (line 477) | func (*VirtualMCPServer) GetProxyPort() int32 { method ResolveGroupName (line 482) | func (r *VirtualMCPServer) ResolveGroupName() string { method Validate (line 488) | func (r *VirtualMCPServer) Validate() error { method validateEmbeddingServer (line 534) | func (r *VirtualMCPServer) validateEmbeddingServer() error { method validateBackendAuth (line 563) | func (*VirtualMCPServer) validateBackendAuth(backendName string, auth ... method validateAggregation (line 594) | func (r *VirtualMCPServer) validateAggregation() error { method validateCompositeTools (line 646) | func (r *VirtualMCPServer) validateCompositeTools() error { type VirtualMCPServerList (line 469) | type VirtualMCPServerList struct function init (line 669) | func init() { FILE: cmd/thv-operator/api/v1beta1/virtualmcpserver_types_test.go function TestVirtualMCPServerPhaseTransitions (line 18) | func TestVirtualMCPServerPhaseTransitions(t *testing.T) { function TestVirtualMCPServerConditions (line 89) | func TestVirtualMCPServerConditions(t *testing.T) { function TestVirtualMCPServerDefaultValues (line 140) | func TestVirtualMCPServerDefaultValues(t *testing.T) { function TestVirtualMCPServerNamespaceIsolation (line 167) | func TestVirtualMCPServerNamespaceIsolation(t *testing.T) { function TestConflictResolutionStrategies (line 202) | func TestConflictResolutionStrategies(t *testing.T) { function TestBackendAuthConfigTypes (line 262) | func TestBackendAuthConfigTypes(t *testing.T) { function TestCompositeToolStepDependencies (line 318) | func TestCompositeToolStepDependencies(t *testing.T) { function TestValidateEmbeddingServer (line 387) | func TestValidateEmbeddingServer(t *testing.T) { function TestVirtualMCPServerSpecScalingFieldsJSONRoundtrip (line 484) | func TestVirtualMCPServerSpecScalingFieldsJSONRoundtrip(t *testing.T) { function TestMCPGroupRef_GetName (line 539) | func TestMCPGroupRef_GetName(t *testing.T) { function TestVirtualMCPServer_Validate_RequiresGroupRef (line 559) | func TestVirtualMCPServer_Validate_RequiresGroupRef(t *testing.T) { function TestVirtualMCPServer_ResolveGroupName (line 605) | func TestVirtualMCPServer_ResolveGroupName(t *testing.T) { FILE: cmd/thv-operator/api/v1beta1/zz_generated.deepcopy.go method DeepCopyInto (line 31) | func (in *AWSStsConfig) DeepCopyInto(out *AWSStsConfig) { method DeepCopy (line 48) | func (in *AWSStsConfig) DeepCopy() *AWSStsConfig { method DeepCopyInto (line 58) | func (in *AuditConfig) DeepCopyInto(out *AuditConfig) { method DeepCopy (line 63) | func (in *AuditConfig) DeepCopy() *AuditConfig { method DeepCopyInto (line 73) | func (in *AuthServerRef) DeepCopyInto(out *AuthServerRef) { method DeepCopy (line 78) | func (in *AuthServerRef) DeepCopy() *AuthServerRef { method DeepCopyInto (line 88) | func (in *AuthServerStorageConfig) DeepCopyInto(out *AuthServerStorageCo... method DeepCopy (line 98) | func (in *AuthServerStorageConfig) DeepCopy() *AuthServerStorageConfig { method DeepCopyInto (line 108) | func (in *AuthzConfigRef) DeepCopyInto(out *AuthzConfigRef) { method DeepCopy (line 123) | func (in *AuthzConfigRef) DeepCopy() *AuthzConfigRef { method DeepCopyInto (line 133) | func (in *BackendAuthConfig) DeepCopyInto(out *BackendAuthConfig) { method DeepCopy (line 143) | func (in *BackendAuthConfig) DeepCopy() *BackendAuthConfig { method DeepCopyInto (line 153) | func (in *BearerTokenConfig) DeepCopyInto(out *BearerTokenConfig) { method DeepCopy (line 163) | func (in *BearerTokenConfig) DeepCopy() *BearerTokenConfig { method DeepCopyInto (line 173) | func (in *CABundleSource) DeepCopyInto(out *CABundleSource) { method DeepCopy (line 183) | func (in *CABundleSource) DeepCopy() *CABundleSource { method DeepCopyInto (line 193) | func (in *ConfigMapAuthzRef) DeepCopyInto(out *ConfigMapAuthzRef) { method DeepCopy (line 198) | func (in *ConfigMapAuthzRef) DeepCopy() *ConfigMapAuthzRef { method DeepCopyInto (line 208) | func (in *EmbeddedAuthServerConfig) DeepCopyInto(out *EmbeddedAuthServer... method DeepCopy (line 240) | func (in *EmbeddedAuthServerConfig) DeepCopy() *EmbeddedAuthServerConfig { method DeepCopyInto (line 250) | func (in *EmbeddingResourceOverrides) DeepCopyInto(out *EmbeddingResourc... method DeepCopy (line 270) | func (in *EmbeddingResourceOverrides) DeepCopy() *EmbeddingResourceOverr... method DeepCopyInto (line 280) | func (in *EmbeddingServer) DeepCopyInto(out *EmbeddingServer) { method DeepCopy (line 289) | func (in *EmbeddingServer) DeepCopy() *EmbeddingServer { method DeepCopyObject (line 299) | func (in *EmbeddingServer) DeepCopyObject() runtime.Object { method DeepCopyInto (line 307) | func (in *EmbeddingServerList) DeepCopyInto(out *EmbeddingServerList) { method DeepCopy (line 321) | func (in *EmbeddingServerList) DeepCopy() *EmbeddingServerList { method DeepCopyObject (line 331) | func (in *EmbeddingServerList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 339) | func (in *EmbeddingServerRef) DeepCopyInto(out *EmbeddingServerRef) { method DeepCopy (line 344) | func (in *EmbeddingServerRef) DeepCopy() *EmbeddingServerRef { method DeepCopyInto (line 354) | func (in *EmbeddingServerSpec) DeepCopyInto(out *EmbeddingServerSpec) { method DeepCopy (line 395) | func (in *EmbeddingServerSpec) DeepCopy() *EmbeddingServerSpec { method DeepCopyInto (line 405) | func (in *EmbeddingServerStatus) DeepCopyInto(out *EmbeddingServerStatus) { method DeepCopy (line 417) | func (in *EmbeddingServerStatus) DeepCopy() *EmbeddingServerStatus { method DeepCopyInto (line 427) | func (in *EmbeddingStatefulSetOverrides) DeepCopyInto(out *EmbeddingStat... method DeepCopy (line 438) | func (in *EmbeddingStatefulSetOverrides) DeepCopy() *EmbeddingStatefulSe... method DeepCopyInto (line 448) | func (in *EnvVar) DeepCopyInto(out *EnvVar) { method DeepCopy (line 453) | func (in *EnvVar) DeepCopy() *EnvVar { method DeepCopyInto (line 463) | func (in *ExternalAuthConfigRef) DeepCopyInto(out *ExternalAuthConfigRef) { method DeepCopy (line 468) | func (in *ExternalAuthConfigRef) DeepCopy() *ExternalAuthConfigRef { method DeepCopyInto (line 478) | func (in *HeaderForwardConfig) DeepCopyInto(out *HeaderForwardConfig) { method DeepCopy (line 497) | func (in *HeaderForwardConfig) DeepCopy() *HeaderForwardConfig { method DeepCopyInto (line 507) | func (in *HeaderFromSecret) DeepCopyInto(out *HeaderFromSecret) { method DeepCopy (line 517) | func (in *HeaderFromSecret) DeepCopy() *HeaderFromSecret { method DeepCopyInto (line 527) | func (in *HeaderInjectionConfig) DeepCopyInto(out *HeaderInjectionConfig) { method DeepCopy (line 537) | func (in *HeaderInjectionConfig) DeepCopy() *HeaderInjectionConfig { method DeepCopyInto (line 547) | func (in *IncomingAuthConfig) DeepCopyInto(out *IncomingAuthConfig) { method DeepCopy (line 562) | func (in *IncomingAuthConfig) DeepCopy() *IncomingAuthConfig { method DeepCopyInto (line 572) | func (in *InlineAuthzConfig) DeepCopyInto(out *InlineAuthzConfig) { method DeepCopy (line 582) | func (in *InlineAuthzConfig) DeepCopy() *InlineAuthzConfig { method DeepCopyInto (line 592) | func (in *InlineOIDCSharedConfig) DeepCopyInto(out *InlineOIDCSharedConf... method DeepCopy (line 607) | func (in *InlineOIDCSharedConfig) DeepCopy() *InlineOIDCSharedConfig { method DeepCopyInto (line 617) | func (in *KubernetesServiceAccountOIDCConfig) DeepCopyInto(out *Kubernet... method DeepCopy (line 627) | func (in *KubernetesServiceAccountOIDCConfig) DeepCopy() *KubernetesServ... method DeepCopyInto (line 637) | func (in *MCPExternalAuthConfig) DeepCopyInto(out *MCPExternalAuthConfig) { method DeepCopy (line 646) | func (in *MCPExternalAuthConfig) DeepCopy() *MCPExternalAuthConfig { method DeepCopyObject (line 656) | func (in *MCPExternalAuthConfig) DeepCopyObject() runtime.Object { method DeepCopyInto (line 664) | func (in *MCPExternalAuthConfigList) DeepCopyInto(out *MCPExternalAuthCo... method DeepCopy (line 678) | func (in *MCPExternalAuthConfigList) DeepCopy() *MCPExternalAuthConfigLi... method DeepCopyObject (line 688) | func (in *MCPExternalAuthConfigList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 696) | func (in *MCPExternalAuthConfigSpec) DeepCopyInto(out *MCPExternalAuthCo... method DeepCopy (line 731) | func (in *MCPExternalAuthConfigSpec) DeepCopy() *MCPExternalAuthConfigSp... method DeepCopyInto (line 741) | func (in *MCPExternalAuthConfigStatus) DeepCopyInto(out *MCPExternalAuth... method DeepCopy (line 758) | func (in *MCPExternalAuthConfigStatus) DeepCopy() *MCPExternalAuthConfig... method DeepCopyInto (line 768) | func (in *MCPGroup) DeepCopyInto(out *MCPGroup) { method DeepCopy (line 777) | func (in *MCPGroup) DeepCopy() *MCPGroup { method DeepCopyObject (line 787) | func (in *MCPGroup) DeepCopyObject() runtime.Object { method DeepCopyInto (line 795) | func (in *MCPGroupList) DeepCopyInto(out *MCPGroupList) { method DeepCopy (line 809) | func (in *MCPGroupList) DeepCopy() *MCPGroupList { method DeepCopyObject (line 819) | func (in *MCPGroupList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 827) | func (in *MCPGroupRef) DeepCopyInto(out *MCPGroupRef) { method DeepCopy (line 832) | func (in *MCPGroupRef) DeepCopy() *MCPGroupRef { method DeepCopyInto (line 842) | func (in *MCPGroupSpec) DeepCopyInto(out *MCPGroupSpec) { method DeepCopy (line 847) | func (in *MCPGroupSpec) DeepCopy() *MCPGroupSpec { method DeepCopyInto (line 857) | func (in *MCPGroupStatus) DeepCopyInto(out *MCPGroupStatus) { method DeepCopy (line 884) | func (in *MCPGroupStatus) DeepCopy() *MCPGroupStatus { method DeepCopyInto (line 894) | func (in *MCPOIDCConfig) DeepCopyInto(out *MCPOIDCConfig) { method DeepCopy (line 903) | func (in *MCPOIDCConfig) DeepCopy() *MCPOIDCConfig { method DeepCopyObject (line 913) | func (in *MCPOIDCConfig) DeepCopyObject() runtime.Object { method DeepCopyInto (line 921) | func (in *MCPOIDCConfigList) DeepCopyInto(out *MCPOIDCConfigList) { method DeepCopy (line 935) | func (in *MCPOIDCConfigList) DeepCopy() *MCPOIDCConfigList { method DeepCopyObject (line 945) | func (in *MCPOIDCConfigList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 953) | func (in *MCPOIDCConfigReference) DeepCopyInto(out *MCPOIDCConfigReferen... method DeepCopy (line 963) | func (in *MCPOIDCConfigReference) DeepCopy() *MCPOIDCConfigReference { method DeepCopyInto (line 973) | func (in *MCPOIDCConfigSpec) DeepCopyInto(out *MCPOIDCConfigSpec) { method DeepCopy (line 988) | func (in *MCPOIDCConfigSpec) DeepCopy() *MCPOIDCConfigSpec { method DeepCopyInto (line 998) | func (in *MCPOIDCConfigStatus) DeepCopyInto(out *MCPOIDCConfigStatus) { method DeepCopy (line 1015) | func (in *MCPOIDCConfigStatus) DeepCopy() *MCPOIDCConfigStatus { method DeepCopyInto (line 1025) | func (in *MCPRegistry) DeepCopyInto(out *MCPRegistry) { method DeepCopy (line 1034) | func (in *MCPRegistry) DeepCopy() *MCPRegistry { method DeepCopyObject (line 1044) | func (in *MCPRegistry) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1052) | func (in *MCPRegistryList) DeepCopyInto(out *MCPRegistryList) { method DeepCopy (line 1066) | func (in *MCPRegistryList) DeepCopy() *MCPRegistryList { method DeepCopyObject (line 1076) | func (in *MCPRegistryList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1084) | func (in *MCPRegistrySpec) DeepCopyInto(out *MCPRegistrySpec) { method DeepCopy (line 1118) | func (in *MCPRegistrySpec) DeepCopy() *MCPRegistrySpec { method DeepCopyInto (line 1128) | func (in *MCPRegistryStatus) DeepCopyInto(out *MCPRegistryStatus) { method DeepCopy (line 1140) | func (in *MCPRegistryStatus) DeepCopy() *MCPRegistryStatus { method DeepCopyInto (line 1150) | func (in *MCPRemoteProxy) DeepCopyInto(out *MCPRemoteProxy) { method DeepCopy (line 1159) | func (in *MCPRemoteProxy) DeepCopy() *MCPRemoteProxy { method DeepCopyObject (line 1169) | func (in *MCPRemoteProxy) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1177) | func (in *MCPRemoteProxyList) DeepCopyInto(out *MCPRemoteProxyList) { method DeepCopy (line 1191) | func (in *MCPRemoteProxyList) DeepCopy() *MCPRemoteProxyList { method DeepCopyObject (line 1201) | func (in *MCPRemoteProxyList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1209) | func (in *MCPRemoteProxySpec) DeepCopyInto(out *MCPRemoteProxySpec) { method DeepCopy (line 1270) | func (in *MCPRemoteProxySpec) DeepCopy() *MCPRemoteProxySpec { method DeepCopyInto (line 1280) | func (in *MCPRemoteProxyStatus) DeepCopyInto(out *MCPRemoteProxyStatus) { method DeepCopy (line 1292) | func (in *MCPRemoteProxyStatus) DeepCopy() *MCPRemoteProxyStatus { method DeepCopyInto (line 1302) | func (in *MCPServer) DeepCopyInto(out *MCPServer) { method DeepCopy (line 1311) | func (in *MCPServer) DeepCopy() *MCPServer { method DeepCopyObject (line 1321) | func (in *MCPServer) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1329) | func (in *MCPServerEntry) DeepCopyInto(out *MCPServerEntry) { method DeepCopy (line 1338) | func (in *MCPServerEntry) DeepCopy() *MCPServerEntry { method DeepCopyObject (line 1348) | func (in *MCPServerEntry) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1356) | func (in *MCPServerEntryList) DeepCopyInto(out *MCPServerEntryList) { method DeepCopy (line 1370) | func (in *MCPServerEntryList) DeepCopy() *MCPServerEntryList { method DeepCopyObject (line 1380) | func (in *MCPServerEntryList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1388) | func (in *MCPServerEntrySpec) DeepCopyInto(out *MCPServerEntrySpec) { method DeepCopy (line 1413) | func (in *MCPServerEntrySpec) DeepCopy() *MCPServerEntrySpec { method DeepCopyInto (line 1423) | func (in *MCPServerEntryStatus) DeepCopyInto(out *MCPServerEntryStatus) { method DeepCopy (line 1435) | func (in *MCPServerEntryStatus) DeepCopy() *MCPServerEntryStatus { method DeepCopyInto (line 1445) | func (in *MCPServerList) DeepCopyInto(out *MCPServerList) { method DeepCopy (line 1459) | func (in *MCPServerList) DeepCopy() *MCPServerList { method DeepCopyObject (line 1469) | func (in *MCPServerList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1477) | func (in *MCPServerSpec) DeepCopyInto(out *MCPServerSpec) { method DeepCopy (line 1583) | func (in *MCPServerSpec) DeepCopy() *MCPServerSpec { method DeepCopyInto (line 1593) | func (in *MCPServerStatus) DeepCopyInto(out *MCPServerStatus) { method DeepCopy (line 1605) | func (in *MCPServerStatus) DeepCopy() *MCPServerStatus { method DeepCopyInto (line 1615) | func (in *MCPTelemetryConfig) DeepCopyInto(out *MCPTelemetryConfig) { method DeepCopy (line 1624) | func (in *MCPTelemetryConfig) DeepCopy() *MCPTelemetryConfig { method DeepCopyObject (line 1634) | func (in *MCPTelemetryConfig) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1642) | func (in *MCPTelemetryConfigList) DeepCopyInto(out *MCPTelemetryConfigLi... method DeepCopy (line 1656) | func (in *MCPTelemetryConfigList) DeepCopy() *MCPTelemetryConfigList { method DeepCopyObject (line 1666) | func (in *MCPTelemetryConfigList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1674) | func (in *MCPTelemetryConfigReference) DeepCopyInto(out *MCPTelemetryCon... method DeepCopy (line 1679) | func (in *MCPTelemetryConfigReference) DeepCopy() *MCPTelemetryConfigRef... method DeepCopyInto (line 1689) | func (in *MCPTelemetryConfigSpec) DeepCopyInto(out *MCPTelemetryConfigSp... method DeepCopy (line 1704) | func (in *MCPTelemetryConfigSpec) DeepCopy() *MCPTelemetryConfigSpec { method DeepCopyInto (line 1714) | func (in *MCPTelemetryConfigStatus) DeepCopyInto(out *MCPTelemetryConfig... method DeepCopy (line 1731) | func (in *MCPTelemetryConfigStatus) DeepCopy() *MCPTelemetryConfigStatus { method DeepCopyInto (line 1741) | func (in *MCPTelemetryOTelConfig) DeepCopyInto(out *MCPTelemetryOTelConf... method DeepCopy (line 1780) | func (in *MCPTelemetryOTelConfig) DeepCopy() *MCPTelemetryOTelConfig { method DeepCopyInto (line 1790) | func (in *MCPToolConfig) DeepCopyInto(out *MCPToolConfig) { method DeepCopy (line 1799) | func (in *MCPToolConfig) DeepCopy() *MCPToolConfig { method DeepCopyObject (line 1809) | func (in *MCPToolConfig) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1817) | func (in *MCPToolConfigList) DeepCopyInto(out *MCPToolConfigList) { method DeepCopy (line 1831) | func (in *MCPToolConfigList) DeepCopy() *MCPToolConfigList { method DeepCopyObject (line 1841) | func (in *MCPToolConfigList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 1849) | func (in *MCPToolConfigSpec) DeepCopyInto(out *MCPToolConfigSpec) { method DeepCopy (line 1866) | func (in *MCPToolConfigSpec) DeepCopy() *MCPToolConfigSpec { method DeepCopyInto (line 1876) | func (in *MCPToolConfigStatus) DeepCopyInto(out *MCPToolConfigStatus) { method DeepCopy (line 1893) | func (in *MCPToolConfigStatus) DeepCopy() *MCPToolConfigStatus { method DeepCopyInto (line 1903) | func (in *ModelCacheConfig) DeepCopyInto(out *ModelCacheConfig) { method DeepCopy (line 1913) | func (in *ModelCacheConfig) DeepCopy() *ModelCacheConfig { method DeepCopyInto (line 1923) | func (in *NetworkPermissions) DeepCopyInto(out *NetworkPermissions) { method DeepCopy (line 1933) | func (in *NetworkPermissions) DeepCopy() *NetworkPermissions { method DeepCopyInto (line 1943) | func (in *OAuth2UpstreamConfig) DeepCopyInto(out *OAuth2UpstreamConfig) { method DeepCopy (line 1975) | func (in *OAuth2UpstreamConfig) DeepCopy() *OAuth2UpstreamConfig { method DeepCopyInto (line 1985) | func (in *OIDCUpstreamConfig) DeepCopyInto(out *OIDCUpstreamConfig) { method DeepCopy (line 2012) | func (in *OIDCUpstreamConfig) DeepCopy() *OIDCUpstreamConfig { method DeepCopyInto (line 2022) | func (in *OpenTelemetryMetricsConfig) DeepCopyInto(out *OpenTelemetryMet... method DeepCopy (line 2027) | func (in *OpenTelemetryMetricsConfig) DeepCopy() *OpenTelemetryMetricsCo... method DeepCopyInto (line 2037) | func (in *OpenTelemetryTracingConfig) DeepCopyInto(out *OpenTelemetryTra... method DeepCopy (line 2042) | func (in *OpenTelemetryTracingConfig) DeepCopy() *OpenTelemetryTracingCo... method DeepCopyInto (line 2052) | func (in *OutboundNetworkPermissions) DeepCopyInto(out *OutboundNetworkP... method DeepCopy (line 2067) | func (in *OutboundNetworkPermissions) DeepCopy() *OutboundNetworkPermiss... method DeepCopyInto (line 2077) | func (in *OutgoingAuthConfig) DeepCopyInto(out *OutgoingAuthConfig) { method DeepCopy (line 2094) | func (in *OutgoingAuthConfig) DeepCopy() *OutgoingAuthConfig { method DeepCopyInto (line 2104) | func (in *PermissionProfileRef) DeepCopyInto(out *PermissionProfileRef) { method DeepCopy (line 2109) | func (in *PermissionProfileRef) DeepCopy() *PermissionProfileRef { method DeepCopyInto (line 2119) | func (in *PermissionProfileSpec) DeepCopyInto(out *PermissionProfileSpec) { method DeepCopy (line 2139) | func (in *PermissionProfileSpec) DeepCopy() *PermissionProfileSpec { method DeepCopyInto (line 2149) | func (in *PrometheusConfig) DeepCopyInto(out *PrometheusConfig) { method DeepCopy (line 2154) | func (in *PrometheusConfig) DeepCopy() *PrometheusConfig { method DeepCopyInto (line 2164) | func (in *ProxyDeploymentOverrides) DeepCopyInto(out *ProxyDeploymentOve... method DeepCopy (line 2185) | func (in *ProxyDeploymentOverrides) DeepCopy() *ProxyDeploymentOverrides { method DeepCopyInto (line 2195) | func (in *RateLimitBucket) DeepCopyInto(out *RateLimitBucket) { method DeepCopy (line 2201) | func (in *RateLimitBucket) DeepCopy() *RateLimitBucket { method DeepCopyInto (line 2211) | func (in *RateLimitConfig) DeepCopyInto(out *RateLimitConfig) { method DeepCopy (line 2233) | func (in *RateLimitConfig) DeepCopy() *RateLimitConfig { method DeepCopyInto (line 2243) | func (in *RedisACLUserConfig) DeepCopyInto(out *RedisACLUserConfig) { method DeepCopy (line 2258) | func (in *RedisACLUserConfig) DeepCopy() *RedisACLUserConfig { method DeepCopyInto (line 2268) | func (in *RedisSentinelConfig) DeepCopyInto(out *RedisSentinelConfig) { method DeepCopy (line 2283) | func (in *RedisSentinelConfig) DeepCopy() *RedisSentinelConfig { method DeepCopyInto (line 2293) | func (in *RedisStorageConfig) DeepCopyInto(out *RedisStorageConfig) { method DeepCopy (line 2318) | func (in *RedisStorageConfig) DeepCopy() *RedisStorageConfig { method DeepCopyInto (line 2328) | func (in *RedisTLSConfig) DeepCopyInto(out *RedisTLSConfig) { method DeepCopy (line 2338) | func (in *RedisTLSConfig) DeepCopy() *RedisTLSConfig { method DeepCopyInto (line 2348) | func (in *ResourceList) DeepCopyInto(out *ResourceList) { method DeepCopy (line 2353) | func (in *ResourceList) DeepCopy() *ResourceList { method DeepCopyInto (line 2363) | func (in *ResourceMetadataOverrides) DeepCopyInto(out *ResourceMetadataO... method DeepCopy (line 2382) | func (in *ResourceMetadataOverrides) DeepCopy() *ResourceMetadataOverrid... method DeepCopyInto (line 2392) | func (in *ResourceOverrides) DeepCopyInto(out *ResourceOverrides) { method DeepCopy (line 2407) | func (in *ResourceOverrides) DeepCopy() *ResourceOverrides { method DeepCopyInto (line 2417) | func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements) { method DeepCopy (line 2424) | func (in *ResourceRequirements) DeepCopy() *ResourceRequirements { method DeepCopyInto (line 2434) | func (in *RoleMapping) DeepCopyInto(out *RoleMapping) { method DeepCopy (line 2444) | func (in *RoleMapping) DeepCopy() *RoleMapping { method DeepCopyInto (line 2454) | func (in *SecretKeyRef) DeepCopyInto(out *SecretKeyRef) { method DeepCopy (line 2459) | func (in *SecretKeyRef) DeepCopy() *SecretKeyRef { method DeepCopyInto (line 2469) | func (in *SecretRef) DeepCopyInto(out *SecretRef) { method DeepCopy (line 2474) | func (in *SecretRef) DeepCopy() *SecretRef { method DeepCopyInto (line 2484) | func (in *SensitiveHeader) DeepCopyInto(out *SensitiveHeader) { method DeepCopy (line 2490) | func (in *SensitiveHeader) DeepCopy() *SensitiveHeader { method DeepCopyInto (line 2500) | func (in *SentinelServiceRef) DeepCopyInto(out *SentinelServiceRef) { method DeepCopy (line 2505) | func (in *SentinelServiceRef) DeepCopy() *SentinelServiceRef { method DeepCopyInto (line 2515) | func (in *SessionStorageConfig) DeepCopyInto(out *SessionStorageConfig) { method DeepCopy (line 2525) | func (in *SessionStorageConfig) DeepCopy() *SessionStorageConfig { method DeepCopyInto (line 2535) | func (in *TokenExchangeConfig) DeepCopyInto(out *TokenExchangeConfig) { method DeepCopy (line 2550) | func (in *TokenExchangeConfig) DeepCopy() *TokenExchangeConfig { method DeepCopyInto (line 2560) | func (in *TokenLifespanConfig) DeepCopyInto(out *TokenLifespanConfig) { method DeepCopy (line 2565) | func (in *TokenLifespanConfig) DeepCopy() *TokenLifespanConfig { method DeepCopyInto (line 2575) | func (in *TokenResponseMapping) DeepCopyInto(out *TokenResponseMapping) { method DeepCopy (line 2580) | func (in *TokenResponseMapping) DeepCopy() *TokenResponseMapping { method DeepCopyInto (line 2590) | func (in *ToolAnnotationsOverride) DeepCopyInto(out *ToolAnnotationsOver... method DeepCopy (line 2620) | func (in *ToolAnnotationsOverride) DeepCopy() *ToolAnnotationsOverride { method DeepCopyInto (line 2630) | func (in *ToolConfigRef) DeepCopyInto(out *ToolConfigRef) { method DeepCopy (line 2635) | func (in *ToolConfigRef) DeepCopy() *ToolConfigRef { method DeepCopyInto (line 2645) | func (in *ToolOverride) DeepCopyInto(out *ToolOverride) { method DeepCopy (line 2655) | func (in *ToolOverride) DeepCopy() *ToolOverride { method DeepCopyInto (line 2665) | func (in *ToolRateLimitConfig) DeepCopyInto(out *ToolRateLimitConfig) { method DeepCopy (line 2680) | func (in *ToolRateLimitConfig) DeepCopy() *ToolRateLimitConfig { method DeepCopyInto (line 2690) | func (in *UpstreamInjectSpec) DeepCopyInto(out *UpstreamInjectSpec) { method DeepCopy (line 2695) | func (in *UpstreamInjectSpec) DeepCopy() *UpstreamInjectSpec { method DeepCopyInto (line 2705) | func (in *UpstreamProviderConfig) DeepCopyInto(out *UpstreamProviderConf... method DeepCopy (line 2720) | func (in *UpstreamProviderConfig) DeepCopy() *UpstreamProviderConfig { method DeepCopyInto (line 2730) | func (in *UserInfoConfig) DeepCopyInto(out *UserInfoConfig) { method DeepCopy (line 2747) | func (in *UserInfoConfig) DeepCopy() *UserInfoConfig { method DeepCopyInto (line 2757) | func (in *UserInfoFieldMapping) DeepCopyInto(out *UserInfoFieldMapping) { method DeepCopy (line 2777) | func (in *UserInfoFieldMapping) DeepCopy() *UserInfoFieldMapping { method DeepCopyInto (line 2787) | func (in *VirtualMCPCompositeToolDefinition) DeepCopyInto(out *VirtualMC... method DeepCopy (line 2796) | func (in *VirtualMCPCompositeToolDefinition) DeepCopy() *VirtualMCPCompo... method DeepCopyObject (line 2806) | func (in *VirtualMCPCompositeToolDefinition) DeepCopyObject() runtime.Ob... method DeepCopyInto (line 2814) | func (in *VirtualMCPCompositeToolDefinitionList) DeepCopyInto(out *Virtu... method DeepCopy (line 2828) | func (in *VirtualMCPCompositeToolDefinitionList) DeepCopy() *VirtualMCPC... method DeepCopyObject (line 2838) | func (in *VirtualMCPCompositeToolDefinitionList) DeepCopyObject() runtim... method DeepCopyInto (line 2846) | func (in *VirtualMCPCompositeToolDefinitionSpec) DeepCopyInto(out *Virtu... method DeepCopy (line 2852) | func (in *VirtualMCPCompositeToolDefinitionSpec) DeepCopy() *VirtualMCPC... method DeepCopyInto (line 2862) | func (in *VirtualMCPCompositeToolDefinitionStatus) DeepCopyInto(out *Vir... method DeepCopy (line 2884) | func (in *VirtualMCPCompositeToolDefinitionStatus) DeepCopy() *VirtualMC... method DeepCopyInto (line 2894) | func (in *VirtualMCPServer) DeepCopyInto(out *VirtualMCPServer) { method DeepCopy (line 2903) | func (in *VirtualMCPServer) DeepCopy() *VirtualMCPServer { method DeepCopyObject (line 2913) | func (in *VirtualMCPServer) DeepCopyObject() runtime.Object { method DeepCopyInto (line 2921) | func (in *VirtualMCPServerList) DeepCopyInto(out *VirtualMCPServerList) { method DeepCopy (line 2935) | func (in *VirtualMCPServerList) DeepCopy() *VirtualMCPServerList { method DeepCopyObject (line 2945) | func (in *VirtualMCPServerList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 2953) | func (in *VirtualMCPServerSpec) DeepCopyInto(out *VirtualMCPServerSpec) { method DeepCopy (line 3014) | func (in *VirtualMCPServerSpec) DeepCopy() *VirtualMCPServerSpec { method DeepCopyInto (line 3024) | func (in *VirtualMCPServerStatus) DeepCopyInto(out *VirtualMCPServerStat... method DeepCopy (line 3043) | func (in *VirtualMCPServerStatus) DeepCopy() *VirtualMCPServerStatus { method DeepCopyInto (line 3053) | func (in *Volume) DeepCopyInto(out *Volume) { method DeepCopy (line 3058) | func (in *Volume) DeepCopy() *Volume { method DeepCopyInto (line 3068) | func (in *WorkloadReference) DeepCopyInto(out *WorkloadReference) { method DeepCopy (line 3073) | func (in *WorkloadReference) DeepCopy() *WorkloadReference { FILE: cmd/thv-operator/controllers/embeddingserver_controller.go type EmbeddingServerReconciler (line 36) | type EmbeddingServerReconciler struct method Reconcile (line 74) | func (r *EmbeddingServerReconciler) Reconcile(ctx context.Context, req... method performValidations (line 136) | func (r *EmbeddingServerReconciler) performValidations( method handleDeletion (line 158) | func (r *EmbeddingServerReconciler) handleDeletion( method ensureFinalizer (line 181) | func (r *EmbeddingServerReconciler) ensureFinalizer( method ensureStatefulSet (line 198) | func (r *EmbeddingServerReconciler) ensureStatefulSet( method ensureService (line 259) | func (r *EmbeddingServerReconciler) ensureService( method serviceNeedsUpdate (line 307) | func (*EmbeddingServerReconciler) serviceNeedsUpdate( method validateAndUpdatePodTemplateStatus (line 352) | func (r *EmbeddingServerReconciler) validateAndUpdatePodTemplateStatus( method statefulSetForEmbedding (line 406) | func (r *EmbeddingServerReconciler) statefulSetForEmbedding( method buildVolumeClaimTemplates (line 463) | func (r *EmbeddingServerReconciler) buildVolumeClaimTemplates( method buildEmbeddingContainer (line 512) | func (r *EmbeddingServerReconciler) buildEmbeddingContainer(embedding ... method buildEnvVars (line 562) | func (*EmbeddingServerReconciler) buildEnvVars(embedding *mcpv1beta1.E... method buildLivenessProbe (line 595) | func (*EmbeddingServerReconciler) buildLivenessProbe(embedding *mcpv1b... method buildReadinessProbe (line 611) | func (*EmbeddingServerReconciler) buildReadinessProbe(embedding *mcpv1... method applyResourceRequirements (line 627) | func (*EmbeddingServerReconciler) applyResourceRequirements(embedding ... method buildPodTemplate (line 660) | func (r *EmbeddingServerReconciler) buildPodTemplate( method applyPodTemplateSpecToStatefulSet (line 696) | func (*EmbeddingServerReconciler) applyPodTemplateSpecToStatefulSet( method applyStatefulSetOverrides (line 739) | func (*EmbeddingServerReconciler) applyStatefulSetOverrides( method serviceForEmbedding (line 777) | func (r *EmbeddingServerReconciler) serviceForEmbedding( method labelsForEmbedding (line 824) | func (*EmbeddingServerReconciler) labelsForEmbedding(embedding *mcpv1b... method statefulSetNeedsUpdate (line 834) | func (r *EmbeddingServerReconciler) statefulSetNeedsUpdate( method statefulSetMetadataChanged (line 870) | func (*EmbeddingServerReconciler) statefulSetMetadataChanged(currentSt... method findEmbeddingContainers (line 884) | func (*EmbeddingServerReconciler) findEmbeddingContainers( method containerNeedsUpdate (line 907) | func (*EmbeddingServerReconciler) containerNeedsUpdate(existingContain... method podTemplateMetadataChanged (line 930) | func (*EmbeddingServerReconciler) podTemplateMetadataChanged(currentSt... method updateEmbeddingServerStatus (line 941) | func (r *EmbeddingServerReconciler) updateEmbeddingServerStatus( method finalizeEmbeddingServer (line 1006) | func (r *EmbeddingServerReconciler) finalizeEmbeddingServer(ctx contex... method SetupWithManager (line 1023) | func (r *EmbeddingServerReconciler) SetupWithManager(mgr ctrl.Manager)... constant embeddingContainerName (line 52) | embeddingContainerName = "embedding" constant embeddingFinalizerName (line 55) | embeddingFinalizerName = "embeddingserver.toolhive.stacklok.dev/finalizer" constant modelCacheMountPath (line 58) | modelCacheMountPath = "/data" FILE: cmd/thv-operator/controllers/embeddingserver_controller_test.go constant testNamespaceDefault (line 27) | testNamespaceDefault = "default" function TestEmbeddingServer_GetPort (line 29) | func TestEmbeddingServer_GetPort(t *testing.T) { function TestEmbeddingServer_GetReplicas (line 64) | func TestEmbeddingServer_GetReplicas(t *testing.T) { function TestEmbeddingServer_IsModelCacheEnabled (line 100) | func TestEmbeddingServer_IsModelCacheEnabled(t *testing.T) { function TestEmbeddingServer_GetImagePullPolicy (line 144) | func TestEmbeddingServer_GetImagePullPolicy(t *testing.T) { function TestEmbeddingServerPodTemplateSpecValidation (line 189) | func TestEmbeddingServerPodTemplateSpecValidation(t *testing.T) { function TestEmbeddingServer_Labels (line 239) | func TestEmbeddingServer_Labels(t *testing.T) { function TestEmbeddingServer_ModelCacheConfig (line 260) | func TestEmbeddingServer_ModelCacheConfig(t *testing.T) { function createEmbeddingServerTestScheme (line 334) | func createEmbeddingServerTestScheme() *runtime.Scheme { function createTestEmbeddingServer (line 342) | func createTestEmbeddingServer(name, namespace, image, model string) *mc... function TestReconcile_NotFound (line 357) | func TestReconcile_NotFound(t *testing.T) { function TestReconcile_CreateResources (line 384) | func TestReconcile_CreateResources(t *testing.T) { function TestStatefulSetNeedsUpdate (line 446) | func TestStatefulSetNeedsUpdate(t *testing.T) { function TestHandleDeletion (line 515) | func TestHandleDeletion(t *testing.T) { function TestEnsureStatefulSet (line 615) | func TestEnsureStatefulSet(t *testing.T) { function TestUpdateEmbeddingServerStatus (line 716) | func TestUpdateEmbeddingServerStatus(t *testing.T) { function TestEmbeddingServer_PodTemplateSpec_PreservesUserFields (line 816) | func TestEmbeddingServer_PodTemplateSpec_PreservesUserFields(t *testing.... function TestEmbeddingServer_PodTemplateSpec_SoftFailFallback (line 1076) | func TestEmbeddingServer_PodTemplateSpec_SoftFailFallback(t *testing.T) { function TestEmbeddingServer_PodTemplateSpec_EmptyObjectIsNoOp (line 1133) | func TestEmbeddingServer_PodTemplateSpec_EmptyObjectIsNoOp(t *testing.T) { FILE: cmd/thv-operator/controllers/embeddingserver_default_imagepullsecrets_test.go function TestEmbeddingServer_DefaultImagePullSecrets (line 25) | func TestEmbeddingServer_DefaultImagePullSecrets(t *testing.T) { FILE: cmd/thv-operator/controllers/helpers_test.go constant conditionTypeValid (line 18) | conditionTypeValid = mcpv1beta1.ConditionTypeValid function podTemplateSpecToRawExtension (line 21) | func podTemplateSpecToRawExtension(t *testing.T, pts *corev1.PodTemplate... FILE: cmd/thv-operator/controllers/mcpexternalauthconfig_controller.go constant ExternalAuthConfigFinalizerName (line 29) | ExternalAuthConfigFinalizerName = "mcpexternalauthconfig.toolhive.stackl... constant externalAuthConfigRequeueDelay (line 32) | externalAuthConfigRequeueDelay = 500 * time.Millisecond constant authServerRefKindMCPExternalAuthConfig (line 36) | authServerRefKindMCPExternalAuthConfig = "MCPExternalAuthConfig" type MCPExternalAuthConfigReconciler (line 40) | type MCPExternalAuthConfigReconciler struct method Reconcile (line 52) | func (r *MCPExternalAuthConfigReconciler) Reconcile(ctx context.Contex... method calculateConfigHash (line 149) | func (*MCPExternalAuthConfigReconciler) calculateConfigHash(spec mcpv1... method applyIdentitySynthesizedCondition (line 158) | func (*MCPExternalAuthConfigReconciler) applyIdentitySynthesizedCondit... method handleConfigHashChange (line 191) | func (r *MCPExternalAuthConfigReconciler) handleConfigHashChange( method handleDeletion (line 247) | func (r *MCPExternalAuthConfigReconciler) handleDeletion( method findReferencingMCPServers (line 299) | func (r *MCPExternalAuthConfigReconciler) findReferencingMCPServers( method findReferencingMCPRemoteProxies (line 345) | func (r *MCPExternalAuthConfigReconciler) findReferencingMCPRemoteProx... method findReferencingWorkloads (line 391) | func (r *MCPExternalAuthConfigReconciler) findReferencingWorkloads( method SetupWithManager (line 418) | func (r *MCPExternalAuthConfigReconciler) SetupWithManager(mgr ctrl.Ma... method mapMCPServerToExternalAuthConfig (line 435) | func (r *MCPExternalAuthConfigReconciler) mapMCPServerToExternalAuthCo... method mapMCPRemoteProxyToExternalAuthConfig (line 494) | func (r *MCPExternalAuthConfigReconciler) mapMCPRemoteProxyToExternalA... method updateReferencingWorkloads (line 551) | func (r *MCPExternalAuthConfigReconciler) updateReferencingWorkloads( function GetExternalAuthConfigForMCPServer (line 576) | func GetExternalAuthConfigForMCPServer( FILE: cmd/thv-operator/controllers/mcpexternalauthconfig_controller_test.go function TestMCPExternalAuthConfigReconciler_calculateConfigHash (line 23) | func TestMCPExternalAuthConfigReconciler_calculateConfigHash(t *testing.... function TestMCPExternalAuthConfigReconciler_Reconcile (line 121) | func TestMCPExternalAuthConfigReconciler_Reconcile(t *testing.T) { function TestMCPExternalAuthConfigReconciler_findReferencingWorkloads (line 265) | func TestMCPExternalAuthConfigReconciler_findReferencingWorkloads(t *tes... function TestGetExternalAuthConfigForMCPServer (line 347) | func TestGetExternalAuthConfigForMCPServer(t *testing.T) { function TestMCPExternalAuthConfigReconciler_handleDeletion (line 462) | func TestMCPExternalAuthConfigReconciler_handleDeletion(t *testing.T) { function TestMCPExternalAuthConfigReconciler_ConfigChangeTriggersReconciliation (line 591) | func TestMCPExternalAuthConfigReconciler_ConfigChangeTriggersReconciliat... function TestMCPExternalAuthConfigReconciler_ReferencingWorkloadsUpdatedWithoutHashChange (line 698) | func TestMCPExternalAuthConfigReconciler_ReferencingWorkloadsUpdatedWith... function TestMCPExternalAuthConfigReconciler_ReferencingWorkloadsRemovedOnServerDeletion (line 786) | func TestMCPExternalAuthConfigReconciler_ReferencingWorkloadsRemovedOnSe... function TestMCPExternalAuthConfigReconciler_findReferencingWorkloads_authServerRef (line 874) | func TestMCPExternalAuthConfigReconciler_findReferencingWorkloads_authSe... function TestMCPExternalAuthConfigReconciler_findReferencingWorkloads_bothRefsOnSameServer (line 960) | func TestMCPExternalAuthConfigReconciler_findReferencingWorkloads_bothRe... function TestMCPExternalAuthConfigReconciler_findReferencingMCPServers_deduplicates (line 1063) | func TestMCPExternalAuthConfigReconciler_findReferencingMCPServers_dedup... function TestMCPExternalAuthConfigReconciler_findReferencingWorkloads_mcpRemoteProxy (line 1124) | func TestMCPExternalAuthConfigReconciler_findReferencingWorkloads_mcpRem... function TestMCPExternalAuthConfigReconciler_IdentitySynthesizedCondition (line 1229) | func TestMCPExternalAuthConfigReconciler_IdentitySynthesizedCondition(t ... function TestMCPExternalAuthConfigReconciler_IdentitySynthesizedTransitionsOnValidationFailure (line 1374) | func TestMCPExternalAuthConfigReconciler_IdentitySynthesizedTransitionsO... function findCondition (line 1467) | func findCondition(conditions []metav1.Condition, t string) *metav1.Cond... FILE: cmd/thv-operator/controllers/mcpgroup_controller.go constant MCPGroupFinalizerName (line 26) | MCPGroupFinalizerName = "toolhive.stacklok.dev/mcpgroup-finalizer" type MCPGroupReconciler (line 30) | type MCPGroupReconciler struct method Reconcile (line 46) | func (r *MCPGroupReconciler) Reconcile(ctx context.Context, req ctrl.R... method updateGroupMemberStatus (line 87) | func (r *MCPGroupReconciler) updateGroupMemberStatus( method handleListFailure (line 150) | func (r *MCPGroupReconciler) handleListFailure( method populateServerStatus (line 189) | func (*MCPGroupReconciler) populateServerStatus( method populateRemoteProxyStatus (line 206) | func (*MCPGroupReconciler) populateRemoteProxyStatus( method populateEntryStatus (line 223) | func (*MCPGroupReconciler) populateEntryStatus( method handleDeletion (line 240) | func (r *MCPGroupReconciler) handleDeletion(ctx context.Context, mcpGr... method findReferencingMCPServers (line 300) | func (r *MCPGroupReconciler) findReferencingMCPServers( method findReferencingMCPRemoteProxies (line 316) | func (r *MCPGroupReconciler) findReferencingMCPRemoteProxies( method findReferencingMCPServerEntries (line 332) | func (r *MCPGroupReconciler) findReferencingMCPServerEntries( method updateReferencingServersOnDeletion (line 348) | func (r *MCPGroupReconciler) updateReferencingServersOnDeletion( method updateReferencingRemoteProxiesOnDeletion (line 375) | func (r *MCPGroupReconciler) updateReferencingRemoteProxiesOnDeletion( method updateReferencingEntriesOnDeletion (line 402) | func (r *MCPGroupReconciler) updateReferencingEntriesOnDeletion( method findMCPGroupForMCPServer (line 425) | func (r *MCPGroupReconciler) findMCPGroupForMCPServer(ctx context.Cont... method findMCPGroupForMCPRemoteProxy (line 464) | func (r *MCPGroupReconciler) findMCPGroupForMCPRemoteProxy(ctx context... method findMCPGroupForMCPServerEntry (line 505) | func (r *MCPGroupReconciler) findMCPGroupForMCPServerEntry(ctx context... method SetupWithManager (line 541) | func (r *MCPGroupReconciler) SetupWithManager(mgr ctrl.Manager) error { FILE: cmd/thv-operator/controllers/mcpgroup_controller_test.go constant testGroupName (line 24) | testGroupName = "test-group" function TestMCPGroupReconciler_Reconcile_BasicLogic (line 29) | func TestMCPGroupReconciler_Reconcile_BasicLogic(t *testing.T) { function TestMCPGroupReconciler_ServerFiltering (line 252) | func TestMCPGroupReconciler_ServerFiltering(t *testing.T) { function TestMCPGroupReconciler_findMCPGroupForMCPServer (line 400) | func TestMCPGroupReconciler_findMCPGroupForMCPServer(t *testing.T) { function TestMCPGroupReconciler_GroupNotFound (line 571) | func TestMCPGroupReconciler_GroupNotFound(t *testing.T) { function TestMCPGroupReconciler_Conditions (line 622) | func TestMCPGroupReconciler_Conditions(t *testing.T) { function TestMCPGroupReconciler_Finalizer (line 759) | func TestMCPGroupReconciler_Finalizer(t *testing.T) { function TestMCPGroupReconciler_Deletion (line 830) | func TestMCPGroupReconciler_Deletion(t *testing.T) { function TestMCPGroupReconciler_findReferencingMCPServers (line 992) | func TestMCPGroupReconciler_findReferencingMCPServers(t *testing.T) { function TestMCPGroupReconciler_findReferencingMCPRemoteProxies (line 1123) | func TestMCPGroupReconciler_findReferencingMCPRemoteProxies(t *testing.T) { function TestMCPGroupReconciler_findMCPGroupForMCPRemoteProxy (line 1262) | func TestMCPGroupReconciler_findMCPGroupForMCPRemoteProxy(t *testing.T) { function TestMCPGroupReconciler_updateReferencingRemoteProxiesOnDeletion (line 1429) | func TestMCPGroupReconciler_updateReferencingRemoteProxiesOnDeletion(t *... FILE: cmd/thv-operator/controllers/mcpoidcconfig_controller.go constant OIDCConfigFinalizerName (line 29) | OIDCConfigFinalizerName = "mcpoidcconfig.toolhive.stacklok.dev/finalizer" constant oidcConfigRequeueDelay (line 32) | oidcConfigRequeueDelay = 500 * time.Millisecond type MCPOIDCConfigReconciler (line 40) | type MCPOIDCConfigReconciler struct method Reconcile (line 53) | func (r *MCPOIDCConfigReconciler) Reconcile(ctx context.Context, req c... method calculateConfigHash (line 149) | func (*MCPOIDCConfigReconciler) calculateConfigHash(spec mcpv1beta1.MC... method handleDeletion (line 157) | func (r *MCPOIDCConfigReconciler) handleDeletion( method findReferencingWorkloads (line 205) | func (r *MCPOIDCConfigReconciler) findReferencingWorkloads( method SetupWithManager (line 251) | func (r *MCPOIDCConfigReconciler) SetupWithManager(mgr ctrl.Manager) e... method mapVirtualMCPServerToOIDCConfig (line 318) | func (r *MCPOIDCConfigReconciler) mapVirtualMCPServerToOIDCConfig( method mapMCPRemoteProxyToOIDCConfig (line 365) | func (r *MCPOIDCConfigReconciler) mapMCPRemoteProxyToOIDCConfig( FILE: cmd/thv-operator/controllers/mcpoidcconfig_controller_test.go function TestMCPOIDCConfigReconciler_calculateConfigHash (line 23) | func TestMCPOIDCConfigReconciler_calculateConfigHash(t *testing.T) { function TestMCPOIDCConfigReconciler_ReconcileNotFound (line 90) | func TestMCPOIDCConfigReconciler_ReconcileNotFound(t *testing.T) { function TestMCPOIDCConfigReconciler_SteadyStateNoOp (line 120) | func TestMCPOIDCConfigReconciler_SteadyStateNoOp(t *testing.T) { function TestMCPOIDCConfigReconciler_ValidationRecovery (line 189) | func TestMCPOIDCConfigReconciler_ValidationRecovery(t *testing.T) { function TestMCPOIDCConfigReconciler_handleDeletion (line 277) | func TestMCPOIDCConfigReconciler_handleDeletion(t *testing.T) { function TestMCPOIDCConfigReconciler_ConfigChangeTriggersHashUpdate (line 341) | func TestMCPOIDCConfigReconciler_ConfigChangeTriggersHashUpdate(t *testi... function TestMCPOIDCConfigReconciler_ValidationFailureSetsCondition (line 419) | func TestMCPOIDCConfigReconciler_ValidationFailureSetsCondition(t *testi... function TestMCPOIDCConfig_Validate (line 481) | func TestMCPOIDCConfig_Validate(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpregistry_controller.go constant DefaultControllerRetryAfterConstant (line 33) | DefaultControllerRetryAfterConstant = time.Minute * 5 type MCPRegistryReconciler (line 44) | type MCPRegistryReconciler struct method Reconcile (line 92) | func (r *MCPRegistryReconciler) Reconcile(ctx context.Context, req ctr... method SetupWithManager (line 224) | func (r *MCPRegistryReconciler) SetupWithManager(mgr ctrl.Manager) err... method updateRegistryStatus (line 239) | func (r *MCPRegistryReconciler) updateRegistryStatus( method finalizeMCPRegistry (line 308) | func (r *MCPRegistryReconciler) finalizeMCPRegistry(ctx context.Contex... method validatePodTemplate (line 450) | func (*MCPRegistryReconciler) validatePodTemplate( function NewMCPRegistryReconciler (line 55) | func NewMCPRegistryReconciler( function setRegistryReadyCondition (line 297) | func setRegistryReadyCondition(registry *mcpv1beta1.MCPRegistry, status ... function validateSpec (line 330) | func validateSpec(mcpRegistry *mcpv1beta1.MCPRegistry) error { function validatePGPassSecretRef (line 354) | func validatePGPassSecretRef(ref *corev1.SecretKeySelector) error { function validateReservedNames (line 369) | func validateReservedNames(spec *mcpv1beta1.MCPRegistrySpec, userPTS *co... function validateMountPathCollisions (line 411) | func validateMountPathCollisions(spec *mcpv1beta1.MCPRegistrySpec, userP... FILE: cmd/thv-operator/controllers/mcpregistry_controller_test.go function toRawJSONSlice (line 34) | func toRawJSONSlice[T any](t *testing.T, items []T) []apiextensionsv1.JS... function newMCPRegistryTestScheme (line 46) | func newMCPRegistryTestScheme(t *testing.T) *runtime.Scheme { function newMCPRegistryWithFinalizer (line 58) | func newMCPRegistryWithFinalizer(name, namespace string) *mcpv1beta1.MCP... function TestMCPRegistryReconciler_Reconcile (line 71) | func TestMCPRegistryReconciler_Reconcile(t *testing.T) { function TestValidateSpec (line 448) | func TestValidateSpec(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpremoteproxy_authserverref_test.go function TestMCPRemoteProxyReconciler_handleAuthServerRef (line 22) | func TestMCPRemoteProxyReconciler_handleAuthServerRef(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpremoteproxy_controller.go type MCPRemoteProxyReconciler (line 40) | type MCPRemoteProxyReconciler struct method Reconcile (line 69) | func (r *MCPRemoteProxyReconciler) Reconcile(ctx context.Context, req ... method validateAndHandleConfigs (line 104) | func (r *MCPRemoteProxyReconciler) validateAndHandleConfigs(ctx contex... method ensureAllResources (line 181) | func (r *MCPRemoteProxyReconciler) ensureAllResources(ctx context.Cont... method ensureAuthzConfigMapForProxy (line 221) | func (r *MCPRemoteProxyReconciler) ensureAuthzConfigMapForProxy(ctx co... method getRunConfigChecksum (line 231) | func (r *MCPRemoteProxyReconciler) getRunConfigChecksum( method ensureDeployment (line 253) | func (r *MCPRemoteProxyReconciler) ensureDeployment( method ensureService (line 318) | func (r *MCPRemoteProxyReconciler) ensureService( method ensureServiceURL (line 366) | func (r *MCPRemoteProxyReconciler) ensureServiceURL(ctx context.Contex... method validateSpec (line 376) | func (r *MCPRemoteProxyReconciler) validateSpec(ctx context.Context, p... method failValidation (line 423) | func (r *MCPRemoteProxyReconciler) failValidation(proxy *mcpv1beta1.MC... method recordValidationEvent (line 430) | func (r *MCPRemoteProxyReconciler) recordValidationEvent(proxy *mcpv1b... method validateAuthzPolicySyntax (line 448) | func (*MCPRemoteProxyReconciler) validateAuthzPolicySyntax( method validateK8sRefs (line 460) | func (r *MCPRemoteProxyReconciler) validateK8sRefs( method handleToolConfig (line 542) | func (r *MCPRemoteProxyReconciler) handleToolConfig(ctx context.Contex... method handleTelemetryConfig (line 607) | func (r *MCPRemoteProxyReconciler) handleTelemetryConfig(ctx context.C... method handleExternalAuthConfig (line 697) | func (r *MCPRemoteProxyReconciler) handleExternalAuthConfig(ctx contex... method handleAuthServerRef (line 780) | func (r *MCPRemoteProxyReconciler) handleAuthServerRef(ctx context.Con... method handleOIDCConfig (line 891) | func (r *MCPRemoteProxyReconciler) handleOIDCConfig(ctx context.Contex... method fetchAndValidateOIDCConfig (line 953) | func (r *MCPRemoteProxyReconciler) fetchAndValidateOIDCConfig( method updateOIDCConfigReferencingWorkloads (line 1011) | func (r *MCPRemoteProxyReconciler) updateOIDCConfigReferencingWorkloads( method validateGroupRef (line 1040) | func (r *MCPRemoteProxyReconciler) validateGroupRef(ctx context.Contex... method ensureRBACResources (line 1084) | func (r *MCPRemoteProxyReconciler) ensureRBACResources(ctx context.Con... method imagePullSecretsForRemoteProxy (line 1111) | func (r *MCPRemoteProxyReconciler) imagePullSecretsForRemoteProxy( method updateMCPRemoteProxyStatus (line 1122) | func (r *MCPRemoteProxyReconciler) updateMCPRemoteProxyStatus(ctx cont... method deploymentNeedsUpdate (line 1244) | func (r *MCPRemoteProxyReconciler) deploymentNeedsUpdate( method containerNeedsUpdate (line 1281) | func (r *MCPRemoteProxyReconciler) containerNeedsUpdate( method deploymentMetadataNeedsUpdate (line 1340) | func (*MCPRemoteProxyReconciler) deploymentMetadataNeedsUpdate( method podTemplateMetadataNeedsUpdate (line 1379) | func (r *MCPRemoteProxyReconciler) podTemplateMetadataNeedsUpdate( method podSpecNeedsUpdate (line 1409) | func (r *MCPRemoteProxyReconciler) podSpecNeedsUpdate( method serviceNeedsUpdate (line 1419) | func (*MCPRemoteProxyReconciler) serviceNeedsUpdate(service *corev1.Se... method mapOIDCConfigToMCPRemoteProxy (line 1462) | func (r *MCPRemoteProxyReconciler) mapOIDCConfigToMCPRemoteProxy( method mapTelemetryConfigToMCPRemoteProxy (line 1495) | func (r *MCPRemoteProxyReconciler) mapTelemetryConfigToMCPRemoteProxy( method SetupWithManager (line 1526) | func (r *MCPRemoteProxyReconciler) SetupWithManager(mgr ctrl.Manager) ... function setConfigurationInvalidCondition (line 437) | func setConfigurationInvalidCondition(proxy *mcpv1beta1.MCPRemoteProxy, ... function labelsForMCPRemoteProxy (line 1200) | func labelsForMCPRemoteProxy(name string) map[string]string { function proxyRunnerServiceAccountNameForRemoteProxy (line 1212) | func proxyRunnerServiceAccountNameForRemoteProxy(proxyName string) string { function serviceAccountNameForRemoteProxy (line 1218) | func serviceAccountNameForRemoteProxy(proxy *mcpv1beta1.MCPRemoteProxy) ... function createProxyServiceName (line 1227) | func createProxyServiceName(proxyName string) string { function createProxyServiceURL (line 1232) | func createProxyServiceURL(proxyName, namespace string, port int32) stri... FILE: cmd/thv-operator/controllers/mcpremoteproxy_controller_test.go function TestMCPRemoteProxyValidateSpec (line 41) | func TestMCPRemoteProxyValidateSpec(t *testing.T) { function TestMCPRemoteProxyReconcile_CreateResources (line 130) | func TestMCPRemoteProxyReconcile_CreateResources(t *testing.T) { function TestMCPRemoteProxyReconcile_NotFound (line 225) | func TestMCPRemoteProxyReconcile_NotFound(t *testing.T) { function TestHandleToolConfig (line 251) | func TestHandleToolConfig(t *testing.T) { function TestHandleExternalAuthConfig (line 498) | func TestHandleExternalAuthConfig(t *testing.T) { function TestLabelsForMCPRemoteProxy (line 800) | func TestLabelsForMCPRemoteProxy(t *testing.T) { function TestServiceNameGeneration (line 816) | func TestServiceNameGeneration(t *testing.T) { function TestEnsureRBACResources (line 850) | func TestEnsureRBACResources(t *testing.T) { function TestMCPRemoteProxyEnsureRBACResources_Update (line 909) | func TestMCPRemoteProxyEnsureRBACResources_Update(t *testing.T) { function TestMCPRemoteProxyEnsureRBACResources_Idempotency (line 992) | func TestMCPRemoteProxyEnsureRBACResources_Idempotency(t *testing.T) { function TestMCPRemoteProxyEnsureRBACResources_CustomServiceAccount (line 1053) | func TestMCPRemoteProxyEnsureRBACResources_CustomServiceAccount(t *testi... function TestMCPRemoteProxyEnsureRBACResources_ImagePullSecrets (line 1114) | func TestMCPRemoteProxyEnsureRBACResources_ImagePullSecrets(t *testing.T) { function TestUpdateMCPRemoteProxyStatus (line 1174) | func TestUpdateMCPRemoteProxyStatus(t *testing.T) { function TestGetToolConfigForMCPRemoteProxy (line 1311) | func TestGetToolConfigForMCPRemoteProxy(t *testing.T) { function TestGetExternalAuthConfigForMCPRemoteProxy (line 1349) | func TestGetExternalAuthConfigForMCPRemoteProxy(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpremoteproxy_default_imagepullsecrets_test.go function TestMCPRemoteProxy_DefaultImagePullSecrets (line 29) | func TestMCPRemoteProxy_DefaultImagePullSecrets(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpremoteproxy_deployment.go method deploymentForMCPRemoteProxy (line 24) | func (r *MCPRemoteProxyReconciler) deploymentForMCPRemoteProxy( method buildContainerArgs (line 104) | func (*MCPRemoteProxyReconciler) buildContainerArgs() []string { method buildVolumesForProxy (line 113) | func (*MCPRemoteProxyReconciler) buildVolumesForProxy( method addTelemetryCABundleVolumes (line 150) | func (r *MCPRemoteProxyReconciler) addTelemetryCABundleVolumes( method buildEnvVarsForProxy (line 172) | func (r *MCPRemoteProxyReconciler) buildEnvVarsForProxy( method buildOIDCClientSecretEnvVars (line 240) | func (r *MCPRemoteProxyReconciler) buildOIDCClientSecretEnvVars( function buildHeaderForwardSecretEnvVars (line 272) | func buildHeaderForwardSecretEnvVars(proxy *mcpv1beta1.MCPRemoteProxy) [... method buildDeploymentMetadata (line 300) | func (*MCPRemoteProxyReconciler) buildDeploymentMetadata( method buildPodTemplateMetadata (line 328) | func (*MCPRemoteProxyReconciler) buildPodTemplateMetadata( method buildSecurityContexts (line 355) | func (r *MCPRemoteProxyReconciler) buildSecurityContexts( method buildContainerPorts (line 373) | func (*MCPRemoteProxyReconciler) buildContainerPorts(proxy *mcpv1beta1.M... method serviceForMCPRemoteProxy (line 382) | func (r *MCPRemoteProxyReconciler) serviceForMCPRemoteProxy( method buildServiceMetadata (line 426) | func (*MCPRemoteProxyReconciler) buildServiceMetadata( FILE: cmd/thv-operator/controllers/mcpremoteproxy_deployment_test.go function TestDeploymentForMCPRemoteProxy (line 36) | func TestDeploymentForMCPRemoteProxy(t *testing.T) { function TestServiceForMCPRemoteProxy (line 220) | func TestServiceForMCPRemoteProxy(t *testing.T) { function TestBuildResourceRequirements (line 327) | func TestBuildResourceRequirements(t *testing.T) { function TestBuildHeaderForwardSecretEnvVars (line 380) | func TestBuildHeaderForwardSecretEnvVars(t *testing.T) { function TestBuildHealthProbe (line 523) | func TestBuildHealthProbe(t *testing.T) { function TestEnsureDeployment (line 539) | func TestEnsureDeployment(t *testing.T) { function TestEnsureService (line 643) | func TestEnsureService(t *testing.T) { function TestMCPRemoteProxyDeploymentNeedsUpdate_EmbeddedAuthLegacyEnvStable (line 703) | func TestMCPRemoteProxyDeploymentNeedsUpdate_EmbeddedAuthLegacyEnvStable... function TestMCPRemoteProxyDeploymentNeedsUpdate_EmbeddedAuthAuthServerRefEnvStable (line 765) | func TestMCPRemoteProxyDeploymentNeedsUpdate_EmbeddedAuthAuthServerRefEn... function TestMCPRemoteProxyDeploymentNeedsUpdate_TokenExchangeDoesNotDrift (line 828) | func TestMCPRemoteProxyDeploymentNeedsUpdate_TokenExchangeDoesNotDrift(t... function TestMCPRemoteProxyDeploymentNeedsUpdate_ImagePullSecretsDrift (line 883) | func TestMCPRemoteProxyDeploymentNeedsUpdate_ImagePullSecretsDrift(t *te... function TestBuildEnvVarsForProxy (line 982) | func TestBuildEnvVarsForProxy(t *testing.T) { function TestMCPRemoteProxyServiceNeedsUpdate (line 1222) | func TestMCPRemoteProxyServiceNeedsUpdate(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpremoteproxy_reconciler_test.go function TestMCPRemoteProxyFullReconciliation (line 42) | func TestMCPRemoteProxyFullReconciliation(t *testing.T) { function TestMCPRemoteProxyConfigChangePropagation (line 315) | func TestMCPRemoteProxyConfigChangePropagation(t *testing.T) { function TestMCPRemoteProxyStatusProgression (line 402) | func TestMCPRemoteProxyStatusProgression(t *testing.T) { function TestCommonHelpers (line 487) | func TestCommonHelpers(t *testing.T) { function TestEnsureAuthzConfigMapShared (line 552) | func TestEnsureAuthzConfigMapShared(t *testing.T) { function TestRBACClientIntegration (line 608) | func TestRBACClientIntegration(t *testing.T) { function TestGenerateTokenExchangeEnvVarsShared (line 677) | func TestGenerateTokenExchangeEnvVarsShared(t *testing.T) { function TestValidateSpecConfigurationConditions (line 726) | func TestValidateSpecConfigurationConditions(t *testing.T) { function TestValidateAndHandleConfigs (line 878) | func TestValidateAndHandleConfigs(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpremoteproxy_runconfig.go method ensureRunConfigConfigMap (line 27) | func (r *MCPRemoteProxyReconciler) ensureRunConfigConfigMap(ctx context.... method createRunConfigFromMCPRemoteProxy (line 73) | func (r *MCPRemoteProxyReconciler) createRunConfigFromMCPRemoteProxy( method resolveAndAddOIDCConfig (line 181) | func (r *MCPRemoteProxyReconciler) resolveAndAddOIDCConfig( method validateRunConfigForRemoteProxy (line 223) | func (*MCPRemoteProxyReconciler) validateRunConfigForRemoteProxy(ctx con... function labelsForRunConfigRemoteProxy (line 262) | func labelsForRunConfigRemoteProxy(proxyName string) map[string]string { function addHeaderForwardConfigOptions (line 273) | func addHeaderForwardConfigOptions(proxy *mcpv1beta1.MCPRemoteProxy, opt... method resolveToolConfig (line 303) | func (r *MCPRemoteProxyReconciler) resolveToolConfig( method addTelemetryOptions (line 333) | func (r *MCPRemoteProxyReconciler) addTelemetryOptions( FILE: cmd/thv-operator/controllers/mcpremoteproxy_runconfig_test.go function TestCreateRunConfigFromMCPRemoteProxy (line 39) | func TestCreateRunConfigFromMCPRemoteProxy(t *testing.T) { function TestCreateRunConfigFromMCPRemoteProxy_WithTokenExchange (line 313) | func TestCreateRunConfigFromMCPRemoteProxy_WithTokenExchange(t *testing.... function TestCreateRunConfigFromMCPRemoteProxy_WithBearerToken (line 451) | func TestCreateRunConfigFromMCPRemoteProxy_WithBearerToken(t *testing.T) { function TestValidateRunConfigForRemoteProxy (line 656) | func TestValidateRunConfigForRemoteProxy(t *testing.T) { function TestEnsureRunConfigConfigMapForRemoteProxy (line 769) | func TestEnsureRunConfigConfigMapForRemoteProxy(t *testing.T) { function TestLabelsForRunConfigRemoteProxy (line 848) | func TestLabelsForRunConfigRemoteProxy(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpremoteproxy_telemetryconfig_test.go function TestHandleTelemetryConfig_MCPRemoteProxy (line 19) | func TestHandleTelemetryConfig_MCPRemoteProxy(t *testing.T) { function TestMapTelemetryConfigToMCPRemoteProxy (line 259) | func TestMapTelemetryConfigToMCPRemoteProxy(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_authserverref_test.go function TestMCPServerReconciler_handleAuthServerRef (line 23) | func TestMCPServerReconciler_handleAuthServerRef(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_authz_test.go function TestEnsureAuthzConfigMap (line 24) | func TestEnsureAuthzConfigMap(t *testing.T) { function TestEnsureAuthzConfigMap_Updates (line 162) | func TestEnsureAuthzConfigMap_Updates(t *testing.T) { function TestGenerateAuthzVolumeConfig (line 249) | func TestGenerateAuthzVolumeConfig(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_controller.go type MCPServerReconciler (line 47) | type MCPServerReconciler struct method detectPlatform (line 144) | func (r *MCPServerReconciler) detectPlatform(ctx context.Context) (kub... method Reconcile (line 172) | func (r *MCPServerReconciler) Reconcile(ctx context.Context, req ctrl.... method validateGroupRef (line 503) | func (r *MCPServerReconciler) validateGroupRef(ctx context.Context, mc... method validateCABundleRef (line 560) | func (r *MCPServerReconciler) validateCABundleRef(ctx context.Context,... method updateCABundleStatus (line 618) | func (r *MCPServerReconciler) updateCABundleStatus(ctx context.Context... method validateAndUpdatePodTemplateStatus (line 638) | func (r *MCPServerReconciler) validateAndUpdatePodTemplateStatus(ctx c... method handleRestartAnnotation (line 700) | func (r *MCPServerReconciler) handleRestartAnnotation(ctx context.Cont... method performRestart (line 770) | func (r *MCPServerReconciler) performRestart(ctx context.Context, mcpS... method getRunConfigChecksum (line 785) | func (r *MCPServerReconciler) getRunConfigChecksum( method performRollingRestart (line 797) | func (r *MCPServerReconciler) performRollingRestart(ctx context.Contex... method performImmediateRestart (line 825) | func (r *MCPServerReconciler) performImmediateRestart(ctx context.Cont... method handleToolConfig (line 854) | func (r *MCPServerReconciler) handleToolConfig(ctx context.Context, m ... method ensureRBACResources (line 897) | func (r *MCPServerReconciler) ensureRBACResources(ctx context.Context,... method imagePullSecretsForMCPServer (line 943) | func (r *MCPServerReconciler) imagePullSecretsForMCPServer( method deploymentForMCPServer (line 957) | func (r *MCPServerReconciler) deploymentForMCPServer( method serviceForMCPServer (line 1322) | func (r *MCPServerReconciler) serviceForMCPServer(ctx context.Context,... method updateMCPServerStatus (line 1444) | func (r *MCPServerReconciler) updateMCPServerStatus(ctx context.Contex... method deleteIfExists (line 1534) | func (r *MCPServerReconciler) deleteIfExists(ctx context.Context, obj ... method finalizeMCPServer (line 1551) | func (r *MCPServerReconciler) finalizeMCPServer(ctx context.Context, m... method deploymentNeedsUpdate (line 1580) | func (r *MCPServerReconciler) deploymentNeedsUpdate( method handleExternalAuthConfig (line 1933) | func (r *MCPServerReconciler) handleExternalAuthConfig(ctx context.Con... method handleAuthServerRef (line 1999) | func (r *MCPServerReconciler) handleAuthServerRef(ctx context.Context,... method handleOIDCConfig (line 2109) | func (r *MCPServerReconciler) handleOIDCConfig(ctx context.Context, m ... method fetchAndValidateOIDCConfig (line 2166) | func (r *MCPServerReconciler) fetchAndValidateOIDCConfig( method updateOIDCConfigReferencingWorkloads (line 2222) | func (r *MCPServerReconciler) updateOIDCConfigReferencingWorkloads( method ensureAuthzConfigMap (line 2249) | func (r *MCPServerReconciler) ensureAuthzConfigMap(ctx context.Context... method validateStdioReplicaCap (line 2292) | func (r *MCPServerReconciler) validateStdioReplicaCap(ctx context.Cont... method validateSessionStorageForReplicas (line 2321) | func (r *MCPServerReconciler) validateSessionStorageForReplicas(ctx co... method validateRateLimitConfig (line 2357) | func (r *MCPServerReconciler) validateRateLimitConfig(ctx context.Cont... method SetupWithManager (line 2397) | func (r *MCPServerReconciler) SetupWithManager(mgr ctrl.Manager) error { constant mcpContainerName (line 111) | mcpContainerName = "mcp" constant MCPServerFinalizerName (line 114) | MCPServerFinalizerName = "mcpserver.toolhive.stacklok.dev/finalizer" constant RestartedAtAnnotationKey (line 118) | RestartedAtAnnotationKey = "mcpserver.toolhive.stacklok.dev/res... constant RestartStrategyAnnotationKey (line 119) | RestartStrategyAnnotationKey = "mcpserver.toolhive.stacklok.dev/res... constant LastProcessedRestartAnnotationKey (line 120) | LastProcessedRestartAnnotationKey = "mcpserver.toolhive.stacklok.dev/las... constant RestartStrategyRolling (line 125) | RestartStrategyRolling = "rolling" constant RestartStrategyImmediate (line 126) | RestartStrategyImmediate = "immediate" constant authzLabelKey (line 132) | authzLabelKey = "toolhive.stacklok.io/authz" constant authzLabelValueInline (line 135) | authzLabelValueInline = "inline" constant defaultTerminationGracePeriodSeconds (line 138) | defaultTerminationGracePeriodSeconds = int64(30) constant stdioTransport (line 140) | stdioTransport = "stdio" function setCABundleRefCondition (line 548) | func setCABundleRefCondition(mcpServer *mcpv1beta1.MCPServer, status met... function setReadyCondition (line 626) | func setReadyCondition(mcpServer *mcpv1beta1.MCPServer, status metav1.Co... function checkContainerError (line 1378) | func checkContainerError(containerStatus corev1.ContainerStatus) (bool, ... function areAllContainersReady (line 1397) | func areAllContainersReady(containerStatuses []corev1.ContainerStatus) b... function categorizePodStatus (line 1410) | func categorizePodStatus(pod corev1.Pod) (running, pending, failed int, ... function serviceNeedsUpdate (line 1827) | func serviceNeedsUpdate(service *corev1.Service, mcpServer *mcpv1beta1.M... function resourceRequirementsForMCPServer (line 1872) | func resourceRequirementsForMCPServer(m *mcpv1beta1.MCPServer) corev1.Re... function mcpServerServiceAccountName (line 1896) | func mcpServerServiceAccountName(mcpServerName string) string { function labelsForMCPServer (line 1902) | func labelsForMCPServer(name string) map[string]string { function labelsForInlineAuthzConfig (line 1914) | func labelsForInlineAuthzConfig(name string) map[string]string { function getToolhiveRunnerImage (line 1921) | func getToolhiveRunnerImage() string { function setOIDCConfigRefCondition (line 2210) | func setOIDCConfigRefCondition(m *mcpv1beta1.MCPServer, status metav1.Co... function int32Ptr (line 2256) | func int32Ptr(i int32) *int32 { function int64Ptr (line 2261) | func int64Ptr(i int64) *int64 { function resolveDeploymentReplicas (line 2268) | func resolveDeploymentReplicas(mcpTransport string, specReplicas *int32)... function setStdioReplicaCappedCondition (line 2279) | func setStdioReplicaCappedCondition(mcpServer *mcpv1beta1.MCPServer, sta... function setSessionStorageCondition (line 2308) | func setSessionStorageCondition(mcpServer *mcpv1beta1.MCPServer, status ... function setRateLimitConfigCondition (line 2343) | func setRateLimitConfigCondition(mcpServer *mcpv1beta1.MCPServer, status... FILE: cmd/thv-operator/controllers/mcpserver_default_imagepullsecrets_test.go function TestEnsureRBACResources_DefaultImagePullSecrets (line 27) | func TestEnsureRBACResources_DefaultImagePullSecrets(t *testing.T) { function TestDeploymentNeedsUpdate_DefaultImagePullSecrets (line 102) | func TestDeploymentNeedsUpdate_DefaultImagePullSecrets(t *testing.T) { function TestDeploymentForMCPServer_DefaultImagePullSecrets (line 119) | func TestDeploymentForMCPServer_DefaultImagePullSecrets(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_externalauth_runconfig_test.go function TestAddExternalAuthConfigOptions (line 37) | func TestAddExternalAuthConfigOptions(t *testing.T) { function TestCreateRunConfigFromMCPServer_WithExternalAuth (line 637) | func TestCreateRunConfigFromMCPServer_WithExternalAuth(t *testing.T) { function TestGenerateTokenExchangeEnvVars (line 880) | func TestGenerateTokenExchangeEnvVars(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_externalauth_test.go function TestMCPServerReconciler_handleExternalAuthConfig (line 34) | func TestMCPServerReconciler_handleExternalAuthConfig(t *testing.T) { function TestMCPServerReconciler_handleExternalAuthConfig_SameNamespace (line 262) | func TestMCPServerReconciler_handleExternalAuthConfig_SameNamespace(t *t... function TestMCPServerReconciler_handleExternalAuthConfig_HashUpdateTrigger (line 326) | func TestMCPServerReconciler_handleExternalAuthConfig_HashUpdateTrigger(... function TestMCPServerReconciler_handleExternalAuthConfig_NoHashInConfig (line 403) | func TestMCPServerReconciler_handleExternalAuthConfig_NoHashInConfig(t *... FILE: cmd/thv-operator/controllers/mcpserver_groupref_test.go function TestMCPServerReconciler_ValidateGroupRef (line 23) | func TestMCPServerReconciler_ValidateGroupRef(t *testing.T) { function TestMCPServerReconciler_GroupRefValidation_Integration (line 205) | func TestMCPServerReconciler_GroupRefValidation_Integration(t *testing.T) { function TestMCPServerReconciler_GroupRefCrossNamespace (line 302) | func TestMCPServerReconciler_GroupRefCrossNamespace(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_invalid_podtemplate_reconcile_test.go function TestMCPServerReconciler_InvalidPodTemplateSpec (line 27) | func TestMCPServerReconciler_InvalidPodTemplateSpec(t *testing.T) { function TestDeploymentArgsWithInvalidPodTemplateSpec (line 182) | func TestDeploymentArgsWithInvalidPodTemplateSpec(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_oidcconfig_test.go function TestMCPServerReconciler_handleOIDCConfig (line 23) | func TestMCPServerReconciler_handleOIDCConfig(t *testing.T) { function TestMCPServerReconciler_updateOIDCConfigReferencingWorkloads (line 214) | func TestMCPServerReconciler_updateOIDCConfigReferencingWorkloads(t *tes... function TestMCPServerReconciler_handleOIDCConfig_ConditionPersistedOnRecovery (line 260) | func TestMCPServerReconciler_handleOIDCConfig_ConditionPersistedOnRecove... function TestMCPOIDCConfigReconciler_handleDeletion_BlocksWhenReferenced (line 321) | func TestMCPOIDCConfigReconciler_handleDeletion_BlocksWhenReferenced(t *... function TestMCPOIDCConfigReconciler_handleDeletion_AllowsWhenNotReferenced (line 360) | func TestMCPOIDCConfigReconciler_handleDeletion_AllowsWhenNotReferenced(... function TestMCPOIDCConfigReconciler_handleDeletion_IgnoresCrossNamespaceRef (line 397) | func TestMCPOIDCConfigReconciler_handleDeletion_IgnoresCrossNamespaceRef... function conditionStatusPtr (line 439) | func conditionStatusPtr(s metav1.ConditionStatus) *metav1.ConditionStatus { FILE: cmd/thv-operator/controllers/mcpserver_platform_test.go function TestMCPServerReconciler_DetectPlatform_Success (line 21) | func TestMCPServerReconciler_DetectPlatform_Success(t *testing.T) { function TestMCPServerReconciler_DetectPlatform_Error (line 69) | func TestMCPServerReconciler_DetectPlatform_Error(t *testing.T) { function TestMCPServerReconciler_DeploymentForMCPServer_Kubernetes (line 91) | func TestMCPServerReconciler_DeploymentForMCPServer_Kubernetes(t *testin... function TestMCPServerReconciler_DeploymentForMCPServer_OpenShift (line 163) | func TestMCPServerReconciler_DeploymentForMCPServer_OpenShift(t *testing... function TestMCPServerReconciler_DeploymentForMCPServer_PlatformDetectionError (line 241) | func TestMCPServerReconciler_DeploymentForMCPServer_PlatformDetectionErr... function TestMCPServerReconciler_DeploymentForMCPServer_EnvironmentOverride (line 288) | func TestMCPServerReconciler_DeploymentForMCPServer_EnvironmentOverride(... FILE: cmd/thv-operator/controllers/mcpserver_pod_template_test.go function TestDeploymentForMCPServerWithPodTemplateSpec (line 24) | func TestDeploymentForMCPServerWithPodTemplateSpec(t *testing.T) { function TestDeploymentForMCPServerSecretsProviderEnv (line 170) | func TestDeploymentForMCPServerSecretsProviderEnv(t *testing.T) { function TestDeploymentForMCPServerWithSecrets (line 200) | func TestDeploymentForMCPServerWithSecrets(t *testing.T) { function TestProxyRunnerSecurityContext (line 310) | func TestProxyRunnerSecurityContext(t *testing.T) { function TestProxyRunnerStructuredLogsEnvVar (line 357) | func TestProxyRunnerStructuredLogsEnvVar(t *testing.T) { function boolPtr (line 404) | func boolPtr(b bool) *bool { FILE: cmd/thv-operator/controllers/mcpserver_podtemplatespec_builder_test.go function TestMCPServerPodTemplateSpec_AllCombinations (line 19) | func TestMCPServerPodTemplateSpec_AllCombinations(t *testing.T) { function TestMCPServerPodTemplateSpec_SecretEnvVarNaming (line 208) | func TestMCPServerPodTemplateSpec_SecretEnvVarNaming(t *testing.T) { function TestMCPServerPodTemplateSpec_NilInputWithSecrets (line 255) | func TestMCPServerPodTemplateSpec_NilInputWithSecrets(t *testing.T) { function findMCPContainer (line 274) | func findMCPContainer(containers []corev1.Container) *corev1.Container { FILE: cmd/thv-operator/controllers/mcpserver_rbac_test.go type testContext (line 26) | type testContext struct method ensureRBACResources (line 46) | func (tc *testContext) ensureRBACResources() error { method assertServiceAccountExists (line 50) | func (tc *testContext) assertServiceAccountExists(t *testing.T) { method assertRoleExists (line 62) | func (tc *testContext) assertRoleExists(t *testing.T) { method assertRoleBindingExists (line 75) | func (tc *testContext) assertRoleBindingExists(t *testing.T) { method assertAllRBACResourcesExist (line 103) | func (tc *testContext) assertAllRBACResourcesExist(t *testing.T) { function setupTest (line 33) | func setupTest(name, namespace string) *testContext { function TestEnsureRBACResources_ServiceAccount_Creation (line 110) | func TestEnsureRBACResources_ServiceAccount_Creation(t *testing.T) { function TestEnsureRBACResources_ServiceAccount_Update (line 120) | func TestEnsureRBACResources_ServiceAccount_Update(t *testing.T) { function TestEnsureRBACResources_Role_Creation (line 140) | func TestEnsureRBACResources_Role_Creation(t *testing.T) { function TestEnsureRBACResources_Role_Update (line 150) | func TestEnsureRBACResources_Role_Update(t *testing.T) { function TestEnsureRBACResources_RoleBinding_Creation (line 176) | func TestEnsureRBACResources_RoleBinding_Creation(t *testing.T) { function TestEnsureRBACResources_RoleBinding_Update (line 186) | func TestEnsureRBACResources_RoleBinding_Update(t *testing.T) { function TestEnsureRBACResources_MultipleNamespaces (line 217) | func TestEnsureRBACResources_MultipleNamespaces(t *testing.T) { function TestEnsureRBACResources_ResourceNames (line 241) | func TestEnsureRBACResources_ResourceNames(t *testing.T) { function TestEnsureRBACResources_NoChangesNeeded (line 262) | func TestEnsureRBACResources_NoChangesNeeded(t *testing.T) { function TestEnsureRBACResources_Idempotency (line 312) | func TestEnsureRBACResources_Idempotency(t *testing.T) { function TestEnsureRBACResources_CustomServiceAccount (line 324) | func TestEnsureRBACResources_CustomServiceAccount(t *testing.T) { function TestEnsureRBACResources_ImagePullSecrets (line 384) | func TestEnsureRBACResources_ImagePullSecrets(t *testing.T) { function createTestMCPServer (line 427) | func createTestMCPServer(name, namespace string) *mcpv1beta1.MCPServer { function createTestScheme (line 441) | func createTestScheme() *runtime.Scheme { FILE: cmd/thv-operator/controllers/mcpserver_replicas_test.go function TestReplicaBehavior (line 24) | func TestReplicaBehavior(t *testing.T) { function TestConfigUpdatePreservesReplicas (line 179) | func TestConfigUpdatePreservesReplicas(t *testing.T) { function TestUpdateMCPServerStatusScaledToZero (line 265) | func TestUpdateMCPServerStatusScaledToZero(t *testing.T) { function TestUpdateMCPServerStatusReadyReplicas (line 336) | func TestUpdateMCPServerStatusReadyReplicas(t *testing.T) { function TestDefaultCreationHasNilReplicas (line 460) | func TestDefaultCreationHasNilReplicas(t *testing.T) { function TestResolveDeploymentReplicasNil (line 511) | func TestResolveDeploymentReplicasNil(t *testing.T) { function TestResolveDeploymentReplicas1 (line 517) | func TestResolveDeploymentReplicas1(t *testing.T) { function TestResolveDeploymentReplicas3SSE (line 524) | func TestResolveDeploymentReplicas3SSE(t *testing.T) { function TestResolveDeploymentReplicasStdioCap (line 531) | func TestResolveDeploymentReplicasStdioCap(t *testing.T) { function TestTerminationGracePeriodSet (line 540) | func TestTerminationGracePeriodSet(t *testing.T) { function TestSpecDrivenReplicasNil (line 572) | func TestSpecDrivenReplicasNil(t *testing.T) { function TestSpecDrivenReplicas3 (line 604) | func TestSpecDrivenReplicas3(t *testing.T) { function TestStdioCapConditionSet (line 640) | func TestStdioCapConditionSet(t *testing.T) { function TestSessionStorageWarningSet (line 691) | func TestSessionStorageWarningSet(t *testing.T) { function TestSessionStorageWarningCleared (line 741) | func TestSessionStorageWarningCleared(t *testing.T) { function TestCategorizePodStatusExcludesTerminatingPods (line 794) | func TestCategorizePodStatusExcludesTerminatingPods(t *testing.T) { function TestUpdateMCPServerStatusExcludesTerminatingPods (line 864) | func TestUpdateMCPServerStatusExcludesTerminatingPods(t *testing.T) { function TestRateLimitConfigValidation (line 983) | func TestRateLimitConfigValidation(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_resource_overrides_test.go function TestMCPServerDeploymentNeedsUpdate_EmbeddedAuthLegacyEnvStable (line 32) | func TestMCPServerDeploymentNeedsUpdate_EmbeddedAuthLegacyEnvStable(t *t... function TestMCPServerDeploymentNeedsUpdate_EmbeddedAuthAuthServerRefEnvStable (line 101) | func TestMCPServerDeploymentNeedsUpdate_EmbeddedAuthAuthServerRefEnvStab... function TestMCPServerDeploymentNeedsUpdate_TokenExchangeDoesNotDrift (line 162) | func TestMCPServerDeploymentNeedsUpdate_TokenExchangeDoesNotDrift(t *tes... function TestResourceOverrides (line 215) | func TestResourceOverrides(t *testing.T) { function TestMergeStringMaps (line 596) | func TestMergeStringMaps(t *testing.T) { function TestDeploymentNeedsUpdateProxyEnv (line 641) | func TestDeploymentNeedsUpdateProxyEnv(t *testing.T) { function TestMCPServerDeploymentNeedsUpdate_ImagePullSecretsDrift (line 827) | func TestMCPServerDeploymentNeedsUpdate_ImagePullSecretsDrift(t *testing... function TestMCPServerSessionAffinityNone (line 923) | func TestMCPServerSessionAffinityNone(t *testing.T) { function TestMCPServerServiceNeedsUpdate (line 949) | func TestMCPServerServiceNeedsUpdate(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_restart_test.go type restartTestContext (line 26) | type restartTestContext struct method createDeployment (line 53) | func (tc *restartTestContext) createDeployment() { method createPods (line 84) | func (tc *restartTestContext) createPods(count int) { method setRestartAnnotation (line 107) | func (tc *restartTestContext) setRestartAnnotation(timestamp string, s... method setLastRestartRequest (line 118) | func (tc *restartTestContext) setLastRestartRequest(timestamp time.Tim... method handleRestartAnnotation (line 129) | func (tc *restartTestContext) handleRestartAnnotation() (bool, error) { method assertDeploymentPodTemplateAnnotationUpdated (line 157) | func (tc *restartTestContext) assertDeploymentPodTemplateAnnotationUpd... method assertPodsDeleted (line 176) | func (tc *restartTestContext) assertPodsDeleted(_ int) { method assertLastRestartRequestUpdated (line 191) | func (tc *restartTestContext) assertLastRestartRequestUpdated(expected... function setupRestartTest (line 33) | func setupRestartTest(t *testing.T) *restartTestContext { function TestHandleRestartAnnotation_NoAnnotation (line 211) | func TestHandleRestartAnnotation_NoAnnotation(t *testing.T) { function TestHandleRestartAnnotation_InvalidTimestamp (line 221) | func TestHandleRestartAnnotation_InvalidTimestamp(t *testing.T) { function TestHandleRestartAnnotation_AlreadyProcessed (line 232) | func TestHandleRestartAnnotation_AlreadyProcessed(t *testing.T) { function TestHandleRestartAnnotation_RollingRestart_Success (line 246) | func TestHandleRestartAnnotation_RollingRestart_Success(t *testing.T) { function TestHandleRestartAnnotation_RollingRestart_DefaultStrategy (line 264) | func TestHandleRestartAnnotation_RollingRestart_DefaultStrategy(t *testi... function TestHandleRestartAnnotation_RollingRestart_DeploymentNotFound (line 282) | func TestHandleRestartAnnotation_RollingRestart_DeploymentNotFound(t *te... function TestHandleRestartAnnotation_ImmediateRestart_Success (line 296) | func TestHandleRestartAnnotation_ImmediateRestart_Success(t *testing.T) { function TestHandleRestartAnnotation_ImmediateRestart_NoPods (line 315) | func TestHandleRestartAnnotation_ImmediateRestart_NoPods(t *testing.T) { function TestHandleRestartAnnotation_UnknownStrategy (line 329) | func TestHandleRestartAnnotation_UnknownStrategy(t *testing.T) { function TestHandleRestartAnnotation_MultipleSequentialRequests (line 347) | func TestHandleRestartAnnotation_MultipleSequentialRequests(t *testing.T) { function TestHandleRestartAnnotation_DifferentStrategies (line 378) | func TestHandleRestartAnnotation_DifferentStrategies(t *testing.T) { function TestPerformRollingRestart_Success (line 421) | func TestPerformRollingRestart_Success(t *testing.T) { function TestPerformRollingRestart_ExistingAnnotations (line 448) | func TestPerformRollingRestart_ExistingAnnotations(t *testing.T) { function TestPerformImmediateRestart_Success (line 487) | func TestPerformImmediateRestart_Success(t *testing.T) { function TestPerformImmediateRestart_NoPods (line 500) | func TestPerformImmediateRestart_NoPods(t *testing.T) { function TestPerformRestart_ValidStrategies (line 508) | func TestPerformRestart_ValidStrategies(t *testing.T) { function TestHandleRestartAnnotation_ErrorPaths (line 537) | func TestHandleRestartAnnotation_ErrorPaths(t *testing.T) { function TestPerformRollingRestart_ErrorPaths (line 582) | func TestPerformRollingRestart_ErrorPaths(t *testing.T) { function TestPerformImmediateRestart_ErrorPaths (line 619) | func TestPerformImmediateRestart_ErrorPaths(t *testing.T) { function TestReconcile_HandleRestartAnnotation_ErrorPaths (line 657) | func TestReconcile_HandleRestartAnnotation_ErrorPaths(t *testing.T) { type mockFailingClient (line 708) | type mockFailingClient struct method Get (line 717) | func (m *mockFailingClient) Get(ctx context.Context, key client.Object... method List (line 724) | func (m *mockFailingClient) List(ctx context.Context, list client.Obje... method Update (line 731) | func (m *mockFailingClient) Update(ctx context.Context, obj client.Obj... method Patch (line 744) | func (m *mockFailingClient) Patch( method Delete (line 755) | func (m *mockFailingClient) Delete(ctx context.Context, obj client.Obj... FILE: cmd/thv-operator/controllers/mcpserver_runconfig.go constant defaultProxyHost (line 30) | defaultProxyHost = "0.0.0.0" constant defaultAPITimeout (line 33) | defaultAPITimeout = 15 * time.Second method ensureRunConfigConfigMap (line 36) | func (r *MCPServerReconciler) ensureRunConfigConfigMap(ctx context.Conte... method createRunConfigFromMCPServer (line 84) | func (r *MCPServerReconciler) createRunConfigFromMCPServer(m *mcpv1beta1... function populateScalingConfig (line 294) | func populateScalingConfig(runConfig *runner.RunConfig, m *mcpv1beta1.MC... function labelsForRunConfig (line 321) | func labelsForRunConfig(mcpServerName string) map[string]string { method validateRunConfig (line 330) | func (r *MCPServerReconciler) validateRunConfig(ctx context.Context, con... method validateRequiredFields (line 369) | func (*MCPServerReconciler) validateRequiredFields(config *runner.RunCon... method validateTransportAndPorts (line 386) | func (*MCPServerReconciler) validateTransportAndPorts(config *runner.Run... function validateTransportType (line 399) | func validateTransportType(transport transporttypes.TransportType) error { function validateProxyMode (line 416) | func validateProxyMode(transport transporttypes.TransportType, proxyMode... function validatePorts (line 439) | func validatePorts(transport transporttypes.TransportType, port, targetP... method validateHost (line 465) | func (*MCPServerReconciler) validateHost(config *runner.RunConfig) error { method validateEnvironmentVariables (line 482) | func (*MCPServerReconciler) validateEnvironmentVariables(config *runner.... method validateVolumeMounts (line 501) | func (*MCPServerReconciler) validateVolumeMounts(config *runner.RunConfi... method validateSecrets (line 522) | func (*MCPServerReconciler) validateSecrets(config *runner.RunConfig) er... method validateToolsFilter (line 541) | func (*MCPServerReconciler) validateToolsFilter(config *runner.RunConfig... function convertEnvVarsFromMCPServer (line 555) | func convertEnvVarsFromMCPServer(envs []mcpv1beta1.EnvVar) map[string]st... function convertVolumesFromMCPServer (line 567) | func convertVolumesFromMCPServer(vols []mcpv1beta1.Volume) []string { FILE: cmd/thv-operator/controllers/mcpserver_runconfig_test.go constant testImage (line 32) | testImage = "test-image:latest" constant sseProxyMode (line 33) | sseProxyMode = "sse" constant streamableHTTPProxyMode (line 34) | streamableHTTPProxyMode = "streamable-http" function createRunConfigTestScheme (line 37) | func createRunConfigTestScheme() *runtime.Scheme { function createTestMCPServerWithConfig (line 44) | func createTestMCPServerWithConfig(name, namespace, image string, envVar... function TestCreateRunConfigFromMCPServer (line 60) | func TestCreateRunConfigFromMCPServer(t *testing.T) { function TestDeterministicConfigMapGeneration (line 528) | func TestDeterministicConfigMapGeneration(t *testing.T) { function TestEnsureRunConfigConfigMap (line 663) | func TestEnsureRunConfigConfigMap(t *testing.T) { function TestValidateRunConfig (line 981) | func TestValidateRunConfig(t *testing.T) { function TestLabelsForRunConfig (line 1183) | func TestLabelsForRunConfig(t *testing.T) { function TestEnsureRunConfigConfigMapCompleteFlow (line 1196) | func TestEnsureRunConfigConfigMapCompleteFlow(t *testing.T) { function TestMCPServerModificationScenarios (line 1282) | func TestMCPServerModificationScenarios(t *testing.T) { function TestEnsureRunConfigConfigMap_WithVaultInjection (line 1443) | func TestEnsureRunConfigConfigMap_WithVaultInjection(t *testing.T) { function TestPopulateScalingConfig (line 1559) | func TestPopulateScalingConfig(t *testing.T) { function TestCreateRunConfigFromMCPServer_RateLimiting (line 1715) | func TestCreateRunConfigFromMCPServer_RateLimiting(t *testing.T) { function TestCreateRunConfigFromMCPServer_SetsMCPServerGeneration (line 1786) | func TestCreateRunConfigFromMCPServer_SetsMCPServerGeneration(t *testing... FILE: cmd/thv-operator/controllers/mcpserver_spec_patch_test.go type patchRecordingClient (line 34) | type patchRecordingClient struct method Patch (line 45) | func (c *patchRecordingClient) Patch( method lastMCPServerPatchBody (line 66) | func (c *patchRecordingClient) lastMCPServerPatchBody() string { type recordedPatch (line 40) | type recordedPatch struct function TestMCPServerSpecPatchesAreOptimisticLock (line 84) | func TestMCPServerSpecPatchesAreOptimisticLock(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_telemetry_cabundle_test.go function TestDeploymentForMCPServer_TelemetryCABundleVolume (line 20) | func TestDeploymentForMCPServer_TelemetryCABundleVolume(t *testing.T) { function TestDeploymentForMCPServer_TelemetryCABundleVolume_FetchError (line 180) | func TestDeploymentForMCPServer_TelemetryCABundleVolume_FetchError(t *te... FILE: cmd/thv-operator/controllers/mcpserver_telemetryconfig.go method handleTelemetryConfig (line 23) | func (r *MCPServerReconciler) handleTelemetryConfig(ctx context.Context,... function getTelemetryConfigForMCPServer (line 112) | func getTelemetryConfigForMCPServer( method mapTelemetryConfigToServers (line 138) | func (r *MCPServerReconciler) mapTelemetryConfigToServers( FILE: cmd/thv-operator/controllers/mcpserver_telemetryconfig_test.go function TestGetTelemetryConfigForMCPServer (line 18) | func TestGetTelemetryConfigForMCPServer(t *testing.T) { function TestGetTelemetryConfigForMCPServer_NamespacedLookup (line 122) | func TestGetTelemetryConfigForMCPServer_NamespacedLookup(t *testing.T) { FILE: cmd/thv-operator/controllers/mcpserver_test_helpers_test.go type mockPlatformDetector (line 16) | type mockPlatformDetector struct method DetectPlatform (line 21) | func (m *mockPlatformDetector) DetectPlatform(_ *rest.Config) (kuberne... function newTestMCPServerReconciler (line 29) | func newTestMCPServerReconciler( FILE: cmd/thv-operator/controllers/mcpserverentry_controller.go constant mcpServerEntryRequeueDelay (line 28) | mcpServerEntryRequeueDelay = 500 * time.Millisecond constant mcpServerEntryAuthConfigRefField (line 31) | mcpServerEntryAuthConfigRefField = "spec.externalAuthConfigRef.name" constant mcpServerEntryCABundleRefField (line 34) | mcpServerEntryCABundleRefField = "spec.caBundleRef.configMapRef.name" type MCPServerEntryReconciler (line 40) | type MCPServerEntryReconciler struct method Reconcile (line 51) | func (r *MCPServerEntryReconciler) Reconcile(ctx context.Context, req ... method SetupWithManager (line 105) | func (r *MCPServerEntryReconciler) SetupWithManager(mgr ctrl.Manager) ... method validateGroupRef (line 159) | func (r *MCPServerEntryReconciler) validateGroupRef( method validateExternalAuthConfigRef (line 207) | func (r *MCPServerEntryReconciler) validateExternalAuthConfigRef( method validateCABundleRef (line 256) | func (r *MCPServerEntryReconciler) validateCABundleRef( method validateRemoteURL (line 305) | func (*MCPServerEntryReconciler) validateRemoteURL( method updateOverallStatus (line 330) | func (*MCPServerEntryReconciler) updateOverallStatus( method findEntriesForAuthConfig (line 357) | func (r *MCPServerEntryReconciler) findEntriesForAuthConfig( method findEntriesForGroup (line 391) | func (r *MCPServerEntryReconciler) findEntriesForGroup( method findEntriesForConfigMap (line 426) | func (r *MCPServerEntryReconciler) findEntriesForConfigMap( FILE: cmd/thv-operator/controllers/mcpserverentry_controller_test.go constant testEntryName (line 24) | testEntryName = "test-entry" constant testEntryNS (line 25) | testEntryNS = "default" constant testAuthConfig (line 26) | testAuthConfig = "test-auth-config" constant testCAConfigMap (line 27) | testCAConfigMap = "test-ca-bundle" constant testEntryGroupRef (line 28) | testEntryGroupRef = "test-group" function newEntryScheme (line 32) | func newEntryScheme(t *testing.T) *runtime.Scheme { function newEntryFakeClient (line 41) | func newEntryFakeClient(t *testing.T, scheme *runtime.Scheme, objs ...cl... function newMCPGroup (line 51) | func newMCPGroup(phase mcpv1beta1.MCPGroupPhase) *mcpv1beta1.MCPGroup { function newMCPServerEntry (line 64) | func newMCPServerEntry( function newMCPExternalAuthConfig (line 85) | func newMCPExternalAuthConfig(name, namespace string) *mcpv1beta1.MCPExt... function newConfigMap (line 98) | func newConfigMap(name, namespace string) *corev1.ConfigMap { function assertCondition (line 111) | func assertCondition( function TestMCPServerEntryReconciler_Reconcile (line 125) | func TestMCPServerEntryReconciler_Reconcile(t *testing.T) { function TestMCPGroupReconciler_MCPServerEntryIntegration (line 397) | func TestMCPGroupReconciler_MCPServerEntryIntegration(t *testing.T) { function TestMCPGroupReconciler_EntryDeletionHandler (line 475) | func TestMCPGroupReconciler_EntryDeletionHandler(t *testing.T) { FILE: cmd/thv-operator/controllers/mcptelemetryconfig_controller.go constant TelemetryConfigFinalizerName (line 29) | TelemetryConfigFinalizerName = "mcptelemetryconfig.toolhive.stacklok.dev... constant telemetryConfigRequeueDelay (line 32) | telemetryConfigRequeueDelay = 500 * time.Millisecond type MCPTelemetryConfigReconciler (line 39) | type MCPTelemetryConfigReconciler struct method Reconcile (line 52) | func (r *MCPTelemetryConfigReconciler) Reconcile(ctx context.Context, ... method SetupWithManager (line 144) | func (r *MCPTelemetryConfigReconciler) SetupWithManager(mgr ctrl.Manag... method mapMCPRemoteProxyToTelemetryConfig (line 211) | func (r *MCPTelemetryConfigReconciler) mapMCPRemoteProxyToTelemetryCon... method mapVirtualMCPServerToTelemetryConfig (line 257) | func (r *MCPTelemetryConfigReconciler) mapVirtualMCPServerToTelemetryC... method calculateConfigHash (line 301) | func (*MCPTelemetryConfigReconciler) calculateConfigHash(spec mcpv1bet... method handleDeletion (line 307) | func (r *MCPTelemetryConfigReconciler) handleDeletion( method findReferencingWorkloads (line 356) | func (r *MCPTelemetryConfigReconciler) findReferencingWorkloads( FILE: cmd/thv-operator/controllers/mcptelemetryconfig_controller_test.go function TestMCPTelemetryConfigReconciler_calculateConfigHash (line 22) | func TestMCPTelemetryConfigReconciler_calculateConfigHash(t *testing.T) { function TestMCPTelemetryConfigReconciler_ReconcileNotFound (line 70) | func TestMCPTelemetryConfigReconciler_ReconcileNotFound(t *testing.T) { function TestMCPTelemetryConfigReconciler_SteadyStateNoOp (line 100) | func TestMCPTelemetryConfigReconciler_SteadyStateNoOp(t *testing.T) { function TestMCPTelemetryConfigReconciler_ValidationRecovery (line 163) | func TestMCPTelemetryConfigReconciler_ValidationRecovery(t *testing.T) { function TestMCPTelemetryConfigReconciler_handleDeletion (line 252) | func TestMCPTelemetryConfigReconciler_handleDeletion(t *testing.T) { function TestMCPTelemetryConfigReconciler_ConfigChangeTriggersHashUpdate (line 309) | func TestMCPTelemetryConfigReconciler_ConfigChangeTriggersHashUpdate(t *... function TestMCPTelemetryConfigReconciler_ValidationFailureSetsCondition (line 381) | func TestMCPTelemetryConfigReconciler_ValidationFailureSetsCondition(t *... function TestMCPTelemetryConfig_Validate (line 447) | func TestMCPTelemetryConfig_Validate(t *testing.T) { function TestMCPTelemetryConfigReconciler_ConditionOnlyUpdate (line 550) | func TestMCPTelemetryConfigReconciler_ConditionOnlyUpdate(t *testing.T) { function TestMCPTelemetryConfigReconciler_ReferenceTracking (line 620) | func TestMCPTelemetryConfigReconciler_ReferenceTracking(t *testing.T) { function TestMCPTelemetryConfigReconciler_handleDeletion_BlocksWhenReferenced (line 712) | func TestMCPTelemetryConfigReconciler_handleDeletion_BlocksWhenReference... function TestMCPTelemetryConfigReconciler_handleDeletion_AllowsWhenNotReferenced (line 767) | func TestMCPTelemetryConfigReconciler_handleDeletion_AllowsWhenNotRefere... function TestMCPTelemetryConfigReconciler_handleDeletion_NoFinalizerIsNoOp (line 818) | func TestMCPTelemetryConfigReconciler_handleDeletion_NoFinalizerIsNoOp(t... function newTelemetrySpec (line 856) | func newTelemetrySpec(endpoint string, tracing, metrics bool) mcpv1beta1... FILE: cmd/thv-operator/controllers/toolconfig_controller.go constant ToolConfigFinalizerName (line 29) | ToolConfigFinalizerName = "toolhive.stacklok.dev/toolconfig-finalizer" constant finalizerRequeueDelay (line 32) | finalizerRequeueDelay = 500 * time.Millisecond type ToolConfigReconciler (line 36) | type ToolConfigReconciler struct method Reconcile (line 48) | func (r *ToolConfigReconciler) Reconcile(ctx context.Context, req ctrl... method handleConfigHashChange (line 121) | func (r *ToolConfigReconciler) handleConfigHashChange( method calculateConfigHash (line 176) | func (*ToolConfigReconciler) calculateConfigHash(spec mcpv1beta1.MCPTo... method handleDeletion (line 181) | func (r *ToolConfigReconciler) handleDeletion(ctx context.Context, too... method findReferencingWorkloads (line 227) | func (r *ToolConfigReconciler) findReferencingWorkloads( method findReferencingMCPServers (line 242) | func (r *ToolConfigReconciler) findReferencingMCPServers( method SetupWithManager (line 257) | func (r *ToolConfigReconciler) SetupWithManager(mgr ctrl.Manager) error { FILE: cmd/thv-operator/controllers/toolconfig_controller_edge_cases_test.go function TestToolConfigReconciler_EdgeCases (line 24) | func TestToolConfigReconciler_EdgeCases(t *testing.T) { function TestToolConfigReconciler_ErrorScenarios (line 188) | func TestToolConfigReconciler_ErrorScenarios(t *testing.T) { type errorClient (line 239) | type errorClient struct method List (line 244) | func (c *errorClient) List(ctx context.Context, list client.ObjectList... function TestToolConfigReconciler_ComplexScenarios (line 251) | func TestToolConfigReconciler_ComplexScenarios(t *testing.T) { FILE: cmd/thv-operator/controllers/toolconfig_controller_test.go function TestToolConfigReconciler_calculateConfigHash (line 24) | func TestToolConfigReconciler_calculateConfigHash(t *testing.T) { function TestToolConfigReconciler_Reconcile (line 103) | func TestToolConfigReconciler_Reconcile(t *testing.T) { function TestToolConfigReconciler_findReferencingWorkloads (line 241) | func TestToolConfigReconciler_findReferencingWorkloads(t *testing.T) { function TestToolConfigReconciler_ReferencingWorkloadsUpdatedWithoutHashChange (line 314) | func TestToolConfigReconciler_ReferencingWorkloadsUpdatedWithoutHashChan... function TestToolConfigReconciler_ReferencingWorkloadsRemovedOnServerDeletion (line 397) | func TestToolConfigReconciler_ReferencingWorkloadsRemovedOnServerDeletio... function TestToolConfigReconciler_ValidConditionObservedGeneration (line 475) | func TestToolConfigReconciler_ValidConditionObservedGeneration(t *testin... FILE: cmd/thv-operator/controllers/virtualmcpserver_controller.go constant OutgoingAuthSourceDiscovered (line 51) | OutgoingAuthSourceDiscovered = "discovered" constant OutgoingAuthSourceInline (line 53) | OutgoingAuthSourceInline = "inline" constant authContextDefault (line 56) | authContextDefault = "default" constant authContextBackendPrefix (line 57) | authContextBackendPrefix = "backend:" constant authContextDiscoveredPrefix (line 58) | authContextDiscoveredPrefix = "discovered:" type AuthConfigError (line 69) | type AuthConfigError struct type SpecValidationError (line 81) | type SpecValidationError struct method Error (line 85) | func (e *SpecValidationError) Error() string { type VirtualMCPServerReconciler (line 102) | type VirtualMCPServerReconciler struct method Reconcile (line 138) | func (r *VirtualMCPServerReconciler) Reconcile(ctx context.Context, re... method validateSpec (line 245) | func (r *VirtualMCPServerReconciler) validateSpec( method applyStatusUpdates (line 271) | func (r *VirtualMCPServerReconciler) applyStatusUpdates( method runValidations (line 314) | func (r *VirtualMCPServerReconciler) runValidations( method runAuthValidations (line 377) | func (r *VirtualMCPServerReconciler) runAuthValidations( method validateSessionStorageForReplicas (line 424) | func (*VirtualMCPServerReconciler) validateSessionStorageForReplicas( method validateAuthServerConfig (line 457) | func (*VirtualMCPServerReconciler) validateAuthServerConfig( method applyAuthServerIdentitySynthesizedCondition (line 524) | func (*VirtualMCPServerReconciler) applyAuthServerIdentitySynthesizedC... method validateAuthzUpstreamAvailable (line 570) | func (*VirtualMCPServerReconciler) validateAuthzUpstreamAvailable( method handleSpecValidationError (line 650) | func (r *VirtualMCPServerReconciler) handleSpecValidationError( method validateGroupRef (line 669) | func (r *VirtualMCPServerReconciler) validateGroupRef( method validateCompositeToolRefs (line 727) | func (r *VirtualMCPServerReconciler) validateCompositeToolRefs( method validateAndUpdatePodTemplateStatus (line 810) | func (r *VirtualMCPServerReconciler) validateAndUpdatePodTemplateStatus( method ensureAllResources (line 863) | func (r *VirtualMCPServerReconciler) ensureAllResources( method ensureAuthSecretsValid (line 961) | func (r *VirtualMCPServerReconciler) ensureAuthSecretsValid( method ensureRBACResources (line 1000) | func (r *VirtualMCPServerReconciler) ensureRBACResources( method imagePullSecretsForVMCP (line 1045) | func (r *VirtualMCPServerReconciler) imagePullSecretsForVMCP( method ensureHMACSecret (line 1057) | func (r *VirtualMCPServerReconciler) ensureHMACSecret( method validateHMACSecret (line 1142) | func (*VirtualMCPServerReconciler) validateHMACSecret( method getVmcpConfigChecksum (line 1208) | func (r *VirtualMCPServerReconciler) getVmcpConfigChecksum( method ensureDeployment (line 1247) | func (r *VirtualMCPServerReconciler) ensureDeployment( method ensureService (line 1350) | func (r *VirtualMCPServerReconciler) ensureService( method ensureServiceURL (line 1422) | func (*VirtualMCPServerReconciler) ensureServiceURL( method deploymentNeedsUpdate (line 1433) | func (r *VirtualMCPServerReconciler) deploymentNeedsUpdate( method containerNeedsUpdate (line 1481) | func (r *VirtualMCPServerReconciler) containerNeedsUpdate( method deploymentMetadataNeedsUpdate (line 1527) | func (*VirtualMCPServerReconciler) deploymentMetadataNeedsUpdate( method podTemplateMetadataNeedsUpdate (line 1560) | func (r *VirtualMCPServerReconciler) podTemplateMetadataNeedsUpdate( method podTemplateSpecNeedsUpdate (line 1588) | func (*VirtualMCPServerReconciler) podTemplateSpecNeedsUpdate( method imagePullSecretsNeedsUpdate (line 1627) | func (r *VirtualMCPServerReconciler) imagePullSecretsNeedsUpdate( method serviceNeedsUpdate (line 1651) | func (*VirtualMCPServerReconciler) serviceNeedsUpdate( method determineStatusFromBackends (line 1772) | func (*VirtualMCPServerReconciler) determineStatusFromBackends( method determineStatusFromPods (line 1830) | func (r *VirtualMCPServerReconciler) determineStatusFromPods( method updateVirtualMCPServerStatus (line 1876) | func (r *VirtualMCPServerReconciler) updateVirtualMCPServerStatus( method serviceAccountNameForVmcp (line 1963) | func (*VirtualMCPServerReconciler) serviceAccountNameForVmcp(vmcp *mcp... method convertExternalAuthConfigToStrategy (line 2008) | func (*VirtualMCPServerReconciler) convertExternalAuthConfigToStrategy( method convertBackendAuthConfigToVMCP (line 2041) | func (r *VirtualMCPServerReconciler) convertBackendAuthConfigToVMCP( method listMCPServersAsMap (line 2073) | func (r *VirtualMCPServerReconciler) listMCPServersAsMap( method listMCPRemoteProxiesAsMap (line 2089) | func (r *VirtualMCPServerReconciler) listMCPRemoteProxiesAsMap( method listMCPServerEntriesAsMap (line 2105) | func (r *VirtualMCPServerReconciler) listMCPServerEntriesAsMap( method discoverExternalAuthConfigs (line 2123) | func (r *VirtualMCPServerReconciler) discoverExternalAuthConfigs( method getExternalAuthConfigNameFromWorkload (line 2205) | func (*VirtualMCPServerReconciler) getExternalAuthConfigNameFromWorkload( method buildOutgoingAuthConfig (line 2249) | func (r *VirtualMCPServerReconciler) buildOutgoingAuthConfig( method validateEmbeddingServerRef (line 2409) | func (r *VirtualMCPServerReconciler) validateEmbeddingServerRef( method mapEmbeddingServerToVirtualMCPServer (line 2454) | func (r *VirtualMCPServerReconciler) mapEmbeddingServerToVirtualMCPSer... method SetupWithManager (line 2486) | func (r *VirtualMCPServerReconciler) SetupWithManager(mgr ctrl.Manager... method mapMCPGroupToVirtualMCPServer (line 2524) | func (r *VirtualMCPServerReconciler) mapMCPGroupToVirtualMCPServer(ctx... method mapMCPServerToVirtualMCPServer (line 2561) | func (r *VirtualMCPServerReconciler) mapMCPServerToVirtualMCPServer(ct... method mapMCPRemoteProxyToVirtualMCPServer (line 2639) | func (r *VirtualMCPServerReconciler) mapMCPRemoteProxyToVirtualMCPServer( method mapMCPServerEntryToVirtualMCPServer (line 2720) | func (r *VirtualMCPServerReconciler) mapMCPServerEntryToVirtualMCPServer( method mapExternalAuthConfigToVirtualMCPServer (line 2789) | func (r *VirtualMCPServerReconciler) mapExternalAuthConfigToVirtualMCP... method mapToolConfigToVirtualMCPServer (line 2822) | func (r *VirtualMCPServerReconciler) mapToolConfigToVirtualMCPServer(c... method vmcpReferencesToolConfig (line 2850) | func (*VirtualMCPServerReconciler) vmcpReferencesToolConfig(vmcp *mcpv... method vmcpReferencesExternalAuthConfig (line 2867) | func (r *VirtualMCPServerReconciler) vmcpReferencesExternalAuthConfig( method mcpGroupBackendsReferenceExternalAuthConfig (line 2908) | func (r *VirtualMCPServerReconciler) mcpGroupBackendsReferenceExternal... method mapCompositeToolDefinitionToVirtualMCPServer (line 2974) | func (r *VirtualMCPServerReconciler) mapCompositeToolDefinitionToVirtu... method vmcpReferencesCompositeToolDefinition (line 3005) | func (*VirtualMCPServerReconciler) vmcpReferencesCompositeToolDefinition( method handleConfigRefs (line 3173) | func (r *VirtualMCPServerReconciler) handleConfigRefs( method handleOIDCConfig (line 3187) | func (r *VirtualMCPServerReconciler) handleOIDCConfig( method updateOIDCConfigReferencingWorkloads (line 3272) | func (r *VirtualMCPServerReconciler) updateOIDCConfigReferencingWorklo... method mapOIDCConfigToVirtualMCPServer (line 3295) | func (r *VirtualMCPServerReconciler) mapOIDCConfigToVirtualMCPServer( type statusDecision (line 1739) | type statusDecision struct function countBackendHealth (line 1751) | func countBackendHealth(ctx context.Context, backends []mcpv1beta1.Disco... function labelsForVirtualMCPServer (line 1933) | func labelsForVirtualMCPServer(name string) map[string]string { function vmcpServiceAccountName (line 1947) | func vmcpServiceAccountName(vmcpName string) string { function outgoingAuthSource (line 1953) | func outgoingAuthSource(vmcp *mcpv1beta1.VirtualMCPServer) string { function vmcpServiceName (line 1986) | func vmcpServiceName(vmcpName string) string { function vmcpConfigMapName (line 1992) | func vmcpConfigMapName(vmcpName string) string { function createVmcpServiceURL (line 1999) | func createVmcpServiceURL(vmcpName, namespace string, port int32) string { function injectSubjectProviderIfNeeded (line 2318) | func injectSubjectProviderIfNeeded( function resolveFirstUpstreamProvider (line 2357) | func resolveFirstUpstreamProvider(embeddedCfg *mcpv1beta1.EmbeddedAuthSe... function convertBackendsToStaticBackends (line 2368) | func convertBackendsToStaticBackends( function setAuthConfigConditions (line 3036) | func setAuthConfigConditions( function generateHMACSecret (line 3158) | func generateHMACSecret() (string, error) { FILE: cmd/thv-operator/controllers/virtualmcpserver_controller_test.go constant testChecksumValue (line 44) | testChecksumValue = "test-checksum-123" constant testVmcpName (line 45) | testVmcpName = "test-vmcp" function TestVirtualMCPServerValidateGroupRef (line 49) | func TestVirtualMCPServerValidateGroupRef(t *testing.T) { function TestVirtualMCPServerEnsureRBACResources (line 213) | func TestVirtualMCPServerEnsureRBACResources(t *testing.T) { function TestVirtualMCPServerEnsureRBACResources_ImagePullSecrets (line 293) | func TestVirtualMCPServerEnsureRBACResources_ImagePullSecrets(t *testing... function TestVirtualMCPServerEnsureRBACResources_Update (line 340) | func TestVirtualMCPServerEnsureRBACResources_Update(t *testing.T) { function TestVirtualMCPServerEnsureRBACResources_Idempotency (line 424) | func TestVirtualMCPServerEnsureRBACResources_Idempotency(t *testing.T) { function TestVirtualMCPServerEnsureRBACResources_InlineMode (line 486) | func TestVirtualMCPServerEnsureRBACResources_InlineMode(t *testing.T) { function TestVirtualMCPServerEnsureRBACResources_DiscoveredMode (line 556) | func TestVirtualMCPServerEnsureRBACResources_DiscoveredMode(t *testing.T) { function TestVirtualMCPServerEnsureRBACResources_CustomServiceAccount (line 623) | func TestVirtualMCPServerEnsureRBACResources_CustomServiceAccount(t *tes... function TestVirtualMCPServerEnsureDeployment (line 684) | func TestVirtualMCPServerEnsureDeployment(t *testing.T) { function TestVirtualMCPServerEnsureService (line 767) | func TestVirtualMCPServerEnsureService(t *testing.T) { function TestVirtualMCPServerServiceType (line 815) | func TestVirtualMCPServerServiceType(t *testing.T) { function TestVirtualMCPServerServiceNeedsUpdate (line 877) | func TestVirtualMCPServerServiceNeedsUpdate(t *testing.T) { function TestVirtualMCPServerUpdateStatus (line 1000) | func TestVirtualMCPServerUpdateStatus(t *testing.T) { function TestVirtualMCPServerLabels (line 1147) | func TestVirtualMCPServerLabels(t *testing.T) { function TestVirtualMCPServerNaming (line 1161) | func TestVirtualMCPServerNaming(t *testing.T) { function TestVirtualMCPServerAuthConfiguredCondition (line 1185) | func TestVirtualMCPServerAuthConfiguredCondition(t *testing.T) { function TestVirtualMCPServerReconcile_NotFound (line 1394) | func TestVirtualMCPServerReconcile_NotFound(t *testing.T) { function TestVirtualMCPServerApplyStatusUpdates (line 1426) | func TestVirtualMCPServerApplyStatusUpdates(t *testing.T) { function TestVirtualMCPServerApplyStatusUpdates_ResourceNotFound (line 1557) | func TestVirtualMCPServerApplyStatusUpdates_ResourceNotFound(t *testing.... function TestVirtualMCPServerEnsureAllResources_Errors (line 1596) | func TestVirtualMCPServerEnsureAllResources_Errors(t *testing.T) { function TestVirtualMCPServerContainerNeedsUpdate (line 1670) | func TestVirtualMCPServerContainerNeedsUpdate(t *testing.T) { function TestVirtualMCPServerDeploymentMetadataNeedsUpdate (line 1937) | func TestVirtualMCPServerDeploymentMetadataNeedsUpdate(t *testing.T) { function TestVirtualMCPServerPodTemplateMetadataNeedsUpdate (line 2020) | func TestVirtualMCPServerPodTemplateMetadataNeedsUpdate(t *testing.T) { function TestVirtualMCPServerDeploymentNeedsUpdate (line 2154) | func TestVirtualMCPServerDeploymentNeedsUpdate(t *testing.T) { function TestVirtualMCPServerReconcile_HappyPath (line 2328) | func TestVirtualMCPServerReconcile_HappyPath(t *testing.T) { function TestVirtualMCPServerReconcile_ValidateGroupRefError (line 2461) | func TestVirtualMCPServerReconcile_ValidateGroupRefError(t *testing.T) { function TestVirtualMCPServerReconcile_GroupNotReady (line 2517) | func TestVirtualMCPServerReconcile_GroupNotReady(t *testing.T) { function TestVirtualMCPServerReconcile_GetError (line 2582) | func TestVirtualMCPServerReconcile_GetError(t *testing.T) { function TestVirtualMCPServerEnsureDeployment_ConfigMapNotFound (line 2613) | func TestVirtualMCPServerEnsureDeployment_ConfigMapNotFound(t *testing.T) { function TestVirtualMCPServerEnsureDeployment_CreateDeployment (line 2649) | func TestVirtualMCPServerEnsureDeployment_CreateDeployment(t *testing.T) { function TestVirtualMCPServerEnsureDeployment_UpdateDeployment (line 2706) | func TestVirtualMCPServerEnsureDeployment_UpdateDeployment(t *testing.T) { function TestVirtualMCPServerEnsureDeployment_NoUpdateNeeded (line 2789) | func TestVirtualMCPServerEnsureDeployment_NoUpdateNeeded(t *testing.T) { function TestVirtualMCPServerEnsureService_CreateService (line 2876) | func TestVirtualMCPServerEnsureService_CreateService(t *testing.T) { function TestVirtualMCPServerEnsureService_UpdateService (line 2918) | func TestVirtualMCPServerEnsureService_UpdateService(t *testing.T) { function TestVirtualMCPServerEnsureService_NoUpdateNeeded (line 2980) | func TestVirtualMCPServerEnsureService_NoUpdateNeeded(t *testing.T) { function TestVirtualMCPServerValidateEmbeddingServerRef (line 3036) | func TestVirtualMCPServerValidateEmbeddingServerRef(t *testing.T) { function TestVirtualMCPServerEnsureDeployment_ReplicaSync_SpecDriven (line 3214) | func TestVirtualMCPServerEnsureDeployment_ReplicaSync_SpecDriven(t *test... function TestVirtualMCPServerEnsureDeployment_ReplicaSync_NilPassthrough (line 3294) | func TestVirtualMCPServerEnsureDeployment_ReplicaSync_NilPassthrough(t *... function mustBuildEnvVarsForVmcp (line 3374) | func mustBuildEnvVarsForVmcp(r *VirtualMCPServerReconciler, vmcp *mcpv1b... function TestGetExternalAuthConfigNameFromWorkload (line 3383) | func TestGetExternalAuthConfigNameFromWorkload(t *testing.T) { function TestDiscoveredRBACRulesIncludeMCPServerEntries (line 3511) | func TestDiscoveredRBACRulesIncludeMCPServerEntries(t *testing.T) { function TestVirtualMCPServerValidateAuthzUpstreamAvailable (line 3537) | func TestVirtualMCPServerValidateAuthzUpstreamAvailable(t *testing.T) { function TestVirtualMCPServerValidateAuthzUpstreamAvailable_ClearsStaleWarning (line 3718) | func TestVirtualMCPServerValidateAuthzUpstreamAvailable_ClearsStaleWarni... function TestVirtualMCPServerValidateAuthServerConfig_IdentitySynthesizedCondition (line 3779) | func TestVirtualMCPServerValidateAuthServerConfig_IdentitySynthesizedCon... function TestVirtualMCPServerReconciler_IdentitySynthesizedTransitionsOnValidationFailure (line 3870) | func TestVirtualMCPServerReconciler_IdentitySynthesizedTransitionsOnVali... FILE: cmd/thv-operator/controllers/virtualmcpserver_default_imagepullsecrets_test.go function TestVirtualMCPServer_DefaultImagePullSecrets (line 31) | func TestVirtualMCPServer_DefaultImagePullSecrets(t *testing.T) { FILE: cmd/thv-operator/controllers/virtualmcpserver_deployment.go constant podTemplateSpecHashAnnotation (line 38) | podTemplateSpecHashAnnotation = "toolhive.stacklok.io/podtemplatespec-hash" constant imagePullRefsHashAnnotation (line 49) | imagePullRefsHashAnnotation = "toolhive.stacklok.io/imagepullsecrets-hash" constant logLevelDebug (line 52) | logLevelDebug = "debug" constant vmcpDefaultPort (line 55) | vmcpDefaultPort = int32(4483) constant vmcpLivenessInitialDelay (line 64) | vmcpLivenessInitialDelay = int32(30) constant vmcpLivenessPeriod (line 65) | vmcpLivenessPeriod = int32(10) constant vmcpLivenessTimeout (line 66) | vmcpLivenessTimeout = int32(5) constant vmcpLivenessFailures (line 67) | vmcpLivenessFailures = int32(3) constant vmcpReadinessInitialDelay (line 70) | vmcpReadinessInitialDelay = int32(15) constant vmcpReadinessPeriod (line 71) | vmcpReadinessPeriod = int32(5) constant vmcpReadinessTimeout (line 72) | vmcpReadinessTimeout = int32(3) constant vmcpReadinessFailures (line 73) | vmcpReadinessFailures = int32(3) constant vmcpTerminationGracePeriodSeconds (line 76) | vmcpTerminationGracePeriodSeconds = int64(30) constant vmcpDefaultCPURequest (line 80) | vmcpDefaultCPURequest = "100m" constant vmcpDefaultMemoryRequest (line 81) | vmcpDefaultMemoryRequest = "128Mi" constant vmcpDefaultCPULimit (line 82) | vmcpDefaultCPULimit = "500m" constant vmcpDefaultMemoryLimit (line 83) | vmcpDefaultMemoryLimit = "512Mi" method deploymentForVirtualMCPServer (line 137) | func (r *VirtualMCPServerReconciler) deploymentForVirtualMCPServer( method buildContainerArgsForVmcp (line 263) | func (*VirtualMCPServerReconciler) buildContainerArgsForVmcp( method buildVolumesForVmcp (line 284) | func (r *VirtualMCPServerReconciler) buildVolumesForVmcp( method buildEnvVarsForVmcp (line 332) | func (r *VirtualMCPServerReconciler) buildEnvVarsForVmcp( method buildOIDCEnvVars (line 378) | func (r *VirtualMCPServerReconciler) buildOIDCEnvVars( method buildHMACSecretEnvVar (line 419) | func (*VirtualMCPServerReconciler) buildHMACSecretEnvVar(vmcp *mcpv1beta... method buildRedisPasswordEnvVar (line 437) | func (*VirtualMCPServerReconciler) buildRedisPasswordEnvVar(vmcp *mcpv1b... method buildOutgoingAuthEnvVars (line 457) | func (r *VirtualMCPServerReconciler) buildOutgoingAuthEnvVars( method discoverExternalAuthConfigSecrets (line 498) | func (r *VirtualMCPServerReconciler) discoverExternalAuthConfigSecrets( method discoverInlineExternalAuthConfigSecrets (line 567) | func (r *VirtualMCPServerReconciler) discoverInlineExternalAuthConfigSec... method getExternalAuthConfigSecretEnvVar (line 615) | func (r *VirtualMCPServerReconciler) getExternalAuthConfigSecretEnvVar( method buildDeploymentMetadataForVmcp (line 693) | func (r *VirtualMCPServerReconciler) buildDeploymentMetadataForVmcp( function imagePullSecretsHash (line 730) | func imagePullSecretsHash(secrets []corev1.LocalObjectReference) (string... method buildPodTemplateMetadata (line 748) | func (*VirtualMCPServerReconciler) buildPodTemplateMetadata( method buildSecurityContextsForVmcp (line 763) | func (r *VirtualMCPServerReconciler) buildSecurityContextsForVmcp( method buildContainerPortsForVmcp (line 782) | func (*VirtualMCPServerReconciler) buildContainerPortsForVmcp( method serviceForVirtualMCPServer (line 793) | func (r *VirtualMCPServerReconciler) serviceForVirtualMCPServer( method buildServiceMetadataForVmcp (line 845) | func (*VirtualMCPServerReconciler) buildServiceMetadataForVmcp( function getVmcpImage (line 858) | func getVmcpImage() string { method validateSecretReferences (line 879) | func (r *VirtualMCPServerReconciler) validateSecretReferences( method validateBackendAuthSecrets (line 923) | func (*VirtualMCPServerReconciler) validateBackendAuthSecrets( method validateSecretKeyRef (line 935) | func (r *VirtualMCPServerReconciler) validateSecretKeyRef( method applyPodTemplateSpecToDeployment (line 977) | func (*VirtualMCPServerReconciler) applyPodTemplateSpecToDeployment( constant caBundleBasePath (line 1016) | caBundleBasePath = "/etc/toolhive/ca-bundles" function caBundleMountPath (line 1021) | func caBundleMountPath(entryName string, caBundleRef *mcpv1beta1.CABundl... function caBundleVolumeName (line 1038) | func caBundleVolumeName(entryName string) string { method buildCABundleVolumesForEntries (line 1058) | func (r *VirtualMCPServerReconciler) buildCABundleVolumesForEntries( FILE: cmd/thv-operator/controllers/virtualmcpserver_deployment_test.go function TestDeploymentForVirtualMCPServer (line 40) | func TestDeploymentForVirtualMCPServer(t *testing.T) { function TestDeploymentForVirtualMCPServer_WithRedisPassword (line 96) | func TestDeploymentForVirtualMCPServer_WithRedisPassword(t *testing.T) { function TestBuildContainerArgsForVmcp (line 144) | func TestBuildContainerArgsForVmcp(t *testing.T) { function TestBuildVolumesForVmcp (line 198) | func TestBuildVolumesForVmcp(t *testing.T) { function TestBuildEnvVarsForVmcp (line 228) | func TestBuildEnvVarsForVmcp(t *testing.T) { function TestBuildRedisPasswordEnvVar (line 265) | func TestBuildRedisPasswordEnvVar(t *testing.T) { function TestBuildDeploymentMetadataForVmcp (line 323) | func TestBuildDeploymentMetadataForVmcp(t *testing.T) { function TestBuildPodTemplateMetadata (line 342) | func TestBuildPodTemplateMetadata(t *testing.T) { function TestBuildSecurityContextsForVmcp (line 362) | func TestBuildSecurityContextsForVmcp(t *testing.T) { function TestBuildContainerPortsForVmcp (line 383) | func TestBuildContainerPortsForVmcp(t *testing.T) { function TestServiceForVirtualMCPServer (line 403) | func TestServiceForVirtualMCPServer(t *testing.T) { function TestServiceForVirtualMCPServerSessionAffinityNone (line 443) | func TestServiceForVirtualMCPServerSessionAffinityNone(t *testing.T) { function TestBuildServiceMetadataForVmcp (line 472) | func TestBuildServiceMetadataForVmcp(t *testing.T) { function TestGetVmcpImage (line 493) | func TestGetVmcpImage(t *testing.T) { function TestDeploymentNeedsUpdate (line 530) | func TestDeploymentNeedsUpdate(t *testing.T) { function TestServiceNeedsUpdate (line 553) | func TestServiceNeedsUpdate(t *testing.T) { function TestCABundleMountPath (line 581) | func TestCABundleMountPath(t *testing.T) { function TestCABundleVolumeName (line 631) | func TestCABundleVolumeName(t *testing.T) { function TestBuildCABundleVolumesForEntries (line 697) | func TestBuildCABundleVolumesForEntries(t *testing.T) { function TestDeploymentForVirtualMCPServer_ImagePullSecrets (line 876) | func TestDeploymentForVirtualMCPServer_ImagePullSecrets(t *testing.T) { function TestDeploymentForVirtualMCPServer_ImagePullSecrets_UpdatePath (line 980) | func TestDeploymentForVirtualMCPServer_ImagePullSecrets_UpdatePath(t *te... function TestImagePullSecretsHash (line 1096) | func TestImagePullSecretsHash(t *testing.T) { FILE: cmd/thv-operator/controllers/virtualmcpserver_embedding.go method isEmbeddingServerReady (line 21) | func (r *VirtualMCPServerReconciler) isEmbeddingServerReady( method resolveEmbeddingServiceURL (line 56) | func (r *VirtualMCPServerReconciler) resolveEmbeddingServiceURL( function embeddingServerNameForVMCP (line 75) | func embeddingServerNameForVMCP(vmcp *mcpv1beta1.VirtualMCPServer) string { FILE: cmd/thv-operator/controllers/virtualmcpserver_externalauth_test.go function TestConvertExternalAuthConfigToStrategy (line 29) | func TestConvertExternalAuthConfigToStrategy(t *testing.T) { function TestBuildOutgoingAuthConfig (line 213) | func TestBuildOutgoingAuthConfig(t *testing.T) { function TestConvertBackendAuthConfigToVMCP (line 757) | func TestConvertBackendAuthConfigToVMCP(t *testing.T) { function TestGenerateUniqueTokenExchangeEnvVarName (line 853) | func TestGenerateUniqueTokenExchangeEnvVarName(t *testing.T) { function TestGenerateUniqueHeaderInjectionEnvVarName (line 911) | func TestGenerateUniqueHeaderInjectionEnvVarName(t *testing.T) { function awsStsStrategy (line 968) | func awsStsStrategy(subjectProviderName string) *authtypes.BackendAuthSt... function tokenExchangeStrategy (line 979) | func tokenExchangeStrategy(subjectProviderName string) *authtypes.Backen... function embeddedAuthServerCfg (line 990) | func embeddedAuthServerCfg(upstreamNames ...string) *mcpv1beta1.Embedded... function TestInjectSubjectProviderIfNeeded (line 1003) | func TestInjectSubjectProviderIfNeeded(t *testing.T) { function TestBuildOutgoingAuthConfig_SubjectProviderInjection (line 1136) | func TestBuildOutgoingAuthConfig_SubjectProviderInjection(t *testing.T) { function TestDiscoverExternalAuthConfigSecrets_DeterministicOrdering (line 1250) | func TestDiscoverExternalAuthConfigSecrets_DeterministicOrdering(t *test... function TestDiscoverInlineExternalAuthConfigSecrets_DeterministicOrdering (line 1435) | func TestDiscoverInlineExternalAuthConfigSecrets_DeterministicOrdering(t... function TestBuildOutgoingAuthConfig_InlineBackendSubjectProviderInjection (line 1578) | func TestBuildOutgoingAuthConfig_InlineBackendSubjectProviderInjection(t... FILE: cmd/thv-operator/controllers/virtualmcpserver_hmac_secret_test.go function TestGenerateHMACSecret (line 15) | func TestGenerateHMACSecret(t *testing.T) { FILE: cmd/thv-operator/controllers/virtualmcpserver_podtemplatespec_reconcile_test.go constant testPodTemplateNamespace (line 26) | testPodTemplateNamespace = "test-namespace" constant testPodTemplateVmcpName (line 27) | testPodTemplateVmcpName = "test-vmcp" constant testPodTemplateGroupName (line 28) | testPodTemplateGroupName = "test-group" function TestVirtualMCPServerPodTemplateSpecDeterministic (line 33) | func TestVirtualMCPServerPodTemplateSpecDeterministic(t *testing.T) { function TestVirtualMCPServerPodTemplateSpecPreservesContainer (line 111) | func TestVirtualMCPServerPodTemplateSpecPreservesContainer(t *testing.T) { function TestVirtualMCPServerPodTemplateSpecNeedsUpdate (line 178) | func TestVirtualMCPServerPodTemplateSpecNeedsUpdate(t *testing.T) { function TestVirtualMCPServerPodTemplateSpecResourceOverride (line 290) | func TestVirtualMCPServerPodTemplateSpecResourceOverride(t *testing.T) { FILE: cmd/thv-operator/controllers/virtualmcpserver_podtemplatespec_test.go function TestVirtualMCPServerPodTemplateSpecBuilder (line 15) | func TestVirtualMCPServerPodTemplateSpecBuilder(t *testing.T) { function TestVirtualMCPServerPodTemplateSpecValidation (line 81) | func TestVirtualMCPServerPodTemplateSpecValidation(t *testing.T) { FILE: cmd/thv-operator/controllers/virtualmcpserver_telemetryconfig.go method handleTelemetryConfig (line 27) | func (r *VirtualMCPServerReconciler) handleTelemetryConfig( method mapTelemetryConfigToVirtualMCPServer (line 99) | func (r *VirtualMCPServerReconciler) mapTelemetryConfigToVirtualMCPServer( FILE: cmd/thv-operator/controllers/virtualmcpserver_telemetryconfig_test.go function TestHandleTelemetryConfig_VirtualMCPServer (line 20) | func TestHandleTelemetryConfig_VirtualMCPServer(t *testing.T) { function TestMapTelemetryConfigToVirtualMCPServer (line 211) | func TestMapTelemetryConfigToVirtualMCPServer(t *testing.T) { FILE: cmd/thv-operator/controllers/virtualmcpserver_vmcpconfig.go method ensureVmcpConfigConfigMap (line 34) | func (r *VirtualMCPServerReconciler) ensureVmcpConfigConfigMap( method populateOptimizerEmbeddingService (line 145) | func (r *VirtualMCPServerReconciler) populateOptimizerEmbeddingService( method populateOptimizerFromRef (line 175) | func (r *VirtualMCPServerReconciler) populateOptimizerFromRef( function labelsForVmcpConfig (line 204) | func labelsForVmcpConfig(vmcpName string) map[string]string { method discoverBackendsWithMetadata (line 214) | func (r *VirtualMCPServerReconciler) discoverBackendsWithMetadata( method buildTransportMap (line 246) | func (r *VirtualMCPServerReconciler) buildTransportMap( method buildCABundlePathMap (line 304) | func (r *VirtualMCPServerReconciler) buildCABundlePathMap( function extractInlineBackendNames (line 343) | func extractInlineBackendNames(vmcp *mcpv1beta1.VirtualMCPServer) []stri... function determineValidInlineBackends (line 355) | func determineValidInlineBackends(authConfig *vmcpconfig.OutgoingAuthCon... method processOutgoingAuth (line 374) | func (r *VirtualMCPServerReconciler) processOutgoingAuth( FILE: cmd/thv-operator/controllers/virtualmcpserver_vmcpconfig_test.go function newNoOpMockResolver (line 37) | func newNoOpMockResolver(t *testing.T) *oidcmocks.MockResolver { function newTestConverter (line 45) | func newTestConverter(t *testing.T, resolver *oidcmocks.MockResolver) *v... function TestCreateVmcpConfigFromVirtualMCPServer (line 56) | func TestCreateVmcpConfigFromVirtualMCPServer(t *testing.T) { function TestConvertOutgoingAuth (line 98) | func TestConvertOutgoingAuth(t *testing.T) { function TestConvertBackendAuthConfig (line 174) | func TestConvertBackendAuthConfig(t *testing.T) { function TestConvertAggregation (line 270) | func TestConvertAggregation(t *testing.T) { function TestConvertCompositeTools (line 367) | func TestConvertCompositeTools(t *testing.T) { function TestEnsureVmcpConfigConfigMap (line 452) | func TestEnsureVmcpConfigConfigMap(t *testing.T) { function TestSetAuthConfigConditions (line 514) | func TestSetAuthConfigConditions(t *testing.T) { function TestValidateVmcpConfig (line 952) | func TestValidateVmcpConfig(t *testing.T) { function TestLabelsForVmcpConfig (line 991) | func TestLabelsForVmcpConfig(t *testing.T) { function TestYAMLMarshalingDeterminism (line 1004) | func TestYAMLMarshalingDeterminism(t *testing.T) { function TestVirtualMCPServerReconciler_CompositeToolRefs_EndToEnd (line 1111) | func TestVirtualMCPServerReconciler_CompositeToolRefs_EndToEnd(t *testin... function TestVirtualMCPServerReconciler_CompositeToolRefs_MergeInlineAndReferenced (line 1233) | func TestVirtualMCPServerReconciler_CompositeToolRefs_MergeInlineAndRefe... function TestVirtualMCPServerReconciler_CompositeToolRefs_NotFound (line 1351) | func TestVirtualMCPServerReconciler_CompositeToolRefs_NotFound(t *testin... function TestConfigMapContent_DynamicMode (line 1414) | func TestConfigMapContent_DynamicMode(t *testing.T) { function TestConfigMapContent_StaticMode_InlineOverrides (line 1498) | func TestConfigMapContent_StaticMode_InlineOverrides(t *testing.T) { function TestConfigMapContent_StaticModeWithDiscovery (line 1605) | func TestConfigMapContent_StaticModeWithDiscovery(t *testing.T) { function TestConvertBackendsToStaticBackends_SkipsInvalidBackends (line 1745) | func TestConvertBackendsToStaticBackends_SkipsInvalidBackends(t *testing... function TestStaticModeTransportConstants (line 1787) | func TestStaticModeTransportConstants(t *testing.T) { function TestOptimizerEmbeddingServiceURL (line 1813) | func TestOptimizerEmbeddingServiceURL(t *testing.T) { function TestConfigMapContent_SessionStorage (line 1957) | func TestConfigMapContent_SessionStorage(t *testing.T) { function TestEnsureVmcpConfigConfigMap_AuthServerIntegrationValidationError (line 2084) | func TestEnsureVmcpConfigConfigMap_AuthServerIntegrationValidationError(... function TestConvertBackendsToStaticBackends_WithCABundlePathMap (line 2195) | func TestConvertBackendsToStaticBackends_WithCABundlePathMap(t *testing.... function TestBuildCABundlePathMap (line 2306) | func TestBuildCABundlePathMap(t *testing.T) { FILE: cmd/thv-operator/controllers/virtualmcpserver_watch_test.go function TestMapMCPGroupToVirtualMCPServer (line 33) | func TestMapMCPGroupToVirtualMCPServer(t *testing.T) { function TestMapMCPGroupToVirtualMCPServer_InvalidObject (line 197) | func TestMapMCPGroupToVirtualMCPServer_InvalidObject(t *testing.T) { function TestMapMCPServerToVirtualMCPServer (line 223) | func TestMapMCPServerToVirtualMCPServer(t *testing.T) { function TestMapMCPServerToVirtualMCPServer_InvalidObject (line 447) | func TestMapMCPServerToVirtualMCPServer_InvalidObject(t *testing.T) { function TestMapMCPRemoteProxyToVirtualMCPServer (line 473) | func TestMapMCPRemoteProxyToVirtualMCPServer(t *testing.T) { function TestMapMCPRemoteProxyToVirtualMCPServer_InvalidObject (line 697) | func TestMapMCPRemoteProxyToVirtualMCPServer_InvalidObject(t *testing.T) { function TestMapExternalAuthConfigToVirtualMCPServer (line 724) | func TestMapExternalAuthConfigToVirtualMCPServer(t *testing.T) { function TestMapToolConfigToVirtualMCPServer (line 1126) | func TestMapToolConfigToVirtualMCPServer(t *testing.T) { function TestVmcpReferencesToolConfig (line 1292) | func TestVmcpReferencesToolConfig(t *testing.T) { function TestVmcpReferencesExternalAuthConfig (line 1393) | func TestVmcpReferencesExternalAuthConfig(t *testing.T) { function TestMapEmbeddingServerToVirtualMCPServer (line 1796) | func TestMapEmbeddingServerToVirtualMCPServer(t *testing.T) { function TestMapEmbeddingServerToVirtualMCPServer_InvalidObject (line 1933) | func TestMapEmbeddingServerToVirtualMCPServer_InvalidObject(t *testing.T) { FILE: cmd/thv-operator/main.go constant featureServer (line 47) | featureServer = "ENABLE_SERVER" constant featureRegistry (line 48) | featureRegistry = "ENABLE_REGISTRY" constant featureVMCP (line 49) | featureVMCP = "ENABLE_VMCP" function init (line 57) | func init() { function main (line 64) | func main() { function setupControllersAndWebhooks (line 154) | func setupControllersAndWebhooks(mgr ctrl.Manager, imagePullSecretsDefau... function setupGroupRefFieldIndexes (line 218) | func setupGroupRefFieldIndexes(mgr ctrl.Manager) error { function setupServerControllers (line 277) | func setupServerControllers(mgr ctrl.Manager, imagePullSecretsDefaults i... function setupRegistryController (line 361) | func setupRegistryController(mgr ctrl.Manager, imagePullSecretsDefaults ... function setupAggregationControllers (line 375) | func setupAggregationControllers(mgr ctrl.Manager, imagePullSecretsDefau... function isFeatureEnabled (line 401) | func isFeatureEnabled(envVar string, defaultValue bool) bool { function getDefaultNamespaces (line 422) | func getDefaultNamespaces() map[string]cache.Config { FILE: cmd/thv-operator/main_test.go function TestIsFeatureEnabled (line 15) | func TestIsFeatureEnabled(t *testing.T) { function TestControllerDependencies (line 157) | func TestControllerDependencies(t *testing.T) { function TestFeatureFlagConstants (line 165) | func TestFeatureFlagConstants(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/authserver.go constant AuthServerKeysVolumePrefix (line 27) | AuthServerKeysVolumePrefix = "authserver-signing-key-" constant AuthServerHMACVolumePrefix (line 30) | AuthServerHMACVolumePrefix = "authserver-hmac-secret-" constant RedisTLSCACertVolumePrefix (line 33) | RedisTLSCACertVolumePrefix = "redis-tls-ca-" constant RedisTLSCACertMountPath (line 36) | RedisTLSCACertMountPath = "/etc/toolhive/authserver/redis-tls" constant RedisTLSCACertFileName (line 39) | RedisTLSCACertFileName = "ca.crt" constant RedisSentinelTLSCACertFileName (line 42) | RedisSentinelTLSCACertFileName = "sentinel-ca.crt" constant AuthServerKeysMountPath (line 45) | AuthServerKeysMountPath = "/etc/toolhive/authserver/keys" constant AuthServerHMACMountPath (line 48) | AuthServerHMACMountPath = "/etc/toolhive/authserver/hmac" constant AuthServerKeyFilePattern (line 51) | AuthServerKeyFilePattern = "key-%d.pem" constant AuthServerHMACFilePattern (line 54) | AuthServerHMACFilePattern = "hmac-%d" constant UpstreamClientSecretEnvVar (line 60) | UpstreamClientSecretEnvVar = "TOOLHIVE_UPSTREAM_CLIENT_SECRET" constant DefaultSentinelPort (line 63) | DefaultSentinelPort = 26379 type upstreamSecretBinding (line 70) | type upstreamSecretBinding struct function buildUpstreamSecretBindings (line 79) | func buildUpstreamSecretBindings( function EmbeddedAuthServerConfigName (line 96) | func EmbeddedAuthServerConfigName( function GenerateAuthServerConfigByName (line 116) | func GenerateAuthServerConfigByName( function GenerateAuthServerVolumes (line 150) | func GenerateAuthServerVolumes( function GenerateAuthServerEnvVars (line 274) | func GenerateAuthServerEnvVars( function AddEmbeddedAuthServerConfigOptions (line 369) | func AddEmbeddedAuthServerConfigOptions( function validateOIDCConfigForEmbeddedAuthServer (line 430) | func validateOIDCConfigForEmbeddedAuthServer(oidcConfig *oidc.OIDCConfig... function BuildAuthServerRunConfig (line 463) | func BuildAuthServerRunConfig( function buildStorageRunConfig (line 529) | func buildStorageRunConfig( function convertRedisTLSConfig (line 603) | func convertRedisTLSConfig(cfg *mcpv1beta1.RedisTLSConfig, isSentinel bo... function resolveSentinelAddrs (line 621) | func resolveSentinelAddrs( function defaultRedirectURI (line 655) | func defaultRedirectURI(resourceURL string) string { function buildUpstreamRunConfig (line 663) | func buildUpstreamRunConfig( function buildUserInfoRunConfig (line 732) | func buildUserInfoRunConfig( function ValidateAndAddAuthServerRefOptions (line 755) | func ValidateAndAddAuthServerRefOptions( function AddAuthServerRefOptions (line 791) | func AddAuthServerRefOptions( FILE: cmd/thv-operator/pkg/controllerutil/authserver_test.go function TestGenerateAuthServerVolumes (line 28) | func TestGenerateAuthServerVolumes(t *testing.T) { function TestGenerateAuthServerVolumes_RedisTLS (line 193) | func TestGenerateAuthServerVolumes_RedisTLS(t *testing.T) { function TestGenerateAuthServerEnvVars (line 342) | func TestGenerateAuthServerEnvVars(t *testing.T) { function TestGenerateAuthServerConfigByName (line 526) | func TestGenerateAuthServerConfigByName(t *testing.T) { function TestBuildAuthServerRunConfig (line 686) | func TestBuildAuthServerRunConfig(t *testing.T) { function TestAddEmbeddedAuthServerConfigOptions_Validation (line 1193) | func TestAddEmbeddedAuthServerConfigOptions_Validation(t *testing.T) { function TestVolumePathPatterns (line 1314) | func TestVolumePathPatterns(t *testing.T) { function TestGenerateAuthServerEnvVars_RedisCredentials (line 1343) | func TestGenerateAuthServerEnvVars_RedisCredentials(t *testing.T) { function TestResolveSentinelAddrs (line 1489) | func TestResolveSentinelAddrs(t *testing.T) { function TestBuildStorageRunConfig (line 1570) | func TestBuildStorageRunConfig(t *testing.T) { function TestBuildAuthServerRunConfig_WithRedisStorage (line 1813) | func TestBuildAuthServerRunConfig_WithRedisStorage(t *testing.T) { function TestAddAuthServerRefOptions (line 1855) | func TestAddAuthServerRefOptions(t *testing.T) { function TestValidateAndAddAuthServerRefOptions (line 2031) | func TestValidateAndAddAuthServerRefOptions(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/authz.go constant DefaultAuthzKey (line 29) | DefaultAuthzKey = "authz.json" function GenerateAuthzVolumeConfig (line 33) | func GenerateAuthzVolumeConfig( function EnsureAuthzConfigMap (line 113) | func EnsureAuthzConfigMap( function addAuthzInlineConfigOptions (line 169) | func addAuthzInlineConfigOptions( function AddAuthzConfigOptions (line 200) | func AddAuthzConfigOptions( FILE: cmd/thv-operator/pkg/controllerutil/authz_test.go function TestGenerateAuthzVolumeConfig (line 22) | func TestGenerateAuthzVolumeConfig(t *testing.T) { function TestGenerateAuthzVolumeConfigInlineConfigMapName (line 140) | func TestGenerateAuthzVolumeConfigInlineConfigMapName(t *testing.T) { function TestEnsureAuthzConfigMap (line 157) | func TestEnsureAuthzConfigMap(t *testing.T) { function TestAddAuthzConfigOptions (line 322) | func TestAddAuthzConfigOptions(t *testing.T) { function getKey (line 679) | func getKey(namespace, name string) struct { FILE: cmd/thv-operator/pkg/controllerutil/config.go function CalculateConfigHash (line 26) | func CalculateConfigHash[T any](spec T) string { function FindReferencingMCPServers (line 54) | func FindReferencingMCPServers( function FindReferencingMCPRemoteProxies (line 81) | func FindReferencingMCPRemoteProxies( function CompareWorkloadRefs (line 105) | func CompareWorkloadRefs(a, b mcpv1beta1.WorkloadReference) int { function SortWorkloadRefs (line 115) | func SortWorkloadRefs(refs []mcpv1beta1.WorkloadReference) { function WorkloadRefsEqual (line 121) | func WorkloadRefsEqual(a, b []mcpv1beta1.WorkloadReference) bool { function FindWorkloadRefsFromMCPServers (line 130) | func FindWorkloadRefsFromMCPServers( function GetToolConfigForMCPRemoteProxy (line 150) | func GetToolConfigForMCPRemoteProxy( function GetExternalAuthConfigForMCPRemoteProxy (line 173) | func GetExternalAuthConfigForMCPRemoteProxy( function GetTelemetryConfigForMCPRemoteProxy (line 199) | func GetTelemetryConfigForMCPRemoteProxy( function GetTelemetryConfigForVirtualMCPServer (line 227) | func GetTelemetryConfigForVirtualMCPServer( function GetExternalAuthConfigByName (line 252) | func GetExternalAuthConfigByName( FILE: cmd/thv-operator/pkg/controllerutil/config_test.go function TestCalculateConfigHash (line 18) | func TestCalculateConfigHash(t *testing.T) { function TestFindReferencingMCPServers (line 92) | func TestFindReferencingMCPServers(t *testing.T) { function TestSortWorkloadRefs (line 309) | func TestSortWorkloadRefs(t *testing.T) { function TestWorkloadRefsEqual (line 347) | func TestWorkloadRefsEqual(t *testing.T) { function TestFindWorkloadRefsFromMCPServers (line 397) | func TestFindWorkloadRefsFromMCPServers(t *testing.T) { function TestGetTelemetryConfigForMCPRemoteProxy (line 463) | func TestGetTelemetryConfigForMCPRemoteProxy(t *testing.T) { function TestGetTelemetryConfigForVirtualMCPServer (line 558) | func TestGetTelemetryConfigForVirtualMCPServer(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/externalauth.go function GenerateUniqueTokenExchangeEnvVarName (line 24) | func GenerateUniqueTokenExchangeEnvVarName(configName string) string { function GenerateUniqueHeaderInjectionEnvVarName (line 39) | func GenerateUniqueHeaderInjectionEnvVarName(configName string) string { function GenerateHeaderForwardSecretEnvVarName (line 56) | func GenerateHeaderForwardSecretEnvVarName(proxyName, headerName string)... FILE: cmd/thv-operator/pkg/controllerutil/externalauth_test.go function TestGenerateUniqueTokenExchangeEnvVarName (line 14) | func TestGenerateUniqueTokenExchangeEnvVarName(t *testing.T) { function TestGenerateUniqueHeaderInjectionEnvVarName (line 61) | func TestGenerateUniqueHeaderInjectionEnvVarName(t *testing.T) { function TestGenerateHeaderForwardSecretEnvVarName (line 108) | func TestGenerateHeaderForwardSecretEnvVarName(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/maps.go function MapIsSubset (line 8) | func MapIsSubset(subset, superset map[string]string) bool { FILE: cmd/thv-operator/pkg/controllerutil/maps_test.go function TestMapIsSubset (line 12) | func TestMapIsSubset(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/oidc.go function GetOIDCConfigForServer (line 19) | func GetOIDCConfigForServer( function GenerateOIDCClientSecretEnvVar (line 43) | func GenerateOIDCClientSecretEnvVar( FILE: cmd/thv-operator/pkg/controllerutil/oidc_test.go function TestGenerateOIDCClientSecretEnvVar (line 20) | func TestGenerateOIDCClientSecretEnvVar(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/oidc_volumes.go function AddOIDCConfigRefCABundleVolumes (line 17) | func AddOIDCConfigRefCABundleVolumes( FILE: cmd/thv-operator/pkg/controllerutil/patch.go function MutateAndPatchSpec (line 60) | func MutateAndPatchSpec[T client.Object]( FILE: cmd/thv-operator/pkg/controllerutil/patch_test.go type specPatchRecordingClient (line 25) | type specPatchRecordingClient struct method Patch (line 32) | func (c *specPatchRecordingClient) Patch( method lastBody (line 46) | func (c *specPatchRecordingClient) lastBody() string { function buildSpecTestClient (line 55) | func buildSpecTestClient(t *testing.T, seed *mcpv1beta1.MCPServer) (*spe... function TestMutateAndPatchSpec_AppliesMutationWithOptimisticLock (line 74) | func TestMutateAndPatchSpec_AppliesMutationWithOptimisticLock(t *testing... function TestMutateAndPatchSpec_DeepCopyIsolatesOriginal (line 138) | func TestMutateAndPatchSpec_DeepCopyIsolatesOriginal(t *testing.T) { function TestMutateAndPatchSpec_Propagates409Conflict (line 172) | func TestMutateAndPatchSpec_Propagates409Conflict(t *testing.T) { function TestMutateAndPatchSpec_RejectsNilObj (line 201) | func TestMutateAndPatchSpec_RejectsNilObj(t *testing.T) { function TestMutateAndPatchSpec_PreservesDisjointSpecFields (line 234) | func TestMutateAndPatchSpec_PreservesDisjointSpecFields(t *testing.T) { function TestMutateAndPatchSpec_NoOpMutateStillPatches (line 293) | func TestMutateAndPatchSpec_NoOpMutateStillPatches(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/platform.go type PlatformDetectorInterface (line 19) | type PlatformDetectorInterface interface type SharedPlatformDetector (line 24) | type SharedPlatformDetector struct method DetectPlatform (line 47) | func (s *SharedPlatformDetector) DetectPlatform(ctx context.Context) (... function NewSharedPlatformDetector (line 32) | func NewSharedPlatformDetector() *SharedPlatformDetector { function NewSharedPlatformDetectorWithDetector (line 39) | func NewSharedPlatformDetectorWithDetector(detector kubernetes.PlatformD... FILE: cmd/thv-operator/pkg/controllerutil/podtemplatespec_builder.go type PodTemplateSpecBuilder (line 19) | type PodTemplateSpecBuilder struct method WithServiceAccount (line 52) | func (b *PodTemplateSpecBuilder) WithServiceAccount(serviceAccount *st... method WithSecrets (line 61) | func (b *PodTemplateSpecBuilder) WithSecrets(secrets []mcpv1beta1.Secr... method Build (line 113) | func (b *PodTemplateSpecBuilder) Build() *corev1.PodTemplateSpec { method isEmpty (line 121) | func (b *PodTemplateSpecBuilder) isEmpty() bool { function NewPodTemplateSpecBuilder (line 27) | func NewPodTemplateSpecBuilder(userTemplateRaw *runtime.RawExtension, co... function parsePodTemplateSpec (line 146) | func parsePodTemplateSpec(raw *runtime.RawExtension) (*corev1.PodTemplat... FILE: cmd/thv-operator/pkg/controllerutil/podtemplatespec_builder_test.go constant testContainerName (line 16) | testContainerName = "test-container" function TestNewPodTemplateSpecBuilder (line 18) | func TestNewPodTemplateSpecBuilder(t *testing.T) { function TestNewPodTemplateSpecBuilder_EmptyContainerName (line 51) | func TestNewPodTemplateSpecBuilder_EmptyContainerName(t *testing.T) { function TestPodTemplateSpecBuilder_Build (line 60) | func TestPodTemplateSpecBuilder_Build(t *testing.T) { function TestPodTemplateSpecBuilder_WithServiceAccount (line 108) | func TestPodTemplateSpecBuilder_WithServiceAccount(t *testing.T) { function TestPodTemplateSpecBuilder_WithSecrets (line 138) | func TestPodTemplateSpecBuilder_WithSecrets(t *testing.T) { function TestPodTemplateSpecBuilder_isEmpty (line 211) | func TestPodTemplateSpecBuilder_isEmpty(t *testing.T) { function TestPodTemplateSpecBuilder_Chaining (line 238) | func TestPodTemplateSpecBuilder_Chaining(t *testing.T) { function ptr (line 257) | func ptr(s string) *string { FILE: cmd/thv-operator/pkg/controllerutil/podtemplatespec_patch.go function ApplyPodTemplateSpecPatch (line 47) | func ApplyPodTemplateSpecPatch(base corev1.PodTemplateSpec, patch []byte... FILE: cmd/thv-operator/pkg/controllerutil/podtemplatespec_patch_test.go function TestApplyPodTemplateSpecPatch (line 15) | func TestApplyPodTemplateSpecPatch(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/resources.go function BuildResourceRequirements (line 22) | func BuildResourceRequirements(resourceSpec mcpv1beta1.ResourceRequireme... function BuildHealthProbe (line 50) | func BuildHealthProbe( function EnsureRequiredEnvVars (line 69) | func EnsureRequiredEnvVars(ctx context.Context, env []corev1.EnvVar) []c... function MergeLabels (line 148) | func MergeLabels(defaultLabels, overrideLabels map[string]string) map[st... function MergeAnnotations (line 155) | func MergeAnnotations(defaultAnnotations, overrideAnnotations map[string... function MergeStringMaps (line 160) | func MergeStringMaps(defaultMap, overrideMap map[string]string) map[stri... function CreateProxyServiceName (line 173) | func CreateProxyServiceName(resourceName string) string { function CreateProxyServiceURL (line 179) | func CreateProxyServiceURL(resourceName, namespace string, port int32) s... function ProxyRunnerServiceAccountName (line 186) | func ProxyRunnerServiceAccountName(resourceName string) string { FILE: cmd/thv-operator/pkg/controllerutil/resources_test.go function TestEnsureRequiredEnvVars (line 16) | func TestEnsureRequiredEnvVars(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/status.go function MutateAndPatchStatus (line 77) | func MutateAndPatchStatus[T client.Object]( FILE: cmd/thv-operator/pkg/controllerutil/status_test.go type statusPatchRecordingClient (line 25) | type statusPatchRecordingClient struct method Status (line 32) | func (c *statusPatchRecordingClient) Status() client.SubResourceWriter { method lastBody (line 73) | func (c *statusPatchRecordingClient) lastBody() string { type statusSubResourceRecorder (line 36) | type statusSubResourceRecorder struct method Create (line 41) | func (r *statusSubResourceRecorder) Create( method Update (line 47) | func (r *statusSubResourceRecorder) Update( method Patch (line 53) | func (r *statusSubResourceRecorder) Patch( method Apply (line 67) | func (r *statusSubResourceRecorder) Apply( function buildStatusTestClient (line 82) | func buildStatusTestClient(t *testing.T, seed *mcpv1beta1.MCPServer) (*s... function newSeedMCPServer (line 95) | func newSeedMCPServer(name string) *mcpv1beta1.MCPServer { function TestMutateAndPatchStatus_AppliesMutation (line 114) | func TestMutateAndPatchStatus_AppliesMutation(t *testing.T) { function TestMutateAndPatchStatus_NoOpMutateSkipsWireCall (line 148) | func TestMutateAndPatchStatus_NoOpMutateSkipsWireCall(t *testing.T) { function TestMutateAndPatchStatus_DeepCopyIsolatesOriginal (line 186) | func TestMutateAndPatchStatus_DeepCopyIsolatesOriginal(t *testing.T) { function TestMutateAndPatchStatus_PreservesDisjointStatusFields (line 238) | func TestMutateAndPatchStatus_PreservesDisjointStatusFields(t *testing.T) { function TestMutateAndPatchStatus_StaleScalarComputationClobbersConcurrentWrite (line 289) | func TestMutateAndPatchStatus_StaleScalarComputationClobbersConcurrentWr... function TestMutateAndPatchStatus_StaleSnapshotClobbersConditionsFromAnotherWriter (line 384) | func TestMutateAndPatchStatus_StaleSnapshotClobbersConditionsFromAnother... function TestMutateAndPatchStatus_RejectsNilObj (line 450) | func TestMutateAndPatchStatus_RejectsNilObj(t *testing.T) { function TestMutateAndPatchStatus_PropagatesPatchError (line 474) | func TestMutateAndPatchStatus_PropagatesPatchError(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/telemetry.go function GenerateOpenTelemetryEnvVarsFromRef (line 18) | func GenerateOpenTelemetryEnvVarsFromRef( function normalizeHeaderEnvVarName (line 63) | func normalizeHeaderEnvVarName(name string) string { FILE: cmd/thv-operator/pkg/controllerutil/telemetry_test.go function TestGenerateOpenTelemetryEnvVarsFromRef (line 16) | func TestGenerateOpenTelemetryEnvVarsFromRef(t *testing.T) { function TestNormalizeHeaderEnvVarName (line 162) | func TestNormalizeHeaderEnvVarName(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/telemetry_volumes.go function AddTelemetryCABundleVolumes (line 18) | func AddTelemetryCABundleVolumes( function TelemetryCABundleFilePath (line 55) | func TelemetryCABundleFilePath( FILE: cmd/thv-operator/pkg/controllerutil/telemetry_volumes_test.go function TestAddTelemetryCABundleVolumes (line 16) | func TestAddTelemetryCABundleVolumes(t *testing.T) { function TestTelemetryCABundleFilePath (line 128) | func TestTelemetryCABundleFilePath(t *testing.T) { FILE: cmd/thv-operator/pkg/controllerutil/tokenexchange.go function GenerateTokenExchangeEnvVars (line 23) | func GenerateTokenExchangeEnvVars( function AddExternalAuthConfigOptions (line 81) | func AddExternalAuthConfigOptions( function addTokenExchangeConfig (line 123) | func addTokenExchangeConfig( function addHeaderInjectionConfig (line 187) | func addHeaderInjectionConfig( function addBearerTokenConfig (line 202) | func addBearerTokenConfig( function GenerateBearerTokenEnvVar (line 249) | func GenerateBearerTokenEnvVar( function addAWSStsConfig (line 300) | func addAWSStsConfig( FILE: cmd/thv-operator/pkg/controllerutil/tools_config.go function GetToolConfigForMCPServer (line 18) | func GetToolConfigForMCPServer( FILE: cmd/thv-operator/pkg/controllerutil/tools_config_test.go function TestGetToolConfigForMCPServer (line 23) | func TestGetToolConfigForMCPServer(t *testing.T) { type errorGetClient (line 130) | type errorGetClient struct method Get (line 135) | func (c *errorGetClient) Get(_ context.Context, key client.ObjectKey, ... function TestGetToolConfigForMCPServer_ErrorScenarios (line 146) | func TestGetToolConfigForMCPServer_ErrorScenarios(t *testing.T) { FILE: cmd/thv-operator/pkg/httpclient/client.go constant DefaultTimeout (line 20) | DefaultTimeout = 10 * time.Second constant MaxResponseSize (line 23) | MaxResponseSize = 100 * 1024 * 1024 constant UserAgent (line 26) | UserAgent = "toolhive-operator/1.0" type Client (line 30) | type Client interface type DefaultClient (line 36) | type DefaultClient struct method Get (line 57) | func (c *DefaultClient) Get(ctx context.Context, url string) ([]byte, ... function NewDefaultClient (line 43) | func NewDefaultClient(timeout time.Duration) Client { FILE: cmd/thv-operator/pkg/httpclient/client_test.go function TestHTTPClient (line 20) | func TestHTTPClient(t *testing.T) { FILE: cmd/thv-operator/pkg/imagepullsecrets/defaults.go constant EnvVar (line 29) | EnvVar = "TOOLHIVE_DEFAULT_IMAGE_PULL_SECRETS" type Defaults (line 38) | type Defaults struct method List (line 72) | func (d Defaults) List() []corev1.LocalObjectReference { method Merge (line 93) | func (d Defaults) Merge(crLevel []corev1.LocalObjectReference) []corev... function NewDefaults (line 47) | func NewDefaults(names []string) Defaults { function LoadDefaultsFromEnv (line 64) | func LoadDefaultsFromEnv() Defaults { FILE: cmd/thv-operator/pkg/imagepullsecrets/defaults_test.go function TestNewDefaults (line 13) | func TestNewDefaults(t *testing.T) { function TestLoadDefaultsFromEnv (line 76) | func TestLoadDefaultsFromEnv(t *testing.T) { function TestDefaultsMerge (line 133) | func TestDefaultsMerge(t *testing.T) { function TestDefaultsMergeDoesNotMutateCRLevel (line 228) | func TestDefaultsMergeDoesNotMutateCRLevel(t *testing.T) { function TestDefaultsListReturnsCopy (line 243) | func TestDefaultsListReturnsCopy(t *testing.T) { function TestZeroValueDefaults (line 254) | func TestZeroValueDefaults(t *testing.T) { FILE: cmd/thv-operator/pkg/kubernetes/client.go type Client (line 16) | type Client struct function NewClient (line 24) | func NewClient(c client.Client, scheme *runtime.Scheme) *Client { FILE: cmd/thv-operator/pkg/kubernetes/configmaps/configmaps.go type Client (line 17) | type Client struct method Get (line 33) | func (c *Client) Get(ctx context.Context, name, namespace string) (*co... method GetValue (line 50) | func (c *Client) GetValue(ctx context.Context, namespace string, confi... method UpsertWithOwnerReference (line 68) | func (c *Client) UpsertWithOwnerReference( method Upsert (line 79) | func (c *Client) Upsert(ctx context.Context, configMap *corev1.ConfigM... method upsert (line 87) | func (c *Client) upsert( function NewClient (line 24) | func NewClient(c client.Client, scheme *runtime.Scheme) *Client { FILE: cmd/thv-operator/pkg/kubernetes/configmaps/configmaps_test.go function TestGet (line 21) | func TestGet(t *testing.T) { function TestGetValue (line 115) | func TestGetValue(t *testing.T) { function TestNewClient (line 294) | func TestNewClient(t *testing.T) { function TestUpsert (line 311) | func TestUpsert(t *testing.T) { function TestUpsertWithOwnerReference (line 450) | func TestUpsertWithOwnerReference(t *testing.T) { FILE: cmd/thv-operator/pkg/kubernetes/rbac/rbac.go constant RBACAPIGroup (line 20) | RBACAPIGroup = "rbac.authorization.k8s.io" type Client (line 27) | type Client struct method GetServiceAccount (line 43) | func (c *Client) GetServiceAccount(ctx context.Context, name, namespac... method UpsertServiceAccountWithOwnerReference (line 61) | func (c *Client) UpsertServiceAccountWithOwnerReference( method UpsertServiceAccount (line 72) | func (c *Client) UpsertServiceAccount(ctx context.Context, serviceAcco... method upsertServiceAccount (line 95) | func (c *Client) upsertServiceAccount( method GetRole (line 159) | func (c *Client) GetRole(ctx context.Context, name, namespace string) ... method UpsertRoleWithOwnerReference (line 177) | func (c *Client) UpsertRoleWithOwnerReference( method UpsertRole (line 188) | func (c *Client) UpsertRole(ctx context.Context, role *rbacv1.Role) (O... method upsertRole (line 196) | func (c *Client) upsertRole( method GetRoleBinding (line 242) | func (c *Client) GetRoleBinding(ctx context.Context, name, namespace s... method UpsertRoleBindingWithOwnerReference (line 260) | func (c *Client) UpsertRoleBindingWithOwnerReference( method UpsertRoleBinding (line 271) | func (c *Client) UpsertRoleBinding(ctx context.Context, roleBinding *r... method upsertRoleBinding (line 281) | func (c *Client) upsertRoleBinding( method EnsureRBACResources (line 373) | func (c *Client) EnsureRBACResources(ctx context.Context, params Ensur... method GetAllRBACResources (line 441) | func (c *Client) GetAllRBACResources( function NewClient (line 34) | func NewClient(c client.Client, scheme *runtime.Scheme) *Client { type EnsureRBACResourcesParams (line 332) | type EnsureRBACResourcesParams struct type OperationResults (line 348) | type OperationResults struct FILE: cmd/thv-operator/pkg/kubernetes/rbac/rbac_test.go function setupTestScheme (line 24) | func setupTestScheme(t *testing.T) *runtime.Scheme { function createTestOwner (line 34) | func createTestOwner(name string, uid types.UID) *corev1.ConfigMap { function assertOwnerReference (line 51) | func assertOwnerReference(t *testing.T, refs []metav1.OwnerReference, ow... function TestGetServiceAccount (line 65) | func TestGetServiceAccount(t *testing.T) { function TestUpsertServiceAccount (line 145) | func TestUpsertServiceAccount(t *testing.T) { function TestUpsertServiceAccountWithOwnerReference (line 262) | func TestUpsertServiceAccountWithOwnerReference(t *testing.T) { function TestGetRole (line 609) | func TestGetRole(t *testing.T) { function TestUpsertRole (line 697) | func TestUpsertRole(t *testing.T) { function TestUpsertRoleWithOwnerReference (line 833) | func TestUpsertRoleWithOwnerReference(t *testing.T) { function TestGetRoleBinding (line 1035) | func TestGetRoleBinding(t *testing.T) { function TestUpsertRoleBinding (line 1140) | func TestUpsertRoleBinding(t *testing.T) { function TestUpsertRoleBindingWithOwnerReference (line 1392) | func TestUpsertRoleBindingWithOwnerReference(t *testing.T) { function TestNewClient (line 1620) | func TestNewClient(t *testing.T) { function TestEnsureRBACResources (line 1637) | func TestEnsureRBACResources(t *testing.T) { function TestGetAllRBACResources (line 1938) | func TestGetAllRBACResources(t *testing.T) { FILE: cmd/thv-operator/pkg/kubernetes/secrets/secrets.go type Client (line 17) | type Client struct method Get (line 33) | func (c *Client) Get(ctx context.Context, name, namespace string) (*co... method GetValue (line 50) | func (c *Client) GetValue(ctx context.Context, namespace string, secre... method UpsertWithOwnerReference (line 68) | func (c *Client) UpsertWithOwnerReference( method Upsert (line 79) | func (c *Client) Upsert(ctx context.Context, secret *corev1.Secret) (c... method upsert (line 87) | func (c *Client) upsert( function NewClient (line 24) | func NewClient(c client.Client, scheme *runtime.Scheme) *Client { FILE: cmd/thv-operator/pkg/kubernetes/secrets/secrets_test.go function TestGet (line 21) | func TestGet(t *testing.T) { function TestGetValue (line 115) | func TestGetValue(t *testing.T) { function TestNewClient (line 294) | func TestNewClient(t *testing.T) { function TestUpsert (line 311) | func TestUpsert(t *testing.T) { function TestUpsertWithOwnerReference (line 512) | func TestUpsertWithOwnerReference(t *testing.T) { FILE: cmd/thv-operator/pkg/oidc/mocks/mock_resolver.go type MockResolver (line 22) | type MockResolver struct method EXPECT (line 41) | func (m *MockResolver) EXPECT() *MockResolverMockRecorder { method ResolveFromConfigRef (line 46) | func (m *MockResolver) ResolveFromConfigRef(ctx context.Context, oidcC... type MockResolverMockRecorder (line 29) | type MockResolverMockRecorder struct method ResolveFromConfigRef (line 55) | func (mr *MockResolverMockRecorder) ResolveFromConfigRef(ctx, oidcConf... function NewMockResolver (line 34) | func NewMockResolver(ctrl *gomock.Controller) *MockResolver { FILE: cmd/thv-operator/pkg/oidc/resolver.go constant defaultK8sCABundlePath (line 20) | defaultK8sCABundlePath = "/var/run/secrets/kubernetes.io/serviceaccount/... constant defaultK8sTokenPath (line 21) | defaultK8sTokenPath = "/var/run/secrets/kubernetes.io/serviceaccount/... constant defaultK8sIssuer (line 22) | defaultK8sIssuer = "https://kubernetes.default.svc" type OIDCConfig (line 26) | type OIDCConfig struct type Resolver (line 45) | type Resolver interface function NewResolver (line 60) | func NewResolver(k8sClient client.Client) Resolver { type resolver (line 67) | type resolver struct method ResolveFromConfigRef (line 74) | func (r *resolver) ResolveFromConfigRef( method resolveFromK8sServiceAccountConfig (line 102) | func (*resolver) resolveFromK8sServiceAccountConfig( method resolveFromInlineSharedConfig (line 148) | func (*resolver) resolveFromInlineSharedConfig( function computeCABundlePath (line 179) | func computeCABundlePath(caBundleRef *mcpv1beta1.CABundleSource) string { function createServiceURL (line 192) | func createServiceURL(name, namespace string, port int32) string { FILE: cmd/thv-operator/pkg/oidc/resolver_configref_test.go function TestResolveFromConfigRef_NilInputs (line 15) | func TestResolveFromConfigRef_NilInputs(t *testing.T) { function TestResolveFromConfigRef_KubernetesServiceAccountType (line 42) | func TestResolveFromConfigRef_KubernetesServiceAccountType(t *testing.T) { function TestResolveFromConfigRef_InlineType (line 173) | func TestResolveFromConfigRef_InlineType(t *testing.T) { function TestResolveFromConfigRef_UnknownType (line 278) | func TestResolveFromConfigRef_UnknownType(t *testing.T) { function boolPtr (line 297) | func boolPtr(b bool) *bool { FILE: cmd/thv-operator/pkg/registryapi/config/config.go constant RegistryServerConfigFilePath (line 9) | RegistryServerConfigFilePath = "/config" constant RegistryServerConfigFileName (line 12) | RegistryServerConfigFileName = "config.yaml" FILE: cmd/thv-operator/pkg/registryapi/config/raw_config.go function RawConfigToConfigMap (line 19) | func RawConfigToConfigMap(registryName, namespace, configYAML string) (*... FILE: cmd/thv-operator/pkg/registryapi/config/raw_config_test.go function TestRawConfigToConfigMap (line 16) | func TestRawConfigToConfigMap(t *testing.T) { type configMapResult (line 116) | type configMapResult struct FILE: cmd/thv-operator/pkg/registryapi/deployment.go constant configHashAnnotation (line 28) | configHashAnnotation = "toolhive.stacklok.dev/config-hash" constant podTemplateSpecHashAnnotation (line 33) | podTemplateSpecHashAnnotation = "toolhive.stacklok.io/podtemplatespec-hash" method CheckAPIReadiness (line 39) | func (*manager) CheckAPIReadiness(ctx context.Context, deployment *appsv... method upsertDeployment (line 87) | func (m *manager) upsertDeployment( method ensureDeployment (line 159) | func (m *manager) ensureDeployment( method buildRegistryAPIDeployment (line 175) | func (m *manager) buildRegistryAPIDeployment( function deploymentNeedsUpdate (line 277) | func deploymentNeedsUpdate(existing, desired *appsv1.Deployment) bool { function getRegistryAPIImage (line 307) | func getRegistryAPIImage() string { function getRegistryAPIImageWithEnvGetter (line 313) | func getRegistryAPIImageWithEnvGetter(envGetter func(string) string) str... FILE: cmd/thv-operator/pkg/registryapi/deployment_test.go function TestGetRegistryAPIImage (line 20) | func TestGetRegistryAPIImage(t *testing.T) { function TestFindContainerByName (line 77) | func TestFindContainerByName(t *testing.T) { function TestHasVolume (line 143) | func TestHasVolume(t *testing.T) { function TestHasVolumeMount (line 203) | func TestHasVolumeMount(t *testing.T) { function TestDeploymentNeedsUpdate (line 263) | func TestDeploymentNeedsUpdate(t *testing.T) { function TestBuildRegistryAPIDeployment_PodTemplateSpecHash (line 529) | func TestBuildRegistryAPIDeployment_PodTemplateSpecHash(t *testing.T) { function TestBuildRegistryAPIDeployment_ImagePullSecrets (line 608) | func TestBuildRegistryAPIDeployment_ImagePullSecrets(t *testing.T) { FILE: cmd/thv-operator/pkg/registryapi/manager.go type manager (line 23) | type manager struct method ReconcileAPIService (line 56) | func (m *manager) ReconcileAPIService( method IsAPIReady (line 130) | func (m *manager) IsAPIReady(ctx context.Context, mcpRegistry *mcpv1be... method GetReadyReplicas (line 152) | func (m *manager) GetReadyReplicas(ctx context.Context, mcpRegistry *m... method GetAPIStatus (line 172) | func (m *manager) GetAPIStatus(ctx context.Context, mcpRegistry *mcpv1... function NewManager (line 37) | func NewManager( function labelsForRegistryAPI (line 191) | func labelsForRegistryAPI(mcpRegistry *mcpv1beta1.MCPRegistry, resourceN... FILE: cmd/thv-operator/pkg/registryapi/manager_test.go function TestNewManager (line 28) | func TestNewManager(t *testing.T) { function TestReconcileAPIService (line 61) | func TestReconcileAPIService(t *testing.T) { function TestManagerCheckAPIReadiness (line 176) | func TestManagerCheckAPIReadiness(t *testing.T) { FILE: cmd/thv-operator/pkg/registryapi/mocks/mock_manager.go type MockManager (line 23) | type MockManager struct method EXPECT (line 42) | func (m *MockManager) EXPECT() *MockManagerMockRecorder { method CheckAPIReadiness (line 47) | func (m *MockManager) CheckAPIReadiness(ctx context.Context, deploymen... method GetAPIStatus (line 61) | func (m *MockManager) GetAPIStatus(ctx context.Context, mcpRegistry *v... method GetReadyReplicas (line 76) | func (m *MockManager) GetReadyReplicas(ctx context.Context, mcpRegistr... method IsAPIReady (line 90) | func (m *MockManager) IsAPIReady(ctx context.Context, mcpRegistry *v1b... method ReconcileAPIService (line 104) | func (m *MockManager) ReconcileAPIService(ctx context.Context, mcpRegi... type MockManagerMockRecorder (line 30) | type MockManagerMockRecorder struct method CheckAPIReadiness (line 55) | func (mr *MockManagerMockRecorder) CheckAPIReadiness(ctx, deployment a... method GetAPIStatus (line 70) | func (mr *MockManagerMockRecorder) GetAPIStatus(ctx, mcpRegistry any) ... method GetReadyReplicas (line 84) | func (mr *MockManagerMockRecorder) GetReadyReplicas(ctx, mcpRegistry a... method IsAPIReady (line 98) | func (mr *MockManagerMockRecorder) IsAPIReady(ctx, mcpRegistry any) *g... method ReconcileAPIService (line 112) | func (mr *MockManagerMockRecorder) ReconcileAPIService(ctx, mcpRegistr... function NewMockManager (line 35) | func NewMockManager(ctrl *gomock.Controller) *MockManager { FILE: cmd/thv-operator/pkg/registryapi/podtemplatespec.go type PodTemplateSpecOption (line 22) | type PodTemplateSpecOption type PodTemplateSpecBuilder (line 27) | type PodTemplateSpecBuilder struct method Apply (line 55) | func (b *PodTemplateSpecBuilder) Apply(opts ...PodTemplateSpecOption) ... method Build (line 64) | func (b *PodTemplateSpecBuilder) Build() corev1.PodTemplateSpec { function NewPodTemplateSpecBuilder (line 35) | func NewPodTemplateSpecBuilder() *PodTemplateSpecBuilder { function NewPodTemplateSpecBuilderFrom (line 43) | func NewPodTemplateSpecBuilderFrom(userTemplate *corev1.PodTemplateSpec)... function WithLabels (line 72) | func WithLabels(labels map[string]string) PodTemplateSpecOption { function WithAnnotations (line 84) | func WithAnnotations(annotations map[string]string) PodTemplateSpecOption { function WithServiceAccountName (line 96) | func WithServiceAccountName(name string) PodTemplateSpecOption { function WithContainer (line 103) | func WithContainer(container corev1.Container) PodTemplateSpecOption { function WithImagePullSecrets (line 112) | func WithImagePullSecrets(secrets []corev1.LocalObjectReference) PodTemp... function WithVolume (line 122) | func WithVolume(volume corev1.Volume) PodTemplateSpecOption { function WithVolumeMount (line 132) | func WithVolumeMount(containerName string, mount corev1.VolumeMount) Pod... function WithContainerArgs (line 146) | func WithContainerArgs(containerName string, args []string) PodTemplateS... function WithRegistryServerConfigMount (line 157) | func WithRegistryServerConfigMount(containerName, configMapName string) ... function WithInitContainer (line 189) | func WithInitContainer(container corev1.Container) PodTemplateSpecOption { function WithEnvVar (line 203) | func WithEnvVar(containerName string, envVar corev1.EnvVar) PodTemplateS... function WithPGPassSecretRefMount (line 223) | func WithPGPassSecretRefMount(containerName string, secretRef corev1.Sec... function withPGPassMountFromVolume (line 251) | func withPGPassMountFromVolume(containerName string, secretVolume corev1... function ParsePodTemplateSpec (line 332) | func ParsePodTemplateSpec(raw *runtime.RawExtension) (*corev1.PodTemplat... function ValidatePodTemplateSpec (line 348) | func ValidatePodTemplateSpec(raw *runtime.RawExtension) error { function BuildRegistryAPIContainer (line 354) | func BuildRegistryAPIContainer(image string) corev1.Container { function MergePodTemplateSpecs (line 417) | func MergePodTemplateSpecs(defaultPTS, userPTS *corev1.PodTemplateSpec) ... function mergeContainersUserFirst (line 465) | func mergeContainersUserFirst(defaults, user []corev1.Container) []corev... function mergeContainer (line 506) | func mergeContainer(defaultContainer, userContainer corev1.Container) co... function mergeVolumesUserFirst (line 551) | func mergeVolumesUserFirst(defaults, user []corev1.Volume) []corev1.Volu... function mergePortsUserFirst (line 580) | func mergePortsUserFirst(defaults, user []corev1.ContainerPort) []corev1... function mergeEnvVarsUserFirst (line 615) | func mergeEnvVarsUserFirst(defaults, user []corev1.EnvVar) []corev1.EnvV... function mergeVolumeMountsUserFirst (line 644) | func mergeVolumeMountsUserFirst(defaults, user []corev1.VolumeMount) []c... function mergeStringMapsDefaultsFirst (line 674) | func mergeStringMapsDefaultsFirst(defaults, user map[string]string) map[... function isResourcesEmpty (line 690) | func isResourcesEmpty(resources corev1.ResourceRequirements) bool { function findContainerByName (line 696) | func findContainerByName(containers []corev1.Container, name string) *co... function hasVolume (line 706) | func hasVolume(volumes []corev1.Volume, name string) bool { function hasVolumeMount (line 716) | func hasVolumeMount(volumeMounts []corev1.VolumeMount, name string) bool { FILE: cmd/thv-operator/pkg/registryapi/podtemplatespec_test.go function TestPodTemplateSpecOptions (line 18) | func TestPodTemplateSpecOptions(t *testing.T) { function TestRegistryMountOptions (line 186) | func TestRegistryMountOptions(t *testing.T) { function TestBuildRegistryAPIContainer (line 234) | func TestBuildRegistryAPIContainer(t *testing.T) { function TestMergePodTemplateSpecs (line 263) | func TestMergePodTemplateSpecs(t *testing.T) { function TestMergeContainer (line 464) | func TestMergeContainer(t *testing.T) { function TestParsePodTemplateSpec (line 572) | func TestParsePodTemplateSpec(t *testing.T) { function TestValidatePodTemplateSpec (line 627) | func TestValidatePodTemplateSpec(t *testing.T) { function TestNewPodTemplateSpecBuilderFrom_NilHandling (line 663) | func TestNewPodTemplateSpecBuilderFrom_NilHandling(t *testing.T) { function TestNewPodTemplateSpecBuilderFrom_MergeOnBuild (line 696) | func TestNewPodTemplateSpecBuilderFrom_MergeOnBuild(t *testing.T) { function TestWithPGPassSecretRefMount (line 735) | func TestWithPGPassSecretRefMount(t *testing.T) { FILE: cmd/thv-operator/pkg/registryapi/rbac.go method ensureRBACResources (line 69) | func (m *manager) ensureRBACResources( FILE: cmd/thv-operator/pkg/registryapi/rbac_test.go function createTestMCPRegistry (line 25) | func createTestMCPRegistry() *mcpv1beta1.MCPRegistry { function createTestScheme (line 38) | func createTestScheme() *runtime.Scheme { function TestEnsureRBACResources (line 46) | func TestEnsureRBACResources(t *testing.T) { function TestRegistryAPIRBACRules (line 195) | func TestRegistryAPIRBACRules(t *testing.T) { function TestEnsureRBACResources_ImagePullSecrets (line 231) | func TestEnsureRBACResources_ImagePullSecrets(t *testing.T) { function TestEnsureRBACResources_EmptyImagePullSecretsPreservesSAPullSecrets (line 264) | func TestEnsureRBACResources_EmptyImagePullSecretsPreservesSAPullSecrets... FILE: cmd/thv-operator/pkg/registryapi/service.go method ensureService (line 25) | func (m *manager) ensureService( function buildRegistryAPIService (line 102) | func buildRegistryAPIService(mcpRegistry *mcpv1beta1.MCPRegistry) *corev... FILE: cmd/thv-operator/pkg/registryapi/service_test.go function TestBuildRegistryAPIService (line 18) | func TestBuildRegistryAPIService(t *testing.T) { FILE: cmd/thv-operator/pkg/registryapi/types.go constant RegistryAPIContainerName (line 16) | RegistryAPIContainerName = "registry-api" constant RegistryAPIPort (line 19) | RegistryAPIPort = 8080 constant RegistryAPIPortName (line 21) | RegistryAPIPortName = "http" constant RegistryAPIHealthPort (line 26) | RegistryAPIHealthPort = 8081 constant DefaultCPURequest (line 29) | DefaultCPURequest = "100m" constant DefaultMemoryRequest (line 31) | DefaultMemoryRequest = "128Mi" constant DefaultCPULimit (line 33) | DefaultCPULimit = "500m" constant DefaultMemoryLimit (line 35) | DefaultMemoryLimit = "512Mi" constant HealthCheckPath (line 38) | HealthCheckPath = "/health" constant ReadinessCheckPath (line 40) | ReadinessCheckPath = "/readiness" constant LivenessInitialDelay (line 42) | LivenessInitialDelay = 30 constant LivenessPeriod (line 44) | LivenessPeriod = 10 constant ReadinessInitialDelay (line 46) | ReadinessInitialDelay = 5 constant ReadinessPeriod (line 48) | ReadinessPeriod = 5 constant RegistryServerConfigVolumeName (line 51) | RegistryServerConfigVolumeName = "registry-server-config" constant ServeCommand (line 54) | ServeCommand = "serve" constant registryAPIResourceSuffix (line 57) | registryAPIResourceSuffix = "-registry-api" constant DefaultReplicas (line 60) | DefaultReplicas = 1 constant PGPassSecretVolumeName (line 65) | PGPassSecretVolumeName = "pgpass-secret" constant PGPassVolumeName (line 67) | PGPassVolumeName = "pgpass" constant PGPassInitContainerName (line 69) | PGPassInitContainerName = "setup-pgpass" constant pgpassInitContainerImage (line 74) | pgpassInitContainerImage = "cgr.dev/chainguard/busybox:latest" constant pgpassSecretMountPath (line 77) | pgpassSecretMountPath = "/secret" constant pgpassEmptyDirMountPath (line 80) | pgpassEmptyDirMountPath = "/pgpass" constant PGPassAppUserMountPath (line 83) | PGPassAppUserMountPath = "/home/appuser/.pgpass" constant pgpassFileName (line 85) | pgpassFileName = ".pgpass" constant pgpassEnvVar (line 87) | pgpassEnvVar = "PGPASSFILE" type Error (line 91) | type Error struct method Error (line 97) | func (e *Error) Error() string { method Unwrap (line 101) | func (e *Error) Unwrap() error { type Manager (line 108) | type Manager interface function GetServiceAccountName (line 127) | func GetServiceAccountName(mcpRegistry *mcpv1beta1.MCPRegistry) string { FILE: cmd/thv-operator/pkg/registryapi/types_test.go function TestLabelsForRegistryAPI (line 17) | func TestLabelsForRegistryAPI(t *testing.T) { function TestMCPRegistryHelperMethods (line 70) | func TestMCPRegistryHelperMethods(t *testing.T) { function TestFindContainerByNameEdgeCases (line 121) | func TestFindContainerByNameEdgeCases(t *testing.T) { function TestHasVolumeEdgeCases (line 183) | func TestHasVolumeEdgeCases(t *testing.T) { FILE: cmd/thv-operator/pkg/runconfig/audit.go function AddAuditConfigOptions (line 15) | func AddAuditConfigOptions( FILE: cmd/thv-operator/pkg/runconfig/audit_test.go function TestAddAuditConfigOptions (line 21) | func TestAddAuditConfigOptions(t *testing.T) { FILE: cmd/thv-operator/pkg/runconfig/configmap/checksum/checksum.go constant ContentChecksumAnnotation (line 22) | ContentChecksumAnnotation = "toolhive.stacklok.dev/content-checksum" constant RunConfigChecksumAnnotation (line 26) | RunConfigChecksumAnnotation = "toolhive.stacklok.dev/runconfig-checksum" type RunConfigConfigMapChecksum (line 30) | type RunConfigConfigMapChecksum interface function NewRunConfigConfigMapChecksum (line 36) | func NewRunConfigConfigMapChecksum() RunConfigConfigMapChecksum { type runConfigConfigMapChecksum (line 40) | type runConfigConfigMapChecksum struct method ComputeConfigMapChecksum (line 43) | func (*runConfigConfigMapChecksum) ComputeConfigMapChecksum(cm *corev1... method ConfigMapChecksumHasChanged (line 87) | func (r *runConfigConfigMapChecksum) ConfigMapChecksumHasChanged(curre... type RunConfigChecksumFetcher (line 108) | type RunConfigChecksumFetcher struct method GetRunConfigChecksum (line 134) | func (f *RunConfigChecksumFetcher) GetRunConfigChecksum( function NewRunConfigChecksumFetcher (line 113) | func NewRunConfigChecksumFetcher(c client.Client) *RunConfigChecksumFetc... function AddRunConfigChecksumToPodTemplate (line 173) | func AddRunConfigChecksumToPodTemplate(annotations map[string]string, ch... function HashRawJSON (line 189) | func HashRawJSON(raw []byte) (string, error) { FILE: cmd/thv-operator/pkg/runconfig/configmap/checksum/checksum_test.go function TestComputeConfigMapChecksum (line 16) | func TestComputeConfigMapChecksum(t *testing.T) { function TestConfigMapChecksumHasChanged (line 112) | func TestConfigMapChecksumHasChanged(t *testing.T) { function TestHashRawJSON (line 220) | func TestHashRawJSON(t *testing.T) { FILE: cmd/thv-operator/pkg/runconfig/telemetry.go function AddMCPTelemetryConfigRefOptions (line 16) | func AddMCPTelemetryConfigRefOptions( FILE: cmd/thv-operator/pkg/runconfig/telemetry_test.go constant testImage (line 18) | testImage = "test-image:latest" constant stdioTransport (line 19) | stdioTransport = "stdio" function TestAddMCPTelemetryConfigRefOptions (line 22) | func TestAddMCPTelemetryConfigRefOptions(t *testing.T) { function TestAddMCPTelemetryConfigRefOptions_NilOptions (line 105) | func TestAddMCPTelemetryConfigRefOptions_NilOptions(t *testing.T) { FILE: cmd/thv-operator/pkg/spectoconfig/telemetry.go function NormalizeMCPTelemetryConfig (line 19) | func NormalizeMCPTelemetryConfig( function NormalizeTelemetryConfig (line 77) | func NormalizeTelemetryConfig(config *telemetry.Config, defaultServiceNa... function clampSamplingRate (line 99) | func clampSamplingRate(rate float64) float64 { FILE: cmd/thv-operator/pkg/spectoconfig/telemetry_test.go function TestNormalizeTelemetryConfig (line 16) | func TestNormalizeTelemetryConfig(t *testing.T) { function TestNormalizeTelemetryConfig_DoesNotModifyInput (line 161) | func TestNormalizeTelemetryConfig_DoesNotModifyInput(t *testing.T) { function TestNormalizeMCPTelemetryConfig (line 184) | func TestNormalizeMCPTelemetryConfig(t *testing.T) { function TestNormalizeMCPTelemetryConfig_DoesNotModifyInput (line 327) | func TestNormalizeMCPTelemetryConfig_DoesNotModifyInput(t *testing.T) { function TestNormalizeMCPTelemetryConfig_ClampsSamplingRate (line 350) | func TestNormalizeMCPTelemetryConfig_ClampsSamplingRate(t *testing.T) { FILE: cmd/thv-operator/pkg/validation/cedar_validation.go function ValidateCedarPolicies (line 16) | func ValidateCedarPolicies(policies []string) error { FILE: cmd/thv-operator/pkg/validation/cedar_validation_test.go function TestValidateCedarPolicies (line 14) | func TestValidateCedarPolicies(t *testing.T) { FILE: cmd/thv-operator/pkg/validation/oidc_validation.go constant maxK8sVolumeName (line 15) | maxK8sVolumeName = 63 constant OIDCCABundleVolumePrefix (line 19) | OIDCCABundleVolumePrefix = "oidc-ca-bundle-" constant OIDCCABundleMountBasePath (line 25) | OIDCCABundleMountBasePath = "/config/certs" constant OIDCCABundleDefaultKey (line 28) | OIDCCABundleDefaultKey = "ca.crt" constant maxConfigMapNameForCABundle (line 31) | maxConfigMapNameForCABundle = maxK8sVolumeName - len(OIDCCABundleVolumeP... function ValidateCABundleSource (line 38) | func ValidateCABundleSource(ref *mcpv1beta1.CABundleSource) error { function ValidateOIDCIssuerURL (line 59) | func ValidateOIDCIssuerURL(issuer string, allowInsecure bool) error { FILE: cmd/thv-operator/pkg/validation/oidc_validation_test.go function TestValidateCABundleSource (line 18) | func TestValidateCABundleSource(t *testing.T) { function TestValidateOIDCIssuerURL (line 89) | func TestValidateOIDCIssuerURL(t *testing.T) { function makeCABundleSource (line 159) | func makeCABundleSource(name, key string) *mcpv1beta1.CABundleSource { FILE: cmd/thv-operator/pkg/validation/telemetry_validation.go constant TelemetryCABundleVolumePrefix (line 8) | TelemetryCABundleVolumePrefix = "otel-ca-bundle-" constant TelemetryCABundleMountBasePath (line 13) | TelemetryCABundleMountBasePath = "/config/certs/otel" constant TelemetryCABundleDefaultKey (line 16) | TelemetryCABundleDefaultKey = "ca.crt" FILE: cmd/thv-operator/pkg/validation/url_validation.go constant schemeHTTP (line 14) | schemeHTTP = "http" constant schemeHTTPS (line 15) | schemeHTTPS = "https" function ValidateRemoteURL (line 61) | func ValidateRemoteURL(rawURL string) error { function validateHostNotInternal (line 90) | func validateHostNotInternal(host string) error { function ValidateJWKSURL (line 121) | func ValidateJWKSURL(rawURL string) error { FILE: cmd/thv-operator/pkg/validation/url_validation_test.go function TestValidateRemoteURL (line 14) | func TestValidateRemoteURL(t *testing.T) { function TestValidateJWKSURL (line 235) | func TestValidateJWKSURL(t *testing.T) { FILE: cmd/thv-operator/pkg/virtualmcpserverstatus/collector.go type StatusCollector (line 21) | type StatusCollector struct method SetPhase (line 43) | func (s *StatusCollector) SetPhase(phase mcpv1beta1.VirtualMCPServerPh... method SetMessage (line 49) | func (s *StatusCollector) SetMessage(message string) { method SetCondition (line 55) | func (s *StatusCollector) SetCondition(conditionType, reason, message ... method SetURL (line 66) | func (s *StatusCollector) SetURL(url string) { method SetObservedGeneration (line 72) | func (s *StatusCollector) SetObservedGeneration(generation int64) { method SetOIDCConfigHash (line 78) | func (s *StatusCollector) SetOIDCConfigHash(hash string) { method SetTelemetryConfigHash (line 84) | func (s *StatusCollector) SetTelemetryConfigHash(hash string) { method SetTelemetryConfigRefValidatedCondition (line 90) | func (s *StatusCollector) SetTelemetryConfigRefValidatedCondition(reas... method SetGroupRefValidatedCondition (line 95) | func (s *StatusCollector) SetGroupRefValidatedCondition(reason, messag... method SetCompositeToolRefsValidatedCondition (line 100) | func (s *StatusCollector) SetCompositeToolRefsValidatedCondition(reaso... method SetAuthConfiguredCondition (line 105) | func (s *StatusCollector) SetAuthConfiguredCondition(reason, message s... method SetAuthConfigCondition (line 111) | func (s *StatusCollector) SetAuthConfigCondition(conditionType, reason... method RemoveConditionsWithPrefix (line 118) | func (s *StatusCollector) RemoveConditionsWithPrefix(prefix string, ex... method SetReadyCondition (line 145) | func (s *StatusCollector) SetReadyCondition(reason, message string, st... method SetEmbeddingServerReadyCondition (line 150) | func (s *StatusCollector) SetEmbeddingServerReadyCondition(reason, mes... method SetAuthServerConfigValidatedCondition (line 155) | func (s *StatusCollector) SetAuthServerConfigValidatedCondition(reason... method SetDiscoveredBackends (line 160) | func (s *StatusCollector) SetDiscoveredBackends(backends []mcpv1beta1.... method UpdateStatus (line 167) | func (s *StatusCollector) UpdateStatus(ctx context.Context, vmcpStatus... function NewStatusManager (line 35) | func NewStatusManager(vmcp *mcpv1beta1.VirtualMCPServer) StatusManager { FILE: cmd/thv-operator/pkg/virtualmcpserverstatus/collector_test.go function TestStatusCollector_SetPhase (line 16) | func TestStatusCollector_SetPhase(t *testing.T) { function TestStatusCollector_SetMessage (line 31) | func TestStatusCollector_SetMessage(t *testing.T) { function TestStatusCollector_SetURL (line 46) | func TestStatusCollector_SetURL(t *testing.T) { function TestStatusCollector_SetObservedGeneration (line 61) | func TestStatusCollector_SetObservedGeneration(t *testing.T) { function TestStatusCollector_SetOIDCConfigHash (line 76) | func TestStatusCollector_SetOIDCConfigHash(t *testing.T) { function TestStatusCollector_SetOIDCConfigHash_Clear (line 91) | func TestStatusCollector_SetOIDCConfigHash_Clear(t *testing.T) { function TestStatusCollector_SetGroupRefValidatedCondition (line 106) | func TestStatusCollector_SetGroupRefValidatedCondition(t *testing.T) { function TestStatusCollector_SetReadyCondition (line 125) | func TestStatusCollector_SetReadyCondition(t *testing.T) { function TestStatusCollector_BatchedUpdates (line 144) | func TestStatusCollector_BatchedUpdates(t *testing.T) { function TestStatusCollector_NoChanges (line 172) | func TestStatusCollector_NoChanges(t *testing.T) { function TestStatusCollector_SetAuthConfiguredCondition (line 185) | func TestStatusCollector_SetAuthConfiguredCondition(t *testing.T) { function TestStatusCollector_SetAuthServerConfigValidatedCondition (line 204) | func TestStatusCollector_SetAuthServerConfigValidatedCondition(t *testin... function TestStatusCollector_MultipleConditions (line 223) | func TestStatusCollector_MultipleConditions(t *testing.T) { function TestStatusCollector_RemoveConditionsWithPrefix (line 249) | func TestStatusCollector_RemoveConditionsWithPrefix(t *testing.T) { function TestStatusCollector_SetTelemetryConfigHash (line 308) | func TestStatusCollector_SetTelemetryConfigHash(t *testing.T) { function TestStatusCollector_SetTelemetryConfigHash_Clear (line 323) | func TestStatusCollector_SetTelemetryConfigHash_Clear(t *testing.T) { function TestStatusCollector_SetTelemetryConfigRefValidatedCondition (line 338) | func TestStatusCollector_SetTelemetryConfigRefValidatedCondition(t *test... FILE: cmd/thv-operator/pkg/virtualmcpserverstatus/mocks/mock_collector.go type MockStatusManager (line 22) | type MockStatusManager struct method EXPECT (line 41) | func (m *MockStatusManager) EXPECT() *MockStatusManagerMockRecorder { method RemoveConditionsWithPrefix (line 46) | func (m *MockStatusManager) RemoveConditionsWithPrefix(prefix string, ... method SetAuthConfigCondition (line 58) | func (m *MockStatusManager) SetAuthConfigCondition(conditionType, reas... method SetAuthConfiguredCondition (line 70) | func (m *MockStatusManager) SetAuthConfiguredCondition(reason, message... method SetAuthServerConfigValidatedCondition (line 82) | func (m *MockStatusManager) SetAuthServerConfigValidatedCondition(reas... method SetCompositeToolRefsValidatedCondition (line 94) | func (m *MockStatusManager) SetCompositeToolRefsValidatedCondition(rea... method SetCondition (line 106) | func (m *MockStatusManager) SetCondition(conditionType, reason, messag... method SetDiscoveredBackends (line 118) | func (m *MockStatusManager) SetDiscoveredBackends(backends []v1beta1.D... method SetEmbeddingServerReadyCondition (line 130) | func (m *MockStatusManager) SetEmbeddingServerReadyCondition(reason, m... method SetGroupRefValidatedCondition (line 142) | func (m *MockStatusManager) SetGroupRefValidatedCondition(reason, mess... method SetMessage (line 154) | func (m *MockStatusManager) SetMessage(message string) { method SetOIDCConfigHash (line 166) | func (m *MockStatusManager) SetOIDCConfigHash(hash string) { method SetObservedGeneration (line 178) | func (m *MockStatusManager) SetObservedGeneration(generation int64) { method SetPhase (line 190) | func (m *MockStatusManager) SetPhase(phase v1beta1.VirtualMCPServerPha... method SetReadyCondition (line 202) | func (m *MockStatusManager) SetReadyCondition(reason, message string, ... method SetTelemetryConfigHash (line 214) | func (m *MockStatusManager) SetTelemetryConfigHash(hash string) { method SetTelemetryConfigRefValidatedCondition (line 226) | func (m *MockStatusManager) SetTelemetryConfigRefValidatedCondition(re... method SetURL (line 238) | func (m *MockStatusManager) SetURL(url string) { method UpdateStatus (line 250) | func (m *MockStatusManager) UpdateStatus(ctx context.Context, vmcpStat... type MockStatusManagerMockRecorder (line 29) | type MockStatusManagerMockRecorder struct method RemoveConditionsWithPrefix (line 52) | func (mr *MockStatusManagerMockRecorder) RemoveConditionsWithPrefix(pr... method SetAuthConfigCondition (line 64) | func (mr *MockStatusManagerMockRecorder) SetAuthConfigCondition(condit... method SetAuthConfiguredCondition (line 76) | func (mr *MockStatusManagerMockRecorder) SetAuthConfiguredCondition(re... method SetAuthServerConfigValidatedCondition (line 88) | func (mr *MockStatusManagerMockRecorder) SetAuthServerConfigValidatedC... method SetCompositeToolRefsValidatedCondition (line 100) | func (mr *MockStatusManagerMockRecorder) SetCompositeToolRefsValidated... method SetCondition (line 112) | func (mr *MockStatusManagerMockRecorder) SetCondition(conditionType, r... method SetDiscoveredBackends (line 124) | func (mr *MockStatusManagerMockRecorder) SetDiscoveredBackends(backend... method SetEmbeddingServerReadyCondition (line 136) | func (mr *MockStatusManagerMockRecorder) SetEmbeddingServerReadyCondit... method SetGroupRefValidatedCondition (line 148) | func (mr *MockStatusManagerMockRecorder) SetGroupRefValidatedCondition... method SetMessage (line 160) | func (mr *MockStatusManagerMockRecorder) SetMessage(message any) *gomo... method SetOIDCConfigHash (line 172) | func (mr *MockStatusManagerMockRecorder) SetOIDCConfigHash(hash any) *... method SetObservedGeneration (line 184) | func (mr *MockStatusManagerMockRecorder) SetObservedGeneration(generat... method SetPhase (line 196) | func (mr *MockStatusManagerMockRecorder) SetPhase(phase any) *gomock.C... method SetReadyCondition (line 208) | func (mr *MockStatusManagerMockRecorder) SetReadyCondition(reason, mes... method SetTelemetryConfigHash (line 220) | func (mr *MockStatusManagerMockRecorder) SetTelemetryConfigHash(hash a... method SetTelemetryConfigRefValidatedCondition (line 232) | func (mr *MockStatusManagerMockRecorder) SetTelemetryConfigRefValidate... method SetURL (line 244) | func (mr *MockStatusManagerMockRecorder) SetURL(url any) *gomock.Call { method UpdateStatus (line 258) | func (mr *MockStatusManagerMockRecorder) UpdateStatus(ctx, vmcpStatus ... function NewMockStatusManager (line 34) | func NewMockStatusManager(ctrl *gomock.Controller) *MockStatusManager { FILE: cmd/thv-operator/pkg/virtualmcpserverstatus/types.go type StatusManager (line 19) | type StatusManager interface FILE: cmd/thv-operator/pkg/vmcpconfig/converter.go constant authzLabelValueInline (line 30) | authzLabelValueInline = "inline" constant conflictResolutionPrefix (line 32) | conflictResolutionPrefix = "prefix" constant vmcpOIDCClientSecretEnvVar (line 36) | vmcpOIDCClientSecretEnvVar = "VMCP_OIDC_CLIENT_SECRET" type Converter (line 40) | type Converter struct method Convert (line 78) | func (c *Converter) Convert( method convertIncomingAuth (line 161) | func (c *Converter) convertIncomingAuth( method resolveOIDCConfig (line 215) | func (c *Converter) resolveOIDCConfig( method normalizeTelemetry (line 289) | func (*Converter) normalizeTelemetry( method convertAuthServerConfig (line 322) | func (*Converter) convertAuthServerConfig( method convertOutgoingAuthWithDefaults (line 385) | func (c *Converter) convertOutgoingAuthWithDefaults( method convertAggregationWithDefaults (line 398) | func (c *Converter) convertAggregationWithDefaults( method convertOutgoingAuth (line 414) | func (c *Converter) convertOutgoingAuth( method convertBackendAuthConfig (line 445) | func (c *Converter) convertBackendAuthConfig( method convertExternalAuthConfigToStrategy (line 486) | func (*Converter) convertExternalAuthConfigToStrategy( method convertAggregation (line 520) | func (c *Converter) convertAggregation( method applyConflictResolutionDefaults (line 543) | func (*Converter) applyConflictResolutionDefaults( method resolveToolConfigRefs (line 571) | func (c *Converter) resolveToolConfigRefs( method resolveToolConfigRef (line 613) | func (c *Converter) resolveToolConfigRef( method mergeToolConfigFilter (line 644) | func (*Converter) mergeToolConfigFilter( method mergeToolConfigOverrides (line 654) | func (*Converter) mergeToolConfigOverrides( method resolveMCPToolConfig (line 692) | func (c *Converter) resolveMCPToolConfig( method convertAllCompositeTools (line 709) | func (c *Converter) convertAllCompositeTools( method resolveCompositeToolRefs (line 731) | func (c *Converter) resolveCompositeToolRefs( method convertCompositeToolDefinition (line 765) | func (*Converter) convertCompositeToolDefinition( function NewConverter (line 51) | func NewConverter(oidcResolver oidc.Resolver, k8sClient client.Client) (... function mapResolvedOIDCToVmcpConfigFromRef (line 253) | func mapResolvedOIDCToVmcpConfigFromRef( function convertSessionStorage (line 306) | func convertSessionStorage(vmcp *mcpv1beta1.VirtualMCPServer) *vmcpconfi... function deriveAllowedAudiences (line 350) | func deriveAllowedAudiences(config *vmcpconfig.Config) []string { function deriveResourceURL (line 364) | func deriveResourceURL(config *vmcpconfig.Config) string { function deriveScopesSupported (line 374) | func deriveScopesSupported(config *vmcpconfig.Config) []string { function convertCRDToolOverride (line 674) | func convertCRDToolOverride(src *mcpv1beta1.ToolOverride) *vmcpconfig.To... function validateCompositeToolNames (line 773) | func validateCompositeToolNames(tools []vmcpconfig.CompositeToolConfig) ... FILE: cmd/thv-operator/pkg/vmcpconfig/converter_test.go function newNoOpMockResolver (line 35) | func newNoOpMockResolver(t *testing.T) *oidcmocks.MockResolver { function newTestK8sClient (line 43) | func newTestK8sClient(t *testing.T, objects ...client.Object) client.Cli... function newTestConverter (line 51) | func newTestConverter(t *testing.T, resolver oidc.Resolver) *Converter { function newTestVMCPServer (line 60) | func newTestVMCPServer(oidcConfigRef *mcpv1beta1.MCPOIDCConfigReference)... function newTestMCPOIDCConfig (line 71) | func newTestMCPOIDCConfig(specType mcpv1beta1.MCPOIDCConfigSourceType) *... function newTestMCPOIDCConfigInline (line 81) | func newTestMCPOIDCConfigInline(inline *mcpv1beta1.InlineOIDCSharedConfi... function newTestConverterWithObjects (line 92) | func newTestConverterWithObjects(t *testing.T, resolver oidc.Resolver, o... function TestConverter_OIDCResolution (line 100) | func TestConverter_OIDCResolution(t *testing.T) { function TestConverter_CompositeToolsPassThrough (line 226) | func TestConverter_CompositeToolsPassThrough(t *testing.T) { function TestConverter_IncomingAuthRequired (line 284) | func TestConverter_IncomingAuthRequired(t *testing.T) { function createTestScheme (line 458) | func createTestScheme() *runtime.Scheme { function TestConverter_CompositeToolRefs (line 464) | func TestConverter_CompositeToolRefs(t *testing.T) { function TestConverter_CompositeToolDefinitionFieldsPreserved (line 859) | func TestConverter_CompositeToolDefinitionFieldsPreserved(t *testing.T) { function newMCPToolConfig (line 960) | func newMCPToolConfig(name, namespace string, filter []string, overrides... function toolOverride (line 967) | func toolOverride(name, desc string) mcpv1beta1.ToolOverride { function toolOverrideWithAnnotations (line 971) | func toolOverrideWithAnnotations(name, desc string, ann *mcpv1beta1.Tool... function vmcpToolOverride (line 975) | func vmcpToolOverride(name, desc string) *vmcpconfig.ToolOverride { function vmcpToolOverrideWithAnnotations (line 979) | func vmcpToolOverrideWithAnnotations(name, desc string, ann *vmcpconfig.... function stringPtr (line 983) | func stringPtr(s string) *string { return &s } function boolPtr (line 984) | func boolPtr(b bool) *bool { return &b } function TestResolveMCPToolConfig (line 986) | func TestResolveMCPToolConfig(t *testing.T) { function TestMergeToolConfigFilter (line 1042) | func TestMergeToolConfigFilter(t *testing.T) { function TestMergeToolConfigOverrides (line 1089) | func TestMergeToolConfigOverrides(t *testing.T) { function TestConvertCRDToolOverride (line 1165) | func TestConvertCRDToolOverride(t *testing.T) { function TestResolveToolConfigRefs (line 1214) | func TestResolveToolConfigRefs(t *testing.T) { function TestResolveToolConfigRefs_FailClosed (line 1299) | func TestResolveToolConfigRefs_FailClosed(t *testing.T) { function TestConvert_MCPToolConfigFailClosed (line 1374) | func TestConvert_MCPToolConfigFailClosed(t *testing.T) { function TestConverter_InlineTelemetryIgnored (line 1467) | func TestConverter_InlineTelemetryIgnored(t *testing.T) { function TestConverter_TelemetryNil (line 1499) | func TestConverter_TelemetryNil(t *testing.T) { function TestConverter_SessionStorage (line 1527) | func TestConverter_SessionStorage(t *testing.T) { function TestDeriveAllowedAudiences (line 1604) | func TestDeriveAllowedAudiences(t *testing.T) { function TestDeriveScopesSupported (line 1661) | func TestDeriveScopesSupported(t *testing.T) { function TestDeriveResourceURL (line 1713) | func TestDeriveResourceURL(t *testing.T) { function TestConvert_AuthServerConfigIntegration (line 1771) | func TestConvert_AuthServerConfigIntegration(t *testing.T) { function TestConverter_TelemetryConfigRef (line 1847) | func TestConverter_TelemetryConfigRef(t *testing.T) { function TestConvertIncomingAuth_PrimaryUpstreamProvider (line 1902) | func TestConvertIncomingAuth_PrimaryUpstreamProvider(t *testing.T) { FILE: cmd/thv-operator/pkg/vmcpconfig/validator.go type Validator (line 14) | type Validator struct method Validate (line 22) | func (*Validator) Validate(_ context.Context, config *vmcpconfig.Confi... function NewValidator (line 17) | func NewValidator() *Validator { FILE: cmd/thv-operator/test-integration/embedding-server/embeddingserver_creation_test.go type TestCase (line 23) | type TestCase struct type InitialState (line 32) | type InitialState struct type FinalState (line 39) | type FinalState struct function verifyStatefulSetEquals (line 979) | func verifyStatefulSetEquals(actual, expected *appsv1.StatefulSet) { function verifyStatefulSetEqualsG (line 984) | func verifyStatefulSetEqualsG(g Gomega, actual, expected *appsv1.Statefu... function verifyContainerEqualsG (line 1037) | func verifyContainerEqualsG(g Gomega, actual, expected corev1.Container) { function verifyPVCEqualsG (line 1091) | func verifyPVCEqualsG(g Gomega, actual, expected corev1.PersistentVolume... function verifyServiceEquals (line 1111) | func verifyServiceEquals(actual, expected *corev1.Service) { function verifyServiceEqualsG (line 1116) | func verifyServiceEqualsG(g Gomega, actual, expected *corev1.Service) { function verifyStatusEquals (line 1144) | func verifyStatusEquals(actual *mcpv1beta1.EmbeddingServer, expected *mc... function containsString (line 1159) | func containsString(slice []string, s string) bool { function verifyOwnerReference (line 1169) | func verifyOwnerReference(ownerRefs []metav1.OwnerReference, embedding *... FILE: cmd/thv-operator/test-integration/embedding-server/embeddingserver_update_test.go type UpdateTestCase (line 22) | type UpdateTestCase struct type UpdateStep (line 29) | type UpdateStep struct FILE: cmd/thv-operator/test-integration/embedding-server/suite_test.go function TestControllers (line 39) | func TestControllers(t *testing.T) { FILE: cmd/thv-operator/test-integration/mcp-external-auth/suite_test.go function TestControllers (line 41) | func TestControllers(t *testing.T) { FILE: cmd/thv-operator/test-integration/mcp-group/suite_test.go function TestControllers (line 42) | func TestControllers(t *testing.T) { FILE: cmd/thv-operator/test-integration/mcp-oidc-config/mcpoidcconfig_controller_integration_test.go constant timeout (line 18) | timeout = time.Second * 30 constant interval (line 19) | interval = time.Millisecond * 250 FILE: cmd/thv-operator/test-integration/mcp-oidc-config/mcpoidcconfig_mcpremoteproxy_integration_test.go constant testRemoteProxyName (line 19) | testRemoteProxyName = "test-remote-proxy" constant testRemoteURL (line 20) | testRemoteURL = "https://remote.example.com/mcp" function newTestMCPRemoteProxy (line 25) | func newTestMCPRemoteProxy(name, namespace string, oidcConfigRefName str... FILE: cmd/thv-operator/test-integration/mcp-oidc-config/mcpoidcconfig_mcpserver_integration_test.go constant testOIDCConfigName (line 19) | testOIDCConfigName = "test-oidc-config" constant testServerName (line 20) | testServerName = "test-server" constant testServerImage (line 21) | testServerImage = "test-image:latest" FILE: cmd/thv-operator/test-integration/mcp-oidc-config/mcpoidcconfig_virtualmcpserver_integration_test.go constant testVMCPServerName (line 21) | testVMCPServerName = "test-vmcp-server" constant testVMCPGroupName (line 22) | testVMCPGroupName = "test-vmcp-group" FILE: cmd/thv-operator/test-integration/mcp-oidc-config/suite_test.go function TestControllers (line 41) | func TestControllers(t *testing.T) { FILE: cmd/thv-operator/test-integration/mcp-registry/configmap_helpers.go type ConfigMapTestHelper (line 20) | type ConfigMapTestHelper struct method NewConfigMapBuilder (line 61) | func (h *ConfigMapTestHelper) NewConfigMapBuilder(name string) *Config... method CreateSampleToolHiveRegistry (line 125) | func (h *ConfigMapTestHelper) CreateSampleToolHiveRegistry(name string... method GetConfigMap (line 155) | func (h *ConfigMapTestHelper) GetConfigMap(name string) (*corev1.Confi... method UpdateConfigMap (line 165) | func (h *ConfigMapTestHelper) UpdateConfigMap(configMap *corev1.Config... method DeleteConfigMap (line 170) | func (h *ConfigMapTestHelper) DeleteConfigMap(name string) error { method ListConfigMaps (line 181) | func (h *ConfigMapTestHelper) ListConfigMaps() (*corev1.ConfigMapList,... method CleanupConfigMaps (line 188) | func (h *ConfigMapTestHelper) CleanupConfigMaps() error { function NewConfigMapTestHelper (line 27) | func NewConfigMapTestHelper(ctx context.Context, k8sClient client.Client... type RegistryServer (line 36) | type RegistryServer struct type ToolHiveRegistryData (line 48) | type ToolHiveRegistryData struct type ConfigMapBuilder (line 56) | type ConfigMapBuilder struct method WithLabel (line 77) | func (cb *ConfigMapBuilder) WithLabel(key, value string) *ConfigMapBui... method WithData (line 86) | func (cb *ConfigMapBuilder) WithData(key, value string) *ConfigMapBuil... method WithToolHiveRegistry (line 92) | func (cb *ConfigMapBuilder) WithToolHiveRegistry(key string, servers [... method Build (line 112) | func (cb *ConfigMapBuilder) Build() *corev1.ConfigMap { method Create (line 117) | func (cb *ConfigMapBuilder) Create(h *ConfigMapTestHelper) *corev1.Con... FILE: cmd/thv-operator/test-integration/mcp-registry/k8s_helpers.go type K8sResourceTestHelper (line 16) | type K8sResourceTestHelper struct method GetDeployment (line 32) | func (h *K8sResourceTestHelper) GetDeployment(name string) (*appsv1.De... method GetService (line 42) | func (h *K8sResourceTestHelper) GetService(name string) (*corev1.Servi... method GetConfigMap (line 52) | func (h *K8sResourceTestHelper) GetConfigMap(name string) (*corev1.Con... method DeploymentExists (line 62) | func (h *K8sResourceTestHelper) DeploymentExists(name string) bool { method ServiceExists (line 68) | func (h *K8sResourceTestHelper) ServiceExists(name string) bool { method IsDeploymentReady (line 74) | func (h *K8sResourceTestHelper) IsDeploymentReady(name string) bool { function NewK8sResourceTestHelper (line 23) | func NewK8sResourceTestHelper(ctx context.Context, k8sClient client.Clie... FILE: cmd/thv-operator/test-integration/mcp-registry/registry_helpers.go type MCPRegistryTestHelper (line 26) | type MCPRegistryTestHelper struct method NewRegistryBuilder (line 76) | func (h *MCPRegistryTestHelper) NewRegistryBuilder(name string) *Regis... method CreateBasicConfigMapRegistry (line 319) | func (h *MCPRegistryTestHelper) CreateBasicConfigMapRegistry(name, con... method CreateManualSyncRegistry (line 327) | func (h *MCPRegistryTestHelper) CreateManualSyncRegistry(name, configM... method GetRegistry (line 334) | func (h *MCPRegistryTestHelper) GetRegistry(name string) (*mcpv1beta1.... method UpdateRegistry (line 344) | func (h *MCPRegistryTestHelper) UpdateRegistry(registry *mcpv1beta1.MC... method PatchRegistry (line 349) | func (h *MCPRegistryTestHelper) PatchRegistry(name string, patch clien... method DeleteRegistry (line 357) | func (h *MCPRegistryTestHelper) DeleteRegistry(name string) error { method TriggerManualSync (line 368) | func (h *MCPRegistryTestHelper) TriggerManualSync(name string) error { method GetRegistryStatus (line 383) | func (h *MCPRegistryTestHelper) GetRegistryStatus(name string) (*mcpv1... method GetRegistryPhase (line 392) | func (h *MCPRegistryTestHelper) GetRegistryPhase(name string) (mcpv1be... method GetRegistryCondition (line 401) | func (h *MCPRegistryTestHelper) GetRegistryCondition(name, conditionTy... method ListRegistries (line 416) | func (h *MCPRegistryTestHelper) ListRegistries() (*mcpv1beta1.MCPRegis... method CleanupRegistries (line 423) | func (h *MCPRegistryTestHelper) CleanupRegistries() error { method WaitForRegistryInitialization (line 447) | func (h *MCPRegistryTestHelper) WaitForRegistryInitialization(registry... function NewMCPRegistryTestHelper (line 33) | func NewMCPRegistryTestHelper(ctx context.Context, k8sClient client.Clie... constant sourceTypeFile (line 42) | sourceTypeFile = "file" constant sourceTypeGit (line 43) | sourceTypeGit = "git" constant sourceTypeAPI (line 44) | sourceTypeAPI = "api" type registryBuilderConfig (line 48) | type registryBuilderConfig struct type RegistryBuilder (line 67) | type RegistryBuilder struct method WithConfigMapSource (line 91) | func (rb *RegistryBuilder) WithConfigMapSource(configMapName, key stri... method WithGitSource (line 100) | func (rb *RegistryBuilder) WithGitSource(repository, branch, path stri... method WithAPISource (line 109) | func (rb *RegistryBuilder) WithAPISource(endpoint string) *RegistryBui... method WithRegistryName (line 116) | func (rb *RegistryBuilder) WithRegistryName(name string) *RegistryBuil... method WithSyncPolicy (line 126) | func (rb *RegistryBuilder) WithSyncPolicy(interval string) *RegistryBu... method WithAnnotation (line 132) | func (rb *RegistryBuilder) WithAnnotation(key, value string) *Registry... method WithLabel (line 141) | func (rb *RegistryBuilder) WithLabel(key, value string) *RegistryBuild... method WithNameIncludeFilter (line 150) | func (rb *RegistryBuilder) WithNameIncludeFilter(patterns []string) *R... method WithNameExcludeFilter (line 156) | func (rb *RegistryBuilder) WithNameExcludeFilter(patterns []string) *R... method WithTagIncludeFilter (line 162) | func (rb *RegistryBuilder) WithTagIncludeFilter(tags []string) *Regist... method WithTagExcludeFilter (line 168) | func (rb *RegistryBuilder) WithTagExcludeFilter(tags []string) *Regist... method Build (line 174) | func (rb *RegistryBuilder) Build() *mcpv1beta1.MCPRegistry { method Create (line 225) | func (rb *RegistryBuilder) Create(h *MCPRegistryTestHelper) *mcpv1beta... method buildConfigYAML (line 233) | func (rb *RegistryBuilder) buildConfigYAML() string { method writeFilterYAML (line 284) | func (rb *RegistryBuilder) writeFilterYAML(b *strings.Builder) { function writeStringList (line 308) | func writeStringList(b *strings.Builder, label string, items []string) { function containsFinalizer (line 468) | func containsFinalizer(finalizers []string, _ string) bool { function buildConfigYAMLForMultipleSources (line 480) | func buildConfigYAMLForMultipleSources(sources []map[string]string) stri... function mustMarshalJSON (line 535) | func mustMarshalJSON(v interface{}) []byte { FILE: cmd/thv-operator/test-integration/mcp-registry/registry_lifecycle_test.go constant registryFinalizerName (line 20) | registryFinalizerName = "mcpregistry.toolhive.stacklok.dev/finalizer" function createTestNamespace (line 252) | func createTestNamespace(ctx context.Context) string { function deleteTestNamespace (line 267) | func deleteTestNamespace(ctx context.Context, name string) { FILE: cmd/thv-operator/test-integration/mcp-registry/registryserver_config_test.go type serverConfigTestHelpers (line 29) | type serverConfigTestHelpers struct method verifyServerConfigVolume (line 866) | func (*serverConfigTestHelpers) verifyServerConfigVolume(deployment *a... method verifyContainerArguments (line 889) | func (*serverConfigTestHelpers) verifyContainerArguments(deployment *a... method verifyConfigMapOwnership (line 899) | func (*serverConfigTestHelpers) verifyConfigMapOwnership(configMap *co... method getDeploymentForRegistry (line 907) | func (h *serverConfigTestHelpers) getDeploymentForRegistry(registryNam... method verifyNoSourceDataVolume (line 918) | func (*serverConfigTestHelpers) verifyNoSourceDataVolume(deployment *a... method verifySourceDataVolume (line 934) | func (*serverConfigTestHelpers) verifySourceDataVolume(deployment *app... method waitForAndGetServerConfigMap (line 981) | func (h *serverConfigTestHelpers) waitForAndGetServerConfigMap(registr... method verifyConfigMapBasics (line 998) | func (*serverConfigTestHelpers) verifyConfigMapBasics(configMap *corev... method verifyConfigMapContent (line 1008) | func (*serverConfigTestHelpers) verifyConfigMapContent(configYAML stri... method verifyPodTemplateValidCondition (line 1017) | func (h *serverConfigTestHelpers) verifyPodTemplateValidCondition(regi... method verifyRegistryFailedWithInvalidPodTemplate (line 1039) | func (h *serverConfigTestHelpers) verifyRegistryFailedWithInvalidPodTe... function verifyGitAuthVolume (line 1052) | func verifyGitAuthVolume(deployment *appsv1.Deployment, secretName, secr... FILE: cmd/thv-operator/test-integration/mcp-registry/status_helpers.go type StatusTestHelper (line 21) | type StatusTestHelper struct method WaitForPhase (line 33) | func (h *StatusTestHelper) WaitForPhase(registryName string, expectedP... method WaitForPhaseAny (line 38) | func (h *StatusTestHelper) WaitForPhaseAny(registryName string, method WaitForCondition (line 56) | func (h *StatusTestHelper) WaitForCondition(registryName, conditionTyp... method WaitForConditionReason (line 69) | func (h *StatusTestHelper) WaitForConditionReason(registryName, condit... method WaitForSyncCompletion (line 81) | func (h *StatusTestHelper) WaitForSyncCompletion(registryName string, ... function NewStatusTestHelper (line 26) | func NewStatusTestHelper(ctx context.Context, k8sClient client.Client, n... FILE: cmd/thv-operator/test-integration/mcp-registry/suite_test.go function TestOperatorE2E (line 38) | func TestOperatorE2E(t *testing.T) { //nolint:paralleltest // E2E tests ... FILE: cmd/thv-operator/test-integration/mcp-registry/timing_helpers.go type TimingTestHelper (line 15) | type TimingTestHelper struct method EventuallyWithTimeout (line 53) | func (*TimingTestHelper) EventuallyWithTimeout(assertion func() interf... method ConsistentlyWithTimeout (line 59) | func (*TimingTestHelper) ConsistentlyWithTimeout(assertion func() inte... method WaitForResourceCreation (line 65) | func (*TimingTestHelper) WaitForResourceCreation(assertion func() inte... method WaitForControllerReconciliation (line 70) | func (*TimingTestHelper) WaitForControllerReconciliation(assertion fun... method WaitForSyncOperation (line 75) | func (*TimingTestHelper) WaitForSyncOperation(assertion func() interfa... method WaitForComplexOperation (line 80) | func (*TimingTestHelper) WaitForComplexOperation(assertion func() inte... method EnsureStableState (line 85) | func (*TimingTestHelper) EnsureStableState(assertion func() interface{... method EnsureQuickStability (line 90) | func (h *TimingTestHelper) EnsureQuickStability(assertion func() inter... method GetTimeoutForOperation (line 102) | func (*TimingTestHelper) GetTimeoutForOperation(operationType string) ... method WaitWithCustomTimeout (line 150) | func (*TimingTestHelper) WaitWithCustomTimeout(assertion func() interf... function NewTimingTestHelper (line 21) | func NewTimingTestHelper(ctx context.Context, k8sClient client.Client) *... constant QuickTimeout (line 31) | QuickTimeout = 10 * time.Second constant MediumTimeout (line 34) | MediumTimeout = 30 * time.Second constant LongTimeout (line 37) | LongTimeout = 2 * time.Minute constant ExtraLongTimeout (line 40) | ExtraLongTimeout = 5 * time.Minute constant DefaultPollingInterval (line 43) | DefaultPollingInterval = 1 * time.Second constant FastPollingInterval (line 46) | FastPollingInterval = 200 * time.Millisecond constant SlowPollingInterval (line 49) | SlowPollingInterval = 5 * time.Second type TimeoutConfig (line 95) | type TimeoutConfig struct FILE: cmd/thv-operator/test-integration/mcp-remote-proxy/k8s_helpers.go method WaitForDeployment (line 22) | func (h *MCPRemoteProxyTestHelper) WaitForDeployment(name string, timeou... method WaitForService (line 37) | func (h *MCPRemoteProxyTestHelper) WaitForService(name string, timeout t... method WaitForConfigMap (line 52) | func (h *MCPRemoteProxyTestHelper) WaitForConfigMap(name string, timeout... method WaitForServiceAccount (line 67) | func (h *MCPRemoteProxyTestHelper) WaitForServiceAccount(name string, ti... method WaitForRole (line 82) | func (h *MCPRemoteProxyTestHelper) WaitForRole(name string, timeout time... method WaitForRoleBinding (line 97) | func (h *MCPRemoteProxyTestHelper) WaitForRoleBinding(name string, timeo... method WaitForExternalAuthConfigHash (line 112) | func (h *MCPRemoteProxyTestHelper) WaitForExternalAuthConfigHash(name st... method WaitForExternalAuthConfigHashChange (line 127) | func (h *MCPRemoteProxyTestHelper) WaitForExternalAuthConfigHashChange( method WaitForToolConfigHash (line 142) | func (h *MCPRemoteProxyTestHelper) WaitForToolConfigHash(name string, ti... method WaitForToolConfigHashChange (line 157) | func (h *MCPRemoteProxyTestHelper) WaitForToolConfigHashChange( function verifyRemoteProxyOwnerReference (line 172) | func verifyRemoteProxyOwnerReference(ownerRefs []metav1.OwnerReference, ... FILE: cmd/thv-operator/test-integration/mcp-remote-proxy/mcpremoteproxy_authserverref_integration_test.go function newEmbeddedAuthConfig (line 248) | func newEmbeddedAuthConfig(name, namespace string) *mcpv1beta1.MCPExtern... function newAWSStsConfig (line 271) | func newAWSStsConfig(name, namespace string) *mcpv1beta1.MCPExternalAuth... function newMCPOIDCConfig (line 285) | func newMCPOIDCConfig(name, namespace string) *mcpv1beta1.MCPOIDCConfig { FILE: cmd/thv-operator/test-integration/mcp-remote-proxy/mcpremoteproxy_controller_integration_test.go function createTestNamespace (line 842) | func createTestNamespace(ctx context.Context) string { function deleteTestNamespace (line 857) | func deleteTestNamespace(ctx context.Context, name string) { FILE: cmd/thv-operator/test-integration/mcp-remote-proxy/remoteproxy_helpers.go function ServiceName (line 23) | func ServiceName(proxyName string) string { function ConfigMapName (line 29) | func ConfigMapName(proxyName string) string { function ServiceAccountName (line 35) | func ServiceAccountName(proxyName string) string { constant MediumTimeout (line 42) | MediumTimeout = 30 * time.Second constant LongTimeout (line 45) | LongTimeout = 2 * time.Minute constant DefaultPollingInterval (line 48) | DefaultPollingInterval = 1 * time.Second type MCPRemoteProxyTestHelper (line 52) | type MCPRemoteProxyTestHelper struct method NewRemoteProxyBuilder (line 76) | func (h *MCPRemoteProxyTestHelper) NewRemoteProxyBuilder(name string) ... method GetRemoteProxy (line 206) | func (h *MCPRemoteProxyTestHelper) GetRemoteProxy(name string) (*mcpv1... method GetRemoteProxyStatus (line 216) | func (h *MCPRemoteProxyTestHelper) GetRemoteProxyStatus( method GetRemoteProxyPhase (line 227) | func (h *MCPRemoteProxyTestHelper) GetRemoteProxyPhase( method GetRemoteProxyCondition (line 238) | func (h *MCPRemoteProxyTestHelper) GetRemoteProxyCondition( method CleanupRemoteProxies (line 255) | func (h *MCPRemoteProxyTestHelper) CleanupRemoteProxies() error { function NewMCPRemoteProxyTestHelper (line 59) | func NewMCPRemoteProxyTestHelper( type RemoteProxyBuilder (line 70) | type RemoteProxyBuilder struct method WithProxyPort (line 96) | func (rb *RemoteProxyBuilder) WithProxyPort(port int32) *RemoteProxyBu... method WithExternalAuthConfigRef (line 102) | func (rb *RemoteProxyBuilder) WithExternalAuthConfigRef(name string) *... method WithAuthServerRef (line 110) | func (rb *RemoteProxyBuilder) WithAuthServerRef(name string) *RemotePr... method WithOIDCConfigRef (line 121) | func (rb *RemoteProxyBuilder) WithOIDCConfigRef(name, resourceURL stri... method WithToolConfigRef (line 131) | func (rb *RemoteProxyBuilder) WithToolConfigRef(name string) *RemotePr... method WithGroupRef (line 139) | func (rb *RemoteProxyBuilder) WithGroupRef(name string) *RemoteProxyBu... method WithRemoteURL (line 145) | func (rb *RemoteProxyBuilder) WithRemoteURL(url string) *RemoteProxyBu... method WithInlineAuthzConfig (line 151) | func (rb *RemoteProxyBuilder) WithInlineAuthzConfig(policies []string)... method WithAuthzConfigMapRef (line 162) | func (rb *RemoteProxyBuilder) WithAuthzConfigMapRef(name, key string) ... method WithHeaderFromSecret (line 174) | func (rb *RemoteProxyBuilder) WithHeaderFromSecret( method Build (line 193) | func (rb *RemoteProxyBuilder) Build() *mcpv1beta1.MCPRemoteProxy { method Create (line 198) | func (rb *RemoteProxyBuilder) Create(h *MCPRemoteProxyTestHelper) *mcp... FILE: cmd/thv-operator/test-integration/mcp-remote-proxy/status_helpers.go type RemoteProxyStatusTestHelper (line 19) | type RemoteProxyStatusTestHelper struct method WaitForPhaseAny (line 33) | func (h *RemoteProxyStatusTestHelper) WaitForPhaseAny( method WaitForURL (line 51) | func (h *RemoteProxyStatusTestHelper) WaitForURL(proxyName string, tim... method WaitForPhase (line 63) | func (h *RemoteProxyStatusTestHelper) WaitForPhase( method WaitForCondition (line 77) | func (h *RemoteProxyStatusTestHelper) WaitForCondition( method WaitForConditionReason (line 91) | func (h *RemoteProxyStatusTestHelper) WaitForConditionReason( function NewRemoteProxyStatusTestHelper (line 24) | func NewRemoteProxyStatusTestHelper( FILE: cmd/thv-operator/test-integration/mcp-remote-proxy/suite_test.go function TestControllers (line 44) | func TestControllers(t *testing.T) { FILE: cmd/thv-operator/test-integration/mcp-server/mcpserver_cel_validation_integration_test.go function newMinimalMCPServer (line 16) | func newMinimalMCPServer(name string, authz *mcpv1beta1.AuthzConfigRef) ... FILE: cmd/thv-operator/test-integration/mcp-server/mcpserver_controller_integration_test.go function verifyOwnerReference (line 1246) | func verifyOwnerReference(ownerRefs []metav1.OwnerReference, mcpServer *... function getExpectedRunnerImage (line 1260) | func getExpectedRunnerImage() string { FILE: cmd/thv-operator/test-integration/mcp-server/mcpserver_sessionstorage_cel_test.go function newMCPServerWithSessionStorage (line 14) | func newMCPServerWithSessionStorage(name string, ss *mcpv1beta1.SessionS... FILE: cmd/thv-operator/test-integration/mcp-server/suite_test.go function TestControllers (line 44) | func TestControllers(t *testing.T) { FILE: cmd/thv-operator/test-integration/mcp-telemetry-config/mcptelemetryconfig_controller_integration_test.go constant testEndpoint (line 18) | testEndpoint = "https://otel-collector:4317" constant telemetryFinalizerName (line 19) | telemetryFinalizerName = "mcptelemetryconfig.toolhive.stacklok.dev/final... constant timeout (line 20) | timeout = time.Second * 30 constant interval (line 21) | interval = time.Millisecond * 250 FILE: cmd/thv-operator/test-integration/mcp-telemetry-config/suite_test.go function TestControllers (line 38) | func TestControllers(t *testing.T) { FILE: cmd/thv-operator/test-integration/mcp-toolconfig/mcptoolconfig_controller_integration_test.go constant timeout (line 22) | timeout = 30 * time.Second constant interval (line 23) | interval = 1 * time.Second constant testConfigName (line 24) | testConfigName = "test-config" constant testServerName (line 25) | testServerName = "test-server" constant testImage (line 26) | testImage = "test-image:latest" constant toolConfigFinalizer (line 27) | toolConfigFinalizer = "toolhive.stacklok.dev/toolconfig-finalizer" FILE: cmd/thv-operator/test-integration/mcp-toolconfig/suite_test.go function TestMCPToolConfig (line 41) | func TestMCPToolConfig(t *testing.T) { FILE: cmd/thv-operator/test-integration/virtualmcp/suite_test.go function TestControllers (line 44) | func TestControllers(t *testing.T) { FILE: cmd/thv-operator/test-integration/virtualmcp/virtualmcpserver_imagepullsecrets_integration_test.go function extractSecretNames (line 26) | func extractSecretNames(refs []corev1.LocalObjectReference) []string { FILE: cmd/thv-operator/test-integration/virtualmcp/virtualmcpserver_sessionstorage_cel_test.go function newVirtualMCPServerWithSessionStorage (line 16) | func newVirtualMCPServerWithSessionStorage(name string, ss *mcpv1beta1.S... FILE: cmd/thv-proxyrunner/app/commands.go function NewRootCmd (line 30) | func NewRootCmd() *cobra.Command { FILE: cmd/thv-proxyrunner/app/run.go function NewRunCmd (line 26) | func NewRunCmd() *cobra.Command { type proxyRunFlags (line 54) | type proxyRunFlags struct function addRunFlags (line 58) | func addRunFlags(runCmd *cobra.Command, runFlags *proxyRunFlags) { function init (line 71) | func init() { function runCmdFunc (line 76) | func runCmdFunc(cmd *cobra.Command, args []string) error { constant kubernetesRunConfigPath (line 115) | kubernetesRunConfigPath = "/etc/runconfig/runconfig.json" constant systemRunConfigPath (line 116) | systemRunConfigPath = "/etc/toolhive/runconfig.json" constant localRunConfigPath (line 117) | localRunConfigPath = "./runconfig.json" function tryLoadConfigFromFile (line 121) | func tryLoadConfigFromFile() (*runner.RunConfig, error) { function runWithFileBasedConfig (line 165) | func runWithFileBasedConfig( FILE: cmd/thv-proxyrunner/main.go function main (line 20) | func main() { FILE: cmd/thv/app/auth_flags.go constant envTokenExchangeClientSecret (line 22) | envTokenExchangeClientSecret = "TOOLHIVE_TOKEN_EXCHANGE_CLIENT_SECRET" function readSecretFromFile (line 26) | func readSecretFromFile(filePath string) (string, error) { function resolveSecret (line 45) | func resolveSecret(flagValue, filePath, envVarName string) (string, erro... type RemoteAuthFlags (line 69) | type RemoteAuthFlags struct method BuildTokenExchangeConfig (line 102) | func (f *RemoteAuthFlags) BuildTokenExchangeConfig() (*tokenexchange.C... function AddRemoteAuthFlags (line 151) | func AddRemoteAuthFlags(cmd *cobra.Command, config *RemoteAuthFlags) { FILE: cmd/thv/app/build.go type BuildFlags (line 61) | type BuildFlags struct function init (line 67) | func init() { function AddBuildFlags (line 73) | func AddBuildFlags(cmd *cobra.Command, config *BuildFlags) { function buildCmdFunc (line 82) | func buildCmdFunc(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/client.go function init (line 77) | func init() { function clientStatusCmdFunc (line 92) | func clientStatusCmdFunc(cmd *cobra.Command, _ []string) error { function clientSetupCmdFunc (line 100) | func clientSetupCmdFunc(cmd *cobra.Command, _ []string) error { function getAvailableClients (line 150) | func getAvailableClients(statuses []client.ClientAppStatus) []client.Cli... function registerSelectedClients (line 161) | func registerSelectedClients(cmd *cobra.Command, clientsToRegister []cli... function clientRegisterCmdFunc (line 170) | func clientRegisterCmdFunc(cmd *cobra.Command, args []string) error { function clientRemoveCmdFunc (line 181) | func clientRemoveCmdFunc(cmd *cobra.Command, args []string) error { function listRegisteredClientsCmdFunc (line 192) | func listRegisteredClientsCmdFunc(cmd *cobra.Command, _ []string) error { function performClientRegistration (line 225) | func performClientRegistration(ctx context.Context, clients []client.Cli... function registerClientsWithGroups (line 249) | func registerClientsWithGroups( function registerClientsGlobally (line 288) | func registerClientsGlobally( function performClientRemoval (line 322) | func performClientRemoval(ctx context.Context, clientToRemove client.Cli... function removeClientFromGroups (line 350) | func removeClientFromGroups( function removeClientGlobally (line 383) | func removeClientGlobally( FILE: cmd/thv/app/commands.go function NewRootCmd (line 50) | func NewRootCmd(enableUpdates bool) *cobra.Command { function IsCompletionCommand (line 91) | func IsCompletionCommand(args []string) bool { function IsInformationalCommand (line 99) | func IsInformationalCommand(args []string) bool { function checkForUpdates (line 127) | func checkForUpdates() { FILE: cmd/thv/app/common.go function AddOIDCFlags (line 20) | func AddOIDCFlags(cmd *cobra.Command) { function GetStringFlagOrEmpty (line 33) | func GetStringFlagOrEmpty(cmd *cobra.Command, flagName string) string { function IsOIDCEnabled (line 43) | func IsOIDCEnabled(cmd *cobra.Command) bool { function SetSecretsProvider (line 54) | func SetSecretsProvider(ctx context.Context, provider secrets.ProviderTy... function completeMCPServerNames (line 97) | func completeMCPServerNames(cmd *cobra.Command, args []string, _ string)... function completeLogsArgs (line 129) | func completeLogsArgs(cmd *cobra.Command, args []string, _ string) ([]st... function workloadStatusIndicator (line 162) | func workloadStatusIndicator(status runtime.WorkloadStatus) string { function AddGroupFlag (line 178) | func AddGroupFlag(cmd *cobra.Command, groupVar *string, withShorthand bo... function AddAllFlag (line 188) | func AddAllFlag(cmd *cobra.Command, allVar *bool, withShorthand bool, de... function validateGroupFlag (line 198) | func validateGroupFlag() func(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/common_test.go function TestAddFormatFlag (line 12) | func TestAddFormatFlag(t *testing.T) { function TestAddGroupFlag (line 60) | func TestAddGroupFlag(t *testing.T) { function TestAddAllFlag (line 108) | func TestAddAllFlag(t *testing.T) { function TestGetStringFlagOrEmpty (line 164) | func TestGetStringFlagOrEmpty(t *testing.T) { function TestIsOIDCEnabled (line 205) | func TestIsOIDCEnabled(t *testing.T) { FILE: cmd/thv/app/config.go function init (line 103) | func init() { function setCACertCmdFunc (line 134) | func setCACertCmdFunc(_ *cobra.Command, args []string) error { function getCACertCmdFunc (line 146) | func getCACertCmdFunc(_ *cobra.Command, _ []string) error { function unsetCACertCmdFunc (line 164) | func unsetCACertCmdFunc(_ *cobra.Command, _ []string) error { function setRegistryCmdFunc (line 181) | func setRegistryCmdFunc(cmd *cobra.Command, args []string) error { function getRegistryCmdFunc (line 232) | func getRegistryCmdFunc(_ *cobra.Command, _ []string) error { function unsetRegistryCmdFunc (line 253) | func unsetRegistryCmdFunc(cmd *cobra.Command, _ []string) error { function enhanceRegistryError (line 283) | func enhanceRegistryError(err error, url, registryType string) error { function usageMetricsCmdFunc (line 334) | func usageMetricsCmdFunc(_ *cobra.Command, args []string) error { FILE: cmd/thv/app/config_buildauthfile.go function init (line 87) | func init() { function setBuildAuthFileCmdFunc (line 114) | func setBuildAuthFileCmdFunc(cmd *cobra.Command, args []string) error { function readFromStdin (line 163) | func readFromStdin() (string, error) { function getBuildAuthFileCmdFunc (line 186) | func getBuildAuthFileCmdFunc(cmd *cobra.Command, args []string) error { function unsetBuildAuthFileCmdFunc (line 251) | func unsetBuildAuthFileCmdFunc(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/config_buildenv.go function init (line 81) | func init() { function validateSecretExists (line 113) | func validateSecretExists(ctx context.Context, secretName string) error { function setBuildEnvCmdFunc (line 128) | func setBuildEnvCmdFunc(cmd *cobra.Command, args []string) error { type buildEnvEntry (line 179) | type buildEnvEntry struct method String (line 199) | func (e buildEnvEntry) String() string { function getAllBuildEnvEntries (line 184) | func getAllBuildEnvEntries(provider config.Provider) []buildEnvEntry { function getBuildEnvCmdFunc (line 210) | func getBuildEnvCmdFunc(_ *cobra.Command, args []string) error { function unsetBuildEnvCmdFunc (line 240) | func unsetBuildEnvCmdFunc(_ *cobra.Command, args []string) error { function unsetBuildEnvBySource (line 275) | func unsetBuildEnvBySource(provider config.Provider, key, source string)... FILE: cmd/thv/app/config_registryauth.go function init (line 49) | func init() { function setRegistryAuthCmdFunc (line 64) | func setRegistryAuthCmdFunc(cmd *cobra.Command, _ []string) error { function unsetRegistryAuthCmdFunc (line 82) | func unsetRegistryAuthCmdFunc(_ *cobra.Command, _ []string) error { FILE: cmd/thv/app/constants.go constant FormatJSON (line 9) | FormatJSON = "json" constant FormatText (line 11) | FormatText = "text" FILE: cmd/thv/app/export.go function newExportCmd (line 19) | func newExportCmd() *cobra.Command { function exportCmdFunc (line 51) | func exportCmdFunc(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/flag_helpers.go function AddFormatFlag (line 15) | func AddFormatFlag(cmd *cobra.Command, formatVar *string, allowedFormats... function ValidateFormat (line 26) | func ValidateFormat(formatVar *string, allowedFormats ...string) func(*c... function chainPreRunE (line 44) | func chainPreRunE(fns ...func(*cobra.Command, []string) error) func(*cob... FILE: cmd/thv/app/group.go constant mcpOptimizerGroup (line 26) | mcpOptimizerGroup = "__mcp-optimizer__" function validateGroupArg (line 71) | func validateGroupArg() func(cmd *cobra.Command, args []string) error { function init (line 85) | func init() { function groupCreateCmdFunc (line 95) | func groupCreateCmdFunc(cmd *cobra.Command, args []string) error { function groupListCmdFunc (line 107) | func groupListCmdFunc(cmd *cobra.Command, _ []string) error { function groupRmCmdFunc (line 150) | func groupRmCmdFunc(cmd *cobra.Command, args []string) error { function showWarningAndGetConfirmation (line 220) | func showWarningAndGetConfirmation(groupName string, groupWorkloads []co... function deleteWorkloadsInGroup (line 264) | func deleteWorkloadsInGroup( function moveWorkloadsToGroup (line 290) | func moveWorkloadsToGroup( function updateClientConfigurations (line 318) | func updateClientConfigurations(ctx context.Context, groupWorkloads []co... FILE: cmd/thv/app/header_flags.go function validateHeaderNames (line 20) | func validateHeaderNames(headers map[string]string) error { function parseHeaderForwardFlags (line 32) | func parseHeaderForwardFlags(headers []string) (map[string]string, error) { function parseHeaderString (line 53) | func parseHeaderString(header string) (string, string, error) { function parseHeaderSecretFlags (line 82) | func parseHeaderSecretFlags(secretHeaders []string) (map[string]string, ... function resolveHeaderSecrets (line 106) | func resolveHeaderSecrets(secretHeaders map[string]string) (map[string]s... FILE: cmd/thv/app/header_flags_test.go function TestParseHeaderString (line 13) | func TestParseHeaderString(t *testing.T) { function TestParseHeaderForwardFlags (line 112) | func TestParseHeaderForwardFlags(t *testing.T) { function TestValidateHeaderNames (line 172) | func TestValidateHeaderNames(t *testing.T) { function TestParseHeaderSecretFlagsRestrictedHeaders (line 226) | func TestParseHeaderSecretFlagsRestrictedHeaders(t *testing.T) { FILE: cmd/thv/app/inspector.go constant sseSuffix (line 30) | sseSuffix = "sse" function inspectorCommand (line 37) | func inspectorCommand() *cobra.Command { function buildInspectorContainerOptions (line 53) | func buildInspectorContainerOptions(uiPortStr string, mcpPortStr string)... function waitForInspectorReady (line 71) | func waitForInspectorReady(ctx context.Context, port int, statusChan cha... function inspectorCmdFunc (line 95) | func inspectorCmdFunc(cmd *cobra.Command, args []string) error { function getServerPortAndProxyMode (line 187) | func getServerPortAndProxyMode(ctx context.Context, serverName string) (... function cleanupInspectorContainer (line 213) | func cleanupInspectorContainer(ctx context.Context, name string) error { function buildInspectorURL (line 243) | func buildInspectorURL(uiPort int, proxyMode types.ProxyMode, serverPort... FILE: cmd/thv/app/inspector_test.go function TestBuildInspectorURL (line 12) | func TestBuildInspectorURL(t *testing.T) { FILE: cmd/thv/app/list.go function init (line 50) | func init() { function listCmdFunc (line 62) | func listCmdFunc(cmd *cobra.Command, _ []string) error { function printJSONOutput (line 106) | func printJSONOutput(workloadList []core.Workload) error { function printMCPServersOutput (line 128) | func printMCPServersOutput(workloadList []core.Workload) error { function printTextOutput (line 154) | func printTextOutput(workloadList []core.Workload) { FILE: cmd/thv/app/llm.go function newLLMCommand (line 25) | func newLLMCommand() *cobra.Command { function newConfigCommand (line 61) | func newConfigCommand() *cobra.Command { function newConfigSetCommand (line 75) | func newConfigSetCommand() *cobra.Command { function newConfigShowCommand (line 114) | func newConfigShowCommand() *cobra.Command { function newConfigResetCommand (line 144) | func newConfigResetCommand() *cobra.Command { function runLLMToken (line 168) | func runLLMToken(ctx context.Context) error { function buildLLMTokenSource (line 193) | func buildLLMTokenSource(cfg *llm.Config, interactive bool) (*llm.TokenS... function newLLMSetupCommand (line 215) | func newLLMSetupCommand() *cobra.Command { function oidcLogin (line 275) | func oidcLogin(ctx context.Context, cfg *llm.Config) error { function runLLMSetup (line 286) | func runLLMSetup( function newLLMTeardownCommand (line 294) | func newLLMTeardownCommand() *cobra.Command { function runLLMTeardown (line 333) | func runLLMTeardown( type clientManagerAdapter (line 359) | type clientManagerAdapter struct method DetectedLLMGatewayClients (line 361) | func (a *clientManagerAdapter) DetectedLLMGatewayClients() []string { method ConfigureLLMGateway (line 370) | func (a *clientManagerAdapter) ConfigureLLMGateway(clientType string, ... method LLMGatewayModeFor (line 374) | func (a *clientManagerAdapter) LLMGatewayModeFor(clientType string) st... method RevertLLMGateway (line 378) | func (a *clientManagerAdapter) RevertLLMGateway(clientType, configPath... type configUpdaterAdapter (line 383) | type configUpdaterAdapter struct method GetLLMConfig (line 385) | func (a *configUpdaterAdapter) GetLLMConfig() llm.Config { method UpdateLLMConfig (line 389) | func (a *configUpdaterAdapter) UpdateLLMConfig(fn func(*llm.Config) er... function newLLMProxyCommand (line 397) | func newLLMProxyCommand() *cobra.Command { function newLLMProxyStartCommand (line 406) | func newLLMProxyStartCommand() *cobra.Command { function runLLMProxyForeground (line 448) | func runLLMProxyForeground(ctx context.Context, llmCfg *llm.Config) error { function newLLMTokenCommand (line 464) | func newLLMTokenCommand() *cobra.Command { FILE: cmd/thv/app/llm_test.go function tempProvider (line 28) | func tempProvider(t *testing.T, cfg *config.Config) config.Provider { function llmProvider (line 39) | func llmProvider(t *testing.T, llmCfg llm.Config) config.Provider { type errOnUpdateProvider (line 53) | type errOnUpdateProvider struct method GetConfig (line 59) | func (p *errOnUpdateProvider) GetConfig() *config.Config { return p.cfg } method UpdateConfig (line 60) | func (p *errOnUpdateProvider) UpdateConfig(_ func(*config.Config) erro... function TestRunLLMSetup_NotConfigured (line 66) | func TestRunLLMSetup_NotConfigured(t *testing.T) { function TestRunLLMSetup_NoDetectedTools (line 79) | func TestRunLLMSetup_NoDetectedTools(t *testing.T) { function TestRunLLMSetup_PartialFailure (line 106) | func TestRunLLMSetup_PartialFailure(t *testing.T) { function TestRunLLMSetup_RollbackOnConfigUpdateFailure (line 151) | func TestRunLLMSetup_RollbackOnConfigUpdateFailure(t *testing.T) { function TestRunLLMSetup_RollbackBothToolsOnConfigUpdateFailure (line 191) | func TestRunLLMSetup_RollbackBothToolsOnConfigUpdateFailure(t *testing.T) { function TestRunLLMSetup_LoginFailureLeavesNoState (line 248) | func TestRunLLMSetup_LoginFailureLeavesNoState(t *testing.T) { function TestRunLLMTeardown_NoConfiguredTools (line 293) | func TestRunLLMTeardown_NoConfiguredTools(t *testing.T) { function TestRunLLMTeardown_UnknownTool (line 305) | func TestRunLLMTeardown_UnknownTool(t *testing.T) { function TestRunLLMTeardown_AllTools (line 319) | func TestRunLLMTeardown_AllTools(t *testing.T) { function TestRunLLMTeardown_ConfigUpdateFailureLeavesFilesUntouched (line 356) | func TestRunLLMTeardown_ConfigUpdateFailureLeavesFilesUntouched(t *testi... function TestRunLLMTeardown_SingleTool (line 401) | func TestRunLLMTeardown_SingleTool(t *testing.T) { function TestRunLLMSetup_ClientFlag_ConfiguresSingleTool (line 441) | func TestRunLLMSetup_ClientFlag_ConfiguresSingleTool(t *testing.T) { function TestRunLLMSetup_ClientFlag_NotInstalled (line 489) | func TestRunLLMSetup_ClientFlag_NotInstalled(t *testing.T) { function TestRunLLMTeardown_ClientFlag_RevertsNamedTool (line 519) | func TestRunLLMTeardown_ClientFlag_RevertsNamedTool(t *testing.T) { function TestLLMTeardownCommand_ClientFlagAndPositionalArgMutuallyExclusive (line 562) | func TestLLMTeardownCommand_ClientFlagAndPositionalArgMutuallyExclusive(... FILE: cmd/thv/app/logs.go function logsCommand (line 31) | func logsCommand() *cobra.Command { function logsCmdFunc (line 92) | func logsCmdFunc(cmd *cobra.Command, args []string) error { function logsPruneCmdFunc (line 138) | func logsPruneCmdFunc(cmd *cobra.Command) error { function getLogsDirectory (line 167) | func getLogsDirectory() (string, error) { function getManagedContainerNames (line 181) | func getManagedContainerNames(ctx context.Context) (map[string]bool, err... function getLogFiles (line 203) | func getLogFiles(logsDir string) ([]string, error) { function pruneOrphanedLogFiles (line 216) | func pruneOrphanedLogFiles(logFiles []string, managedNames map[string]bo... function reportPruneResults (line 237) | func reportPruneResults(prunedFiles, errs []string) { function getProxyLogs (line 256) | func getProxyLogs(ctx context.Context, workloadName string) error { function followProxyLogFile (line 276) | func followProxyLogFile(ctx context.Context, logFilePath string) error { FILE: cmd/thv/app/mcp.go function newMCPCommand (line 30) | func newMCPCommand() *cobra.Command { function addMCPFlags (line 87) | func addMCPFlags(cmd *cobra.Command) { function mcpListCmdFunc (line 97) | func mcpListCmdFunc(cmd *cobra.Command, _ []string) error { function mcpListToolsCmdFunc (line 149) | func mcpListToolsCmdFunc(cmd *cobra.Command, _ []string) error { function mcpListResourcesCmdFunc (line 179) | func mcpListResourcesCmdFunc(cmd *cobra.Command, _ []string) error { function mcpListPromptsCmdFunc (line 209) | func mcpListPromptsCmdFunc(cmd *cobra.Command, _ []string) error { function resolveServerURL (line 239) | func resolveServerURL(ctx context.Context, serverInput string) (string, ... function outputMCPData (line 268) | func outputMCPData(data map[string]interface{}, format string) error { function outputMCPJSON (line 278) | func outputMCPJSON(data map[string]interface{}) error { function outputMCPText (line 288) | func outputMCPText(data map[string]interface{}) error { function outputMCPTools (line 304) | func outputMCPTools(w *tabwriter.Writer, data map[string]interface{}) bo... function outputMCPResources (line 331) | func outputMCPResources(w *tabwriter.Writer, data map[string]interface{}... function outputMCPPrompts (line 358) | func outputMCPPrompts(w *tabwriter.Writer, data map[string]interface{}) ... function formatPromptArguments (line 385) | func formatPromptArguments(arguments []mcp.PromptArgument) string { FILE: cmd/thv/app/mcp_serve.go function newMCPServeCommand (line 24) | func newMCPServeCommand() *cobra.Command { function mcpServeCmdFunc (line 50) | func mcpServeCmdFunc(cmd *cobra.Command, _ []string) error { FILE: cmd/thv/app/otel.go function init (line 204) | func init() { function setOtelEndpointCmdFunc (line 229) | func setOtelEndpointCmdFunc(_ *cobra.Command, args []string) error { function getOtelEndpointCmdFunc (line 250) | func getOtelEndpointCmdFunc(_ *cobra.Command, _ []string) error { function unsetOtelEndpointCmdFunc (line 263) | func unsetOtelEndpointCmdFunc(_ *cobra.Command, _ []string) error { function setOtelSamplingRateCmdFunc (line 285) | func setOtelSamplingRateCmdFunc(_ *cobra.Command, args []string) error { function getOtelSamplingRateCmdFunc (line 309) | func getOtelSamplingRateCmdFunc(_ *cobra.Command, _ []string) error { function unsetOtelSamplingRateCmdFunc (line 322) | func unsetOtelSamplingRateCmdFunc(_ *cobra.Command, _ []string) error { function setOtelEnvVarsCmdFunc (line 344) | func setOtelEnvVarsCmdFunc(_ *cobra.Command, args []string) error { function getOtelEnvVarsCmdFunc (line 365) | func getOtelEnvVarsCmdFunc(_ *cobra.Command, _ []string) error { function unsetOtelEnvVarsCmdFunc (line 378) | func unsetOtelEnvVarsCmdFunc(_ *cobra.Command, _ []string) error { function setOtelMetricsEnabledCmdFunc (line 400) | func setOtelMetricsEnabledCmdFunc(_ *cobra.Command, args []string) error { function getOtelMetricsEnabledCmdFunc (line 419) | func getOtelMetricsEnabledCmdFunc(_ *cobra.Command, _ []string) error { function unsetOtelMetricsEnabledCmdFunc (line 428) | func unsetOtelMetricsEnabledCmdFunc(_ *cobra.Command, _ []string) error { function setOtelTracingEnabledCmdFunc (line 450) | func setOtelTracingEnabledCmdFunc(_ *cobra.Command, args []string) error { function getOtelTracingEnabledCmdFunc (line 469) | func getOtelTracingEnabledCmdFunc(_ *cobra.Command, _ []string) error { function unsetOtelTracingEnabledCmdFunc (line 478) | func unsetOtelTracingEnabledCmdFunc(_ *cobra.Command, _ []string) error { function setOtelInsecureCmdFunc (line 500) | func setOtelInsecureCmdFunc(_ *cobra.Command, args []string) error { function getOtelInsecureCmdFunc (line 519) | func getOtelInsecureCmdFunc(_ *cobra.Command, _ []string) error { function unsetOtelInsecureCmdFunc (line 527) | func unsetOtelInsecureCmdFunc(_ *cobra.Command, _ []string) error { function setOtelEnablePrometheusMetricsPathCmdFunc (line 549) | func setOtelEnablePrometheusMetricsPathCmdFunc(_ *cobra.Command, args []... function getOtelEnablePrometheusMetricsPathCmdFunc (line 568) | func getOtelEnablePrometheusMetricsPathCmdFunc(_ *cobra.Command, _ []str... function unsetOtelEnablePrometheusMetricsPathCmdFunc (line 576) | func unsetOtelEnablePrometheusMetricsPathCmdFunc(_ *cobra.Command, _ []s... FILE: cmd/thv/app/proxy.go constant envOAuthClientSecret (line 130) | envOAuthClientSecret = "TOOLHIVE_REMOTE_OAUTH_CLIENT_SECRET" function init (line 133) | func init() { function proxyCmdFunc (line 169) | func proxyCmdFunc(cmd *cobra.Command, args []string) error { function getProxyOIDCConfig (line 296) | func getProxyOIDCConfig(cmd *cobra.Command) *auth.TokenValidatorConfig { function shouldHandleOutgoingAuth (line 316) | func shouldHandleOutgoingAuth() bool { function handleOutgoingAuthentication (line 325) | func handleOutgoingAuthentication(ctx context.Context) (*discovery.OAuth... function resolveClientSecret (line 418) | func resolveClientSecret() (string, error) { function createTokenInjectionMiddleware (line 427) | func createTokenInjectionMiddleware(tokenSource oauth2.TokenSource) type... function addExternalTokenMiddleware (line 432) | func addExternalTokenMiddleware(middlewares *[]types.NamedMiddleware, to... function addHeaderForwardMiddleware (line 475) | func addHeaderForwardMiddleware( function validateProxyTargetURI (line 518) | func validateProxyTargetURI(targetURI string) error { FILE: cmd/thv/app/proxy_stdio.go function proxyStdioCmdFunc (line 30) | func proxyStdioCmdFunc(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/proxy_tunnel.go function init (line 56) | func init() { function proxyTunnelCmdFunc (line 67) | func proxyTunnelCmdFunc(cmd *cobra.Command, args []string) error { function resolveTarget (line 107) | func resolveTarget(ctx context.Context, target string) (string, error) { function looksLikeURL (line 131) | func looksLikeURL(s string) bool { FILE: cmd/thv/app/registry.go function init (line 48) | func init() { function registryListCmdFunc (line 66) | func registryListCmdFunc(_ *cobra.Command, _ []string) error { function registryInfoCmdFunc (line 100) | func registryInfoCmdFunc(_ *cobra.Command, args []string) error { function printJSONServers (line 133) | func printJSONServers(servers []types.ServerMetadata) error { function printJSONServer (line 146) | func printJSONServer(server types.ServerMetadata) error { function printTextServers (line 158) | func printTextServers(servers []types.ServerMetadata) { constant ServerTypeRemote (line 197) | ServerTypeRemote = "remote" constant ServerTypeContainer (line 198) | ServerTypeContainer = "container" function getServerType (line 202) | func getServerType(server types.ServerMetadata) string { function printTextServerInfo (line 211) | func printTextServerInfo(name string, server types.ServerMetadata) { function truncateString (line 367) | func truncateString(s string, maxLen int) string { FILE: cmd/thv/app/registry_convert.go function init (line 37) | func init() { function registryConvertPreRunE (line 47) | func registryConvertPreRunE(_ *cobra.Command, _ []string) error { function registryConvertCmdFunc (line 60) | func registryConvertCmdFunc(cmd *cobra.Command, _ []string) error { function readConvertInput (line 78) | func readConvertInput() ([]byte, error) { function writeConvertOutput (line 94) | func writeConvertOutput(original, output []byte) error { function writeInPlace (line 116) | func writeInPlace(path string, original, output []byte, backup bool) err... FILE: cmd/thv/app/registry_convert_test.go function TestRegistryConvertPreRunE (line 18) | func TestRegistryConvertPreRunE(t *testing.T) { function TestWriteInPlace (line 61) | func TestWriteInPlace(t *testing.T) { FILE: cmd/thv/app/registry_login.go function init (line 39) | func init() { function registryLoginCmdFunc (line 51) | func registryLoginCmdFunc(cmd *cobra.Command, _ []string) error { function newSecretsProvider (line 70) | func newSecretsProvider(configProvider config.Provider) (secrets.Provide... FILE: cmd/thv/app/registry_logout.go function init (line 20) | func init() { function registryLogoutCmdFunc (line 24) | func registryLogoutCmdFunc(cmd *cobra.Command, _ []string) error { FILE: cmd/thv/app/restart.go function init (line 35) | func init() { function restartCmdFunc (line 47) | func restartCmdFunc(cmd *cobra.Command, args []string) error { function restartAllContainers (line 93) | func restartAllContainers(ctx context.Context, workloadManager workloads... function restartWorkloadsByGroup (line 114) | func restartWorkloadsByGroup(ctx context.Context, workloadManager worklo... function restartMultipleWorkloads (line 145) | func restartMultipleWorkloads( FILE: cmd/thv/app/rm.go function init (line 42) | func init() { function validateRmArgs (line 53) | func validateRmArgs(cmd *cobra.Command, args []string) error { function rmCmdFunc (line 78) | func rmCmdFunc(cmd *cobra.Command, args []string) error { function deleteAllWorkloads (line 110) | func deleteAllWorkloads(ctx context.Context) error { function deleteAllWorkloadsInGroup (line 148) | func deleteAllWorkloadsInGroup(ctx context.Context, groupName string) er... FILE: cmd/thv/app/run.go function init (line 139) | func init() { function cleanupAndWait (line 154) | func cleanupAndWait(workloadManager workloads.Manager, name string) { function runCmdFunc (line 172) | func runCmdFunc(cmd *cobra.Command, args []string) error { function runSingleServer (line 213) | func runSingleServer(ctx context.Context, runFlags *RunFlags, serverOrIm... function deriveRemoteName (line 267) | func deriveRemoteName(remoteURL string) (string, error) { function getworkloadDefaultName (line 290) | func getworkloadDefaultName(_ context.Context, serverOrImage string) str... function runForeground (line 334) | func runForeground(ctx context.Context, workloadManager workloads.Manage... function validateGroup (line 358) | func validateGroup(ctx context.Context, workloadsManager workloads.Manag... function parseCommandArguments (line 406) | func parseCommandArguments(args []string) []string { function ValidateAndNormaliseHostFlag (line 419) | func ValidateAndNormaliseHostFlag(host string) (string, error) { function runFromConfigFile (line 447) | func runFromConfigFile(ctx context.Context) error { function validateRunFlags (line 506) | func validateRunFlags(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/run_flags.go constant defaultTransportType (line 37) | defaultTransportType = "streamable-http" type RunFlags (line 41) | type RunFlags struct function AddRunFlags (line 150) | func AddRunFlags(cmd *cobra.Command, config *RunFlags) { function BuildRunnerConfig (line 304) | func BuildRunnerConfig( function setupOIDCConfiguration (line 395) | func setupOIDCConfiguration(cmd *cobra.Command, runFlags *RunFlags) (*au... function setupTelemetryConfiguration (line 414) | func setupTelemetryConfiguration(cmd *cobra.Command, runFlags *RunFlags,... function setupRuntimeAndValidation (line 430) | func setupRuntimeAndValidation( function handleImageResolution (line 450) | func handleImageResolution( function validateAndSetupProxyMode (line 499) | func validateAndSetupProxyMode(runFlags *RunFlags) error { function resolveTransportType (line 513) | func resolveTransportType(runFlags *RunFlags, serverMetadata regtypes.Se... function resolveServerName (line 526) | func resolveServerName(runFlags *RunFlags, serverMetadata regtypes.Serve... function loadToolsOverrideConfig (line 537) | func loadToolsOverrideConfig(toolsOverridePath string) (map[string]runne... function loadAndMergeWebhookConfigs (line 551) | func loadAndMergeWebhookConfigs(paths []string) (*webhook.FileConfig, er... function configureRemoteHeaderOptions (line 568) | func configureRemoteHeaderOptions(runFlags *RunFlags) ([]runner.RunConfi... function configureRuntimeOptions (line 599) | func configureRuntimeOptions(runFlags *RunFlags) ([]runner.RunConfigBuil... function buildRunnerConfig (line 615) | func buildRunnerConfig( function configureMiddlewareAndOptions (line 733) | func configureMiddlewareAndOptions( function configureRemoteAuth (line 831) | func configureRemoteAuth(runFlags *RunFlags, serverMetadata regtypes.Ser... function extractOIDCValues (line 866) | func extractOIDCValues( function extractTelemetryValues (line 877) | func extractTelemetryValues(config *telemetry.Config) (string, float64, ... function getRemoteAuthFromRemoteServerMetadata (line 886) | func getRemoteAuthFromRemoteServerMetadata( function getRemoteAuthFromRunFlags (line 984) | func getRemoteAuthFromRunFlags(runFlags *RunFlags) (*remote.Config, erro... function getOidcFromFlags (line 1044) | func getOidcFromFlags(cmd *cobra.Command) (string, string, string, strin... type finalTelemetry (line 1058) | type finalTelemetry struct function getTelemetryFromFlags (line 1070) | func getTelemetryFromFlags(cmd *cobra.Command, config *cfg.Config, otelE... function createOIDCConfig (line 1131) | func createOIDCConfig(oidcIssuer, oidcAudience, oidcJwksURL, oidcIntrosp... function createTelemetryConfig (line 1151) | func createTelemetryConfig(otelEndpoint string, otelEnablePrometheusMetr... FILE: cmd/thv/app/run_flags_test.go function boolPtr (line 24) | func boolPtr(b bool) *bool { return &b } function createTestConfigProvider (line 27) | func createTestConfigProvider(t *testing.T, cfg *config.Config) (config.... function TestBuildRunnerConfig_TelemetryProcessing (line 55) | func TestBuildRunnerConfig_TelemetryProcessing(t *testing.T) { function TestTelemetryMiddlewareParameterComputation (line 387) | func TestTelemetryMiddlewareParameterComputation(t *testing.T) { function TestBuildRunnerConfig_TelemetryProcessing_Integration (line 478) | func TestBuildRunnerConfig_TelemetryProcessing_Integration(t *testing.T) { function TestCreateTelemetryConfig_DisabledSignals (line 531) | func TestCreateTelemetryConfig_DisabledSignals(t *testing.T) { function TestResolveTransportType (line 599) | func TestResolveTransportType(t *testing.T) { function TestSetupTelemetryConfiguration_LoadOrCreateConfigPath (line 655) | func TestSetupTelemetryConfiguration_LoadOrCreateConfigPath(t *testing.T) { function TestResolveServerName (line 696) | func TestResolveServerName(t *testing.T) { function TestLoadAndMergeWebhookConfigs (line 746) | func TestLoadAndMergeWebhookConfigs(t *testing.T) { FILE: cmd/thv/app/run_test.go function TestDeriveRemoteName (line 10) | func TestDeriveRemoteName(t *testing.T) { FILE: cmd/thv/app/runtime.go function init (line 35) | func init() { function runtimeCheckCmdFunc (line 42) | func runtimeCheckCmdFunc(cmd *cobra.Command, _ []string) error { function createWithTimeout (line 70) | func createWithTimeout(ctx context.Context) (runtime.Runtime, error) { function pingRuntime (line 91) | func pingRuntime(ctx context.Context, rt runtime.Runtime) error { FILE: cmd/thv/app/search.go function init (line 31) | func init() { function searchCmdFunc (line 39) | func searchCmdFunc(_ *cobra.Command, args []string) error { function printJSONSearchResults (line 71) | func printJSONSearchResults(servers []types.ServerMetadata) error { function printTextSearchResults (line 84) | func printTextSearchResults(servers []types.ServerMetadata) { function truncateSearchString (line 123) | func truncateSearchString(s string, maxLen int) string { FILE: cmd/thv/app/secret.go function newSecretCommand (line 24) | func newSecretCommand() *cobra.Command { function newSecretProviderCommand (line 48) | func newSecretProviderCommand() *cobra.Command { function newSecretSetupCommand (line 71) | func newSecretSetupCommand() *cobra.Command { function newSecretSetCommand (line 93) | func newSecretSetCommand() *cobra.Command { function newSecretGetCommand (line 190) | func newSecretGetCommand() *cobra.Command { function newSecretDeleteCommand (line 227) | func newSecretDeleteCommand() *cobra.Command { function newSecretListCommand (line 303) | func newSecretListCommand() *cobra.Command { function newSecretResetKeyringCommand (line 373) | func newSecretResetKeyringCommand() *cobra.Command { function getSecretsManager (line 403) | func getSecretsManager() (secrets.Provider, error) { function runSecretsSetup (line 407) | func runSecretsSetup(cmd *cobra.Command, _ []string) error { function runSystemSecretList (line 486) | func runSystemSecretList(ctx context.Context, provider secrets.Provider,... function runSystemSecretDelete (line 519) | func runSystemSecretDelete(ctx context.Context, provider secrets.Provide... function formatSystemSecretEntry (line 529) | func formatSystemSecretEntry(key string) string { function validateSystemKeyName (line 535) | func validateSystemKeyName(name string) error { function warnWorkloadsUsingSecret (line 544) | func warnWorkloadsUsingSecret(ctx context.Context, secretName string) { FILE: cmd/thv/app/secret_test.go function TestFormatSystemSecretEntry (line 22) | func TestFormatSystemSecretEntry(t *testing.T) { function TestValidateSystemKeyName (line 61) | func TestValidateSystemKeyName(t *testing.T) { function TestRunSystemSecretList (line 117) | func TestRunSystemSecretList(t *testing.T) { function TestRunSystemSecretDelete (line 195) | func TestRunSystemSecretDelete(t *testing.T) { function newTestEncryptedProvider (line 240) | func newTestEncryptedProvider(t *testing.T) secrets.Provider { function TestRunSystemSecretListIntegration (line 256) | func TestRunSystemSecretListIntegration(t *testing.T) { function TestRunSystemSecretDeleteIntegration (line 279) | func TestRunSystemSecretDeleteIntegration(t *testing.T) { FILE: cmd/thv/app/server.go function init (line 190) | func init() { FILE: cmd/thv/app/skill_build.go function init (line 30) | func init() { function skillBuildCmdFunc (line 36) | func skillBuildCmdFunc(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/skill_builds.go function init (line 29) | func init() { function skillBuildsCmdFunc (line 35) | func skillBuildsCmdFunc(cmd *cobra.Command, _ []string) error { function printSkillBuildsText (line 64) | func printSkillBuildsText(builds []skills.LocalBuild) { FILE: cmd/thv/app/skill_builds_remove.go function init (line 20) | func init() { function skillBuildsRemoveCmdFunc (line 24) | func skillBuildsRemoveCmdFunc(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/skill_helpers.go function newSkillClient (line 19) | func newSkillClient(ctx context.Context) *skillclient.Client { function completeSkillNames (line 24) | func completeSkillNames(cmd *cobra.Command, args []string, _ string) ([]... function formatSkillError (line 44) | func formatSkillError(action string, err error) error { function validateSkillScope (line 52) | func validateSkillScope(scopeVar *string) func(*cobra.Command, []string)... function validateProjectRootForScope (line 60) | func validateProjectRootForScope(scopeVar, projectRootVar *string) func(... FILE: cmd/thv/app/skill_info.go function init (line 37) | func init() { function skillInfoCmdFunc (line 45) | func skillInfoCmdFunc(cmd *cobra.Command, args []string) error { function printSkillInfoText (line 71) | func printSkillInfoText(info *skills.SkillInfo) { FILE: cmd/thv/app/skill_install.go function init (line 36) | func init() { function skillInstallCmdFunc (line 47) | func skillInstallCmdFunc(cmd *cobra.Command, args []string) error { function parseSkillInstallClients (line 67) | func parseSkillInstallClients(raw string) []string { FILE: cmd/thv/app/skill_list.go function init (line 39) | func init() { function skillListCmdFunc (line 49) | func skillListCmdFunc(cmd *cobra.Command, _ []string) error { function printSkillListText (line 87) | func printSkillListText(installed []skills.InstalledSkill) { FILE: cmd/thv/app/skill_push.go function init (line 20) | func init() { function skillPushCmdFunc (line 24) | func skillPushCmdFunc(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/skill_uninstall.go function init (line 30) | func init() { function skillUninstallCmdFunc (line 41) | func skillUninstallCmdFunc(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/skill_validate.go function init (line 28) | func init() { function skillValidateCmdFunc (line 34) | func skillValidateCmdFunc(cmd *cobra.Command, args []string) error { FILE: cmd/thv/app/status.go function init (line 31) | func init() { function statusCmdFunc (line 35) | func statusCmdFunc(cmd *cobra.Command, args []string) error { function printStatusJSONOutput (line 61) | func printStatusJSONOutput(workload core.Workload) error { function printStatusTextOutput (line 100) | func printStatusTextOutput(workload core.Workload) { function formatUptime (line 134) | func formatUptime(d time.Duration) string { FILE: cmd/thv/app/status_test.go function captureStdout (line 21) | func captureStdout(t *testing.T, f func()) string { function TestPrintStatusTextOutput (line 44) | func TestPrintStatusTextOutput(t *testing.T) { function TestPrintStatusJSONOutput (line 149) | func TestPrintStatusJSONOutput(t *testing.T) { FILE: cmd/thv/app/stop.go function init (line 45) | func init() { function validateStopArgs (line 57) | func validateStopArgs(cmd *cobra.Command, args []string) error { function stopCmdFunc (line 81) | func stopCmdFunc(cmd *cobra.Command, args []string) error { function stopAllWorkloads (line 119) | func stopAllWorkloads(ctx context.Context, workloadManager workloads.Man... function stopWorkloadsByGroup (line 150) | func stopWorkloadsByGroup(ctx context.Context, workloadManager workloads... FILE: cmd/thv/app/tui.go function tuiCmdFunc (line 52) | func tuiCmdFunc(cmd *cobra.Command, _ []string) error { FILE: cmd/thv/app/ui/clients_setup.go type setupStep (line 25) | type setupStep constant stepGroupSelection (line 28) | stepGroupSelection setupStep = iota constant stepClientSelection (line 29) | stepClientSelection type setupModel (line 32) | type setupModel struct method Init (line 48) | func (*setupModel) Init() tea.Cmd { return nil } method Update (line 50) | func (m *setupModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { method getMaxCursorPosition (line 108) | func (m *setupModel) getMaxCursorPosition() int { method View (line 115) | func (m *setupModel) View() string { method selectedGroups (line 143) | func (m *setupModel) selectedGroups() []*groups.Group { method filterClientsBySelectedGroups (line 157) | func (m *setupModel) filterClientsBySelectedGroups() { method sortedSelectedGroupNames (line 167) | func (m *setupModel) sortedSelectedGroupNames() []string { function renderGroupRow (line 177) | func renderGroupRow(m *setupModel, i int, group *groups.Group) string { function renderClientRow (line 193) | func renderClientRow(m *setupModel, i int, cli client.ClientAppStatus) s... function RunClientSetup (line 210) | func RunClientSetup( FILE: cmd/thv/app/ui/clients_setup_test.go function TestSetupModelUpdate_GroupToClientTransition (line 17) | func TestSetupModelUpdate_GroupToClientTransition(t *testing.T) { function TestSetupModelUpdate_ClientSelection (line 102) | func TestSetupModelUpdate_ClientSelection(t *testing.T) { FILE: cmd/thv/app/ui/clients_status.go function RenderClientStatusTable (line 19) | func RenderClientStatusTable(clientStatuses []client.ClientAppStatus) er... type RegisteredClient (line 71) | type RegisteredClient struct function RenderRegisteredClientsTable (line 77) | func RenderRegisteredClientsTable(registeredClients []RegisteredClient, ... FILE: cmd/thv/app/ui/help.go type commandEntry (line 17) | type commandEntry struct type helpSection (line 23) | type helpSection struct function RenderHelp (line 81) | func RenderHelp(cmd *cobra.Command) { function RenderCommandUsage (line 192) | func RenderCommandUsage(cmd *cobra.Command) { function renderParentHelp (line 230) | func renderParentHelp(cmd *cobra.Command) { FILE: cmd/thv/app/ui/log_handler.go type TUILogHandler (line 21) | type TUILogHandler struct method Enabled (line 32) | func (h *TUILogHandler) Enabled(_ context.Context, level slog.Level) b... method Handle (line 37) | func (h *TUILogHandler) Handle(_ context.Context, r slog.Record) error { method WithAttrs (line 59) | func (h *TUILogHandler) WithAttrs(_ []slog.Attr) slog.Handler { return... method WithGroup (line 64) | func (h *TUILogHandler) WithGroup(_ string) slog.Handler { return h } function NewTUILogHandler (line 27) | func NewTUILogHandler(ch chan<- string, level slog.Level) *TUILogHandler { FILE: cmd/thv/app/ui/selected_groups_test.go function TestSelectedGroups_BoundsCheck (line 16) | func TestSelectedGroups_BoundsCheck(t *testing.T) { function TestFilterClientsBySelectedGroups_OutOfBoundsIndices (line 70) | func TestFilterClientsBySelectedGroups_OutOfBoundsIndices(t *testing.T) { FILE: cmd/thv/app/ui/spinner.go type Spinner (line 18) | type Spinner struct method Start (line 40) | func (s *Spinner) Start() { method Checkpoint (line 84) | func (s *Spinner) Checkpoint(doneMsg string) { method Update (line 92) | func (s *Spinner) Update(msg string) { method Stop (line 99) | func (s *Spinner) Stop(successMsg string) { method Fail (line 111) | func (s *Spinner) Fail(errMsg string) { function NewSpinner (line 30) | func NewSpinner(msg string) *Spinner { function printCheckpoint (line 76) | func printCheckpoint(doneMsg string) { FILE: cmd/thv/app/ui/styles.go constant PillWidth (line 81) | PillWidth = 13 function RenderStatusDot (line 84) | func RenderStatusDot(status rt.WorkloadStatus) string { function RenderStatusPill (line 111) | func RenderStatusPill(status rt.WorkloadStatus) string { function RenderGroupChip (line 139) | func RenderGroupChip(group string) string { function RenderKey (line 150) | func RenderKey(key string) string { function RenderPort (line 155) | func RenderPort(port string) string { function RenderDim (line 160) | func RenderDim(s string) string { function RenderText (line 165) | func RenderText(s string) string { function VisibleLen (line 171) | func VisibleLen(s string) int { function PadToWidth (line 198) | func PadToWidth(s string, w int) string { function RenderServerTypeBadge (line 207) | func RenderServerTypeBadge(isRemote bool) string { function RenderTierBadge (line 223) | func RenderTierBadge(tier string) string { function RenderStars (line 251) | func RenderStars(n int) string { function RenderLogLine (line 259) | func RenderLogLine(line string) string { function containsLevel (line 276) | func containsLevel(upper string, levels ...string) bool { function RenderSection (line 291) | func RenderSection(title string) string { function PadLeftToWidth (line 297) | func PadLeftToWidth(s string, w int) string { FILE: cmd/thv/app/version.go function newVersionCmd (line 17) | func newVersionCmd() *cobra.Command { function printVersionInfo (line 52) | func printVersionInfo(info versions.VersionInfo) { function printJSONVersionInfo (line 64) | func printJSONVersionInfo(info versions.VersionInfo) { FILE: cmd/thv/app/vmcp.go function newVMCPCommand (line 16) | func newVMCPCommand() *cobra.Command { function newVMCPServeCommand (line 31) | func newVMCPServeCommand() *cobra.Command { function newVMCPInitCommand (line 87) | func newVMCPInitCommand() *cobra.Command { function newVMCPValidateCommand (line 125) | func newVMCPValidateCommand() *cobra.Command { FILE: cmd/thv/app/vmcp_test.go function TestNewVMCPInitCommand_Flags (line 13) | func TestNewVMCPInitCommand_Flags(t *testing.T) { function TestNewVMCPInitCommand_GroupRequired (line 34) | func TestNewVMCPInitCommand_GroupRequired(t *testing.T) { function TestNewVMCPCommand_InitRegistered (line 45) | func TestNewVMCPCommand_InitRegistered(t *testing.T) { FILE: cmd/thv/main.go function main (line 25) | func main() { function setupSignalHandler (line 92) | func setupSignalHandler() context.Context { function cleanupStaleLockFiles (line 108) | func cleanupStaleLockFiles() { FILE: cmd/vmcp/app/commands.go function NewRootCmd (line 55) | func NewRootCmd() *cobra.Command { function newServeCmd (line 81) | func newServeCmd() *cobra.Command { function newVersionCmd (line 118) | func newVersionCmd() *cobra.Command { function newValidateCmd (line 130) | func newValidateCmd() *cobra.Command { FILE: cmd/vmcp/main.go function main (line 19) | func main() { FILE: docs/server/docs.go constant docTemplate (line 7) | docTemplate = `{ function init (line 7165) | func init() { FILE: pkg/api/docs.go function DocsRouter (line 13) | func DocsRouter() http.Handler { FILE: pkg/api/errors/handler.go type HandlerWithError (line 22) | type HandlerWithError function ErrorHandler (line 36) | func ErrorHandler(fn HandlerWithError) http.HandlerFunc { function isUpstreamStatus (line 79) | func isUpstreamStatus(code int) bool { FILE: pkg/api/errors/handler_test.go function TestErrorHandler (line 19) | func TestErrorHandler(t *testing.T) { function TestHandlerWithError_Type (line 218) | func TestHandlerWithError_Type(t *testing.T) { FILE: pkg/api/openapi.go function ServeOpenAPI (line 20) | func ServeOpenAPI(w http.ResponseWriter, _ *http.Request) { FILE: pkg/api/request_size_test.go function TestRequestBodySizeLimitMiddleware (line 16) | func TestRequestBodySizeLimitMiddleware(t *testing.T) { FILE: pkg/api/scalar.go constant scalarHTML (line 10) | scalarHTML = ` function ServeScalar (line 67) | func ServeScalar(w http.ResponseWriter, _ *http.Request) { FILE: pkg/api/server.go constant middlewareTimeout (line 62) | middlewareTimeout = 60 * time.Second constant readHeaderTimeout (line 63) | readHeaderTimeout = 10 * time.Second constant shutdownTimeout (line 64) | shutdownTimeout = 30 * time.Second constant nonceBytes (line 65) | nonceBytes = 16 constant socketPermissions (line 66) | socketPermissions = 0660 constant maxRequestBodySize (line 67) | maxRequestBodySize = 1 << 20 type ServerBuilder (line 71) | type ServerBuilder struct method WithAddress (line 98) | func (b *ServerBuilder) WithAddress(address string) *ServerBuilder { method WithUnixSocket (line 104) | func (b *ServerBuilder) WithUnixSocket(isUnixSocket bool) *ServerBuild... method WithDebugMode (line 110) | func (b *ServerBuilder) WithDebugMode(debugMode bool) *ServerBuilder { method WithDocs (line 116) | func (b *ServerBuilder) WithDocs(enableDocs bool) *ServerBuilder { method WithNonce (line 124) | func (b *ServerBuilder) WithNonce(nonce string) *ServerBuilder { method WithOIDCConfig (line 130) | func (b *ServerBuilder) WithOIDCConfig(oidcConfig *auth.TokenValidator... method WithOtelEnabled (line 139) | func (b *ServerBuilder) WithOtelEnabled(enabled bool) *ServerBuilder { method WithMiddleware (line 145) | func (b *ServerBuilder) WithMiddleware(mw ...func(http.Handler) http.H... method WithRoute (line 151) | func (b *ServerBuilder) WithRoute(prefix string, handler http.Handler)... method WithContainerRuntime (line 157) | func (b *ServerBuilder) WithContainerRuntime(containerRuntime runtime.... method WithClientManager (line 163) | func (b *ServerBuilder) WithClientManager(manager client.Manager) *Ser... method WithWorkloadManager (line 169) | func (b *ServerBuilder) WithWorkloadManager(manager workloads.Manager)... method WithGroupManager (line 175) | func (b *ServerBuilder) WithGroupManager(manager groups.Manager) *Serv... method WithSkillManager (line 183) | func (b *ServerBuilder) WithSkillManager(manager skills.SkillService) ... method Build (line 189) | func (b *ServerBuilder) Build(ctx context.Context) (*chi.Mux, error) { method createDefaultManagers (line 260) | func (b *ServerBuilder) createDefaultManagers(ctx context.Context) err... method setupDefaultRoutes (line 336) | func (b *ServerBuilder) setupDefaultRoutes(r *chi.Mux) { function NewServerBuilder (line 90) | func NewServerBuilder() *ServerBuilder { function setupTCPListener (line 369) | func setupTCPListener(address string) (net.Listener, error) { function setupUnixSocket (line 373) | func setupUnixSocket(address string) (net.Listener, error) { function cleanupUnixSocket (line 400) | func cleanupUnixSocket(address string) { function headersMiddleware (line 406) | func headersMiddleware(next http.Handler) http.Handler { function updateCheckMiddleware (line 416) | func updateCheckMiddleware() func(next http.Handler) http.Handler { type maxBytesTracker (line 445) | type maxBytesTracker struct method Read (line 452) | func (t *maxBytesTracker) Read(p []byte) (n int, err error) { type bodySizeResponseWriter (line 474) | type bodySizeResponseWriter struct method WriteHeader (line 480) | func (w *bodySizeResponseWriter) WriteHeader(statusCode int) { method Write (line 489) | func (w *bodySizeResponseWriter) Write(b []byte) (int, error) { function requestBodySizeLimitMiddleware (line 497) | func requestBodySizeLimitMiddleware(maxSize int64) func(http.Handler) ht... function getComponentAndVersionFromRequest (line 537) | func getComponentAndVersionFromRequest(r *http.Request) (string, string,... type Server (line 551) | type Server struct method ListenURL (line 593) | func (s *Server) ListenURL() string { method Start (line 601) | func (s *Server) Start(ctx context.Context) error { method writeDiscoveryFile (line 635) | func (s *Server) writeDiscoveryFile(ctx context.Context) error { method shutdown (line 687) | func (s *Server) shutdown() error { method cleanup (line 702) | func (s *Server) cleanup() { function NewServer (line 562) | func NewServer(ctx context.Context, builder *ServerBuilder) (*Server, er... function createListener (line 719) | func createListener(address string, isUnixSocket bool) (net.Listener, st... function newOCIRegistryClient (line 741) | func newOCIRegistryClient() (ociskills.RegistryClient, error) { type lazySkillLookup (line 754) | type lazySkillLookup struct method SearchSkills (line 756) | func (lazySkillLookup) SearchSkills(query string) ([]regtypes.Skill, e... type clientPathAdapter (line 765) | type clientPathAdapter struct method GetSkillPath (line 769) | func (a *clientPathAdapter) GetSkillPath(clientType, skillName string,... method ListSkillSupportingClients (line 773) | func (a *clientPathAdapter) ListSkillSupportingClients() []string { function chiRouteSpanNamer (line 798) | func chiRouteSpanNamer(next http.Handler) http.Handler { function GenerateNonce (line 821) | func GenerateNonce() (string, error) { function Serve (line 836) | func Serve( FILE: pkg/api/server_test.go function TestGenerateNonce (line 16) | func TestGenerateNonce(t *testing.T) { function TestListenURL (line 42) | func TestListenURL(t *testing.T) { FILE: pkg/api/v1/clients.go type ClientRoutes (line 26) | type ClientRoutes struct method listClients (line 62) | func (c *ClientRoutes) listClients(w http.ResponseWriter, r *http.Requ... method registerClient (line 86) | func (c *ClientRoutes) registerClient(w http.ResponseWriter, r *http.R... method unregisterClient (line 133) | func (c *ClientRoutes) unregisterClient(w http.ResponseWriter, r *http... method unregisterClientFromGroup (line 167) | func (c *ClientRoutes) unregisterClientFromGroup(w http.ResponseWriter... method registerClientsBulk (line 210) | func (c *ClientRoutes) registerClientsBulk(w http.ResponseWriter, r *h... method unregisterClientsBulk (line 263) | func (c *ClientRoutes) unregisterClientsBulk(w http.ResponseWriter, r ... method performClientRegistration (line 320) | func (c *ClientRoutes) performClientRegistration(ctx context.Context, ... method removeClient (line 381) | func (c *ClientRoutes) removeClient(ctx context.Context, clients []cli... method removeClientFromGroupInternal (line 394) | func (c *ClientRoutes) removeClientFromGroupInternal( method removeClientGlobally (line 427) | func (c *ClientRoutes) removeClientGlobally( function ClientRouter (line 33) | func ClientRouter( type createClientRequest (line 299) | type createClientRequest struct type createClientResponse (line 306) | type createClientResponse struct type bulkClientRequest (line 313) | type bulkClientRequest struct FILE: pkg/api/v1/discovery.go type DiscoveryRoutes (line 16) | type DiscoveryRoutes struct method discoverClients (line 36) | func (*DiscoveryRoutes) discoverClients(w http.ResponseWriter, r *http... function DiscoveryRouter (line 19) | func DiscoveryRouter() http.Handler { type clientStatusResponse (line 53) | type clientStatusResponse struct FILE: pkg/api/v1/groups.go type GroupsRoutes (line 26) | type GroupsRoutes struct method listGroups (line 64) | func (s *GroupsRoutes) listGroups(w http.ResponseWriter, r *http.Reque... method createGroup (line 91) | func (s *GroupsRoutes) createGroup(w http.ResponseWriter, r *http.Requ... method getGroup (line 135) | func (s *GroupsRoutes) getGroup(w http.ResponseWriter, r *http.Request... method deleteGroup (line 171) | func (s *GroupsRoutes) deleteGroup(w http.ResponseWriter, r *http.Requ... method handleWorkloadsForGroupDeletion (line 233) | func (s *GroupsRoutes) handleWorkloadsForGroupDeletion( method updateClientConfigurations (line 278) | func (s *GroupsRoutes) updateClientConfigurations( function GroupsRouter (line 33) | func GroupsRouter(groupManager groups.Manager, workloadManager workloads... type groupListResponse (line 303) | type groupListResponse struct type createGroupRequest (line 308) | type createGroupRequest struct type createGroupResponse (line 313) | type createGroupResponse struct FILE: pkg/api/v1/groups_test.go function TestGroupsRouter (line 28) | func TestGroupsRouter(t *testing.T) { function TestGroupsRouter_Integration (line 271) | func TestGroupsRouter_Integration(t *testing.T) { FILE: pkg/api/v1/healthcheck.go function HealthcheckRouter (line 18) | func HealthcheckRouter(containerRuntime rt.Runtime, nonce string) http.H... type healthcheckRoutes (line 25) | type healthcheckRoutes struct method getHealthcheck (line 36) | func (h *healthcheckRoutes) getHealthcheck(w http.ResponseWriter, r *h... FILE: pkg/api/v1/healthcheck_test.go function TestGetHealthcheck (line 19) | func TestGetHealthcheck(t *testing.T) { function TestGetHealthcheck_ReturnsNonceHeader (line 88) | func TestGetHealthcheck_ReturnsNonceHeader(t *testing.T) { function TestGetHealthcheck_OmitsNonceHeaderWhenEmpty (line 120) | func TestGetHealthcheck_OmitsNonceHeaderWhenEmpty(t *testing.T) { function TestGetHealthcheck_NoNonceOnUnhealthy (line 153) | func TestGetHealthcheck_NoNonceOnUnhealthy(t *testing.T) { FILE: pkg/api/v1/registry.go constant RegistryAuthRequiredCode (line 27) | RegistryAuthRequiredCode = "registry_auth_required" type registryErrorResponse (line 34) | type registryErrorResponse struct function writeRegistryAuthRequiredError (line 45) | func writeRegistryAuthRequiredError(w http.ResponseWriter) { constant RegistryUnavailableCode (line 57) | RegistryUnavailableCode = "registry_unavailable" function writeRegistryUnavailableError (line 61) | func writeRegistryUnavailableError(w http.ResponseWriter, unavailableErr... function isRegistryAuthError (line 86) | func isRegistryAuthError(err error) bool { function newSecretsProvider (line 91) | func newSecretsProvider(configProvider config.Provider) (secrets.Provide... constant defaultRegistryName (line 183) | defaultRegistryName = "default" type connectivityError (line 187) | type connectivityError struct method Error (line 192) | func (e *connectivityError) Error() string { method Unwrap (line 196) | func (e *connectivityError) Unwrap() error { function isConnectivityError (line 201) | func isConnectivityError(err error) bool { function isValidationError (line 222) | func isValidationError(err error) bool { type RegistryType (line 237) | type RegistryType constant RegistryTypeFile (line 241) | RegistryTypeFile RegistryType = "file" constant RegistryTypeURL (line 243) | RegistryTypeURL RegistryType = "url" constant RegistryTypeAPI (line 245) | RegistryTypeAPI RegistryType = "api" constant RegistryTypeDefault (line 247) | RegistryTypeDefault RegistryType = "default" type RegistryRoutes (line 284) | type RegistryRoutes struct method resolveAuthStatus (line 73) | func (rr *RegistryRoutes) resolveAuthStatus() (authStatus, authType st... method resolveAuthConfig (line 80) | func (rr *RegistryRoutes) resolveAuthConfig() *regpkg.OAuthPublicConfig { method registryAuthLogin (line 117) | func (rr *RegistryRoutes) registryAuthLogin(w http.ResponseWriter, r *... method registryAuthLogout (line 155) | func (rr *RegistryRoutes) registryAuthLogout(w http.ResponseWriter, r ... method getRegistryInfo (line 251) | func (rr *RegistryRoutes) getRegistryInfo() (RegistryType, string) { method getCurrentProvider (line 259) | func (rr *RegistryRoutes) getCurrentProvider(w http.ResponseWriter) (r... method listRegistries (line 364) | func (rr *RegistryRoutes) listRegistries(w http.ResponseWriter, _ *htt... method addRegistry (line 421) | func (*RegistryRoutes) addRegistry(w http.ResponseWriter, _ *http.Requ... method getRegistry (line 437) | func (rr *RegistryRoutes) getRegistry(w http.ResponseWriter, r *http.R... method updateRegistry (line 508) | func (rr *RegistryRoutes) updateRegistry(w http.ResponseWriter, r *htt... method processAuthUpdate (line 625) | func (rr *RegistryRoutes) processAuthUpdate(ctx context.Context, authR... method processRegistryUpdate (line 637) | func (rr *RegistryRoutes) processRegistryUpdate(req *UpdateRegistryReq... method removeRegistry (line 693) | func (*RegistryRoutes) removeRegistry(w http.ResponseWriter, r *http.R... method listServers (line 723) | func (rr *RegistryRoutes) listServers(w http.ResponseWriter, r *http.R... method getServer (line 790) | func (rr *RegistryRoutes) getServer(w http.ResponseWriter, r *http.Req... function NewRegistryRoutes (line 291) | func NewRegistryRoutes() *RegistryRoutes { function NewRegistryRoutesWithProvider (line 301) | func NewRegistryRoutesWithProvider(provider config.Provider) *RegistryRo... function NewRegistryRoutesForServe (line 310) | func NewRegistryRoutesForServe() *RegistryRoutes { function RegistryRouter (line 322) | func RegistryRouter(serveMode bool) http.Handler { function validateRegistryRequest (line 594) | func validateRegistryRequest(req *UpdateRegistryRequest) error { function updateRegistryConfigFromRequest (line 605) | func updateRegistryConfigFromRequest(req *UpdateRegistryRequest) *regpkg... type registryInfo (line 853) | type registryInfo struct type registryListResponse (line 882) | type registryListResponse struct type getRegistryResponse (line 890) | type getRegistryResponse struct type listServersResponse (line 919) | type listServersResponse struct type getServerResponse (line 929) | type getServerResponse struct type UpdateRegistryRequest (line 941) | type UpdateRegistryRequest struct type UpdateRegistryAuthRequest (line 955) | type UpdateRegistryAuthRequest struct type UpdateRegistryResponse (line 969) | type UpdateRegistryResponse struct FILE: pkg/api/v1/registry_factory_test.go function writeFactorySentinelRegistry (line 27) | func writeFactorySentinelRegistry(t *testing.T, sentinelName string) str... function makeListServersRequest (line 72) | func makeListServersRequest(registryName string) *http.Request { function TestNewRegistryRoutes_RespectsRegisteredFactory (line 90) | func TestNewRegistryRoutes_RespectsRegisteredFactory(t *testing.T) { function TestNewRegistryRoutesForServe_RespectsRegisteredFactory (line 132) | func TestNewRegistryRoutesForServe_RespectsRegisteredFactory(t *testing.... function TestNewRegistryRoutes_NoFactory_ReturnsValidRoutes (line 172) | func TestNewRegistryRoutes_NoFactory_ReturnsValidRoutes(t *testing.T) { function TestNewRegistryRoutesForServe_NoFactory_ReturnsValidRoutes (line 189) | func TestNewRegistryRoutesForServe_NoFactory_ReturnsValidRoutes(t *testi... function TestNewRegistryRoutes_ConfigServiceAndProviderAreConsistent (line 209) | func TestNewRegistryRoutes_ConfigServiceAndProviderAreConsistent(t *test... function TestNewRegistryRoutesForServe_ConfigServiceAndProviderAreConsistent (line 254) | func TestNewRegistryRoutesForServe_ConfigServiceAndProviderAreConsistent... FILE: pkg/api/v1/registry_test.go function CreateTestConfigProvider (line 25) | func CreateTestConfigProvider(t *testing.T, cfg *config.Config) (config.... function TestRegistryAPI_GetEndpoint_UnavailableUpstream (line 58) | func TestRegistryAPI_GetEndpoint_UnavailableUpstream(t *testing.T) { function TestRegistryRouter (line 143) | func TestRegistryRouter(t *testing.T) { function TestGetRegistryInfo (line 153) | func TestGetRegistryInfo(t *testing.T) { function TestRegistryAPI_PutEndpoint (line 207) | func TestRegistryAPI_PutEndpoint(t *testing.T) { type denyRegistryGate (line 353) | type denyRegistryGate struct method CheckUpdateRegistry (line 358) | func (g *denyRegistryGate) CheckUpdateRegistry(_ context.Context, _ *r... method CheckDeleteRegistry (line 362) | func (g *denyRegistryGate) CheckDeleteRegistry(_ context.Context, _ *r... function TestUpdateRegistry_BlockedByPolicyGate (line 367) | func TestUpdateRegistry_BlockedByPolicyGate(t *testing.T) { function TestRemoveRegistry_BlockedByPolicyGate (line 393) | func TestRemoveRegistry_BlockedByPolicyGate(t *testing.T) { function TestUpdateRegistry_AllowedByDefaultGate (line 415) | func TestUpdateRegistry_AllowedByDefaultGate(t *testing.T) { FILE: pkg/api/v1/registry_timeout_test.go function TestRegistryTimeout_InvalidJSON (line 20) | func TestRegistryTimeout_InvalidJSON(t *testing.T) { FILE: pkg/api/v1/registry_v01.go constant v01DefaultLimit (line 22) | v01DefaultLimit = 50 constant v01MaxLimit (line 23) | v01MaxLimit = 200 function RegistryV01Router (line 30) | func RegistryV01Router() http.Handler { function getRegistryProvider (line 45) | func getRegistryProvider(w http.ResponseWriter) (regpkg.Provider, bool) { function writeJSONError (line 70) | func writeJSONError(w http.ResponseWriter, status int, code, message str... function parsePaginationV01 (line 81) | func parsePaginationV01(r *http.Request) (page, limit int) { function paginateSlice (line 111) | func paginateSlice(total, page, limit int) (start, end int) { type paginationV01Metadata (line 124) | type paginationV01Metadata struct FILE: pkg/api/v1/registry_v01_servers.go function listServersV01 (line 38) | func listServersV01(w http.ResponseWriter, r *http.Request) { function getServerV01 (line 102) | func getServerV01(w http.ResponseWriter, r *http.Request) { function serverMetadataToJSON (line 162) | func serverMetadataToJSON(name string, md types.ServerMetadata) (*v0.Ser... function filterServersV01 (line 175) | func filterServersV01(servers []*v0.ServerJSON, query string) []*v0.Serv... type serversV01Response (line 190) | type serversV01Response struct FILE: pkg/api/v1/registry_v01_servers_test.go function TestRegistryV01Router_ListServers (line 17) | func TestRegistryV01Router_ListServers(t *testing.T) { function TestRegistryV01Router_GetServer_NotFound (line 38) | func TestRegistryV01Router_GetServer_NotFound(t *testing.T) { function TestFilterServersV01 (line 59) | func TestFilterServersV01(t *testing.T) { function TestFilterServersV01_EmptyResult_NotNull (line 91) | func TestFilterServersV01_EmptyResult_NotNull(t *testing.T) { function TestRegistryV01Router_ListServers_PaginationBeyondResults (line 108) | func TestRegistryV01Router_ListServers_PaginationBeyondResults(t *testin... function TestPaginateSlice (line 128) | func TestPaginateSlice(t *testing.T) { FILE: pkg/api/v1/registry_v01_skills.go function listSkillsV01 (line 33) | func listSkillsV01(w http.ResponseWriter, r *http.Request) { function getSkillV01 (line 86) | func getSkillV01(w http.ResponseWriter, r *http.Request) { function filterSkillsV01 (line 124) | func filterSkillsV01(skills []types.Skill, query string) []types.Skill { type skillsV01Response (line 140) | type skillsV01Response struct FILE: pkg/api/v1/registry_v01_skills_test.go function TestFilterSkillsV01 (line 20) | func TestFilterSkillsV01(t *testing.T) { function TestParsePaginationV01 (line 51) | func TestParsePaginationV01(t *testing.T) { function TestRegistryV01Router_ListSkills (line 82) | func TestRegistryV01Router_ListSkills(t *testing.T) { function TestRegistryV01Router_GetSkill_NotFound (line 103) | func TestRegistryV01Router_GetSkill_NotFound(t *testing.T) { function TestFilterSkillsV01_EmptyResult_NotNull (line 123) | func TestFilterSkillsV01_EmptyResult_NotNull(t *testing.T) { function TestRegistryV01Router_ListSkills_PaginationBeyondResults (line 140) | func TestRegistryV01Router_ListSkills_PaginationBeyondResults(t *testing... FILE: pkg/api/v1/secrets.go constant defaultSecretsProviderName (line 25) | defaultSecretsProviderName = "default" type SecretsRoutes (line 29) | type SecretsRoutes struct method setupSecretsProvider (line 87) | func (s *SecretsRoutes) setupSecretsProvider(w http.ResponseWriter, r ... method getSecretsProvider (line 227) | func (s *SecretsRoutes) getSecretsProvider(w http.ResponseWriter, _ *h... method listSecrets (line 276) | func (s *SecretsRoutes) listSecrets(w http.ResponseWriter, r *http.Req... method createSecret (line 326) | func (s *SecretsRoutes) createSecret(w http.ResponseWriter, r *http.Re... method updateSecret (line 398) | func (s *SecretsRoutes) updateSecret(w http.ResponseWriter, r *http.Re... method deleteSecret (line 473) | func (s *SecretsRoutes) deleteSecret(w http.ResponseWriter, r *http.Re... method getSecretsManager (line 512) | func (s *SecretsRoutes) getSecretsManager() (secrets.Provider, error) { function NewSecretsRoutes (line 34) | func NewSecretsRoutes() *SecretsRoutes { function NewSecretsRoutesWithProvider (line 41) | func NewSecretsRoutesWithProvider(provider config.Provider) *SecretsRout... function SecretsRouter (line 48) | func SecretsRouter() http.Handler { function secretsRouterWithRoutes (line 53) | func secretsRouterWithRoutes(routes *SecretsRoutes) http.Handler { type setupSecretsRequest (line 533) | type setupSecretsRequest struct type setupSecretsResponse (line 544) | type setupSecretsResponse struct type getSecretsProviderResponse (line 554) | type getSecretsProviderResponse struct type providerCapabilitiesResponse (line 566) | type providerCapabilitiesResponse struct type listSecretsResponse (line 582) | type listSecretsResponse struct type secretKeyResponse (line 590) | type secretKeyResponse struct type createSecretRequest (line 600) | type createSecretRequest struct type createSecretResponse (line 610) | type createSecretResponse struct type updateSecretRequest (line 620) | type updateSecretRequest struct type updateSecretResponse (line 628) | type updateSecretResponse struct FILE: pkg/api/v1/secrets_test.go function TestSecretsRouter (line 26) | func TestSecretsRouter(t *testing.T) { function TestSetupSecretsProvider_ValidRequests (line 39) | func TestSetupSecretsProvider_ValidRequests(t *testing.T) { function TestSetupSecretsProvider_InvalidRequests (line 96) | func TestSetupSecretsProvider_InvalidRequests(t *testing.T) { function TestCreateSecret_InvalidRequests (line 158) | func TestCreateSecret_InvalidRequests(t *testing.T) { function TestUpdateSecret_InvalidRequests (line 230) | func TestUpdateSecret_InvalidRequests(t *testing.T) { function TestDeleteSecret_InvalidRequests (line 311) | func TestDeleteSecret_InvalidRequests(t *testing.T) { function TestRequestResponseTypes (line 363) | func TestRequestResponseTypes(t *testing.T) { function TestErrorHandling (line 462) | func TestErrorHandling(t *testing.T) { function TestRouterIntegration (line 541) | func TestRouterIntegration(t *testing.T) { function TestConstants (line 579) | func TestConstants(t *testing.T) { FILE: pkg/api/v1/skills.go type SkillsRoutes (line 19) | type SkillsRoutes struct method listSkills (line 57) | func (s *SkillsRoutes) listSkills(w http.ResponseWriter, r *http.Reque... method installSkill (line 96) | func (s *SkillsRoutes) installSkill(w http.ResponseWriter, r *http.Req... method uninstallSkill (line 137) | func (s *SkillsRoutes) uninstallSkill(w http.ResponseWriter, r *http.R... method getSkillInfo (line 173) | func (s *SkillsRoutes) getSkillInfo(w http.ResponseWriter, r *http.Req... method validateSkill (line 208) | func (s *SkillsRoutes) validateSkill(w http.ResponseWriter, r *http.Re... method buildSkill (line 238) | func (s *SkillsRoutes) buildSkill(w http.ResponseWriter, r *http.Reque... method pushSkill (line 271) | func (s *SkillsRoutes) pushSkill(w http.ResponseWriter, r *http.Reques... method listBuilds (line 299) | func (s *SkillsRoutes) listBuilds(w http.ResponseWriter, r *http.Reque... method deleteBuild (line 323) | func (s *SkillsRoutes) deleteBuild(w http.ResponseWriter, r *http.Requ... method getSkillContent (line 349) | func (s *SkillsRoutes) getSkillContent(w http.ResponseWriter, r *http.... function SkillsRouter (line 24) | func SkillsRouter(skillService skills.SkillService) http.Handler { FILE: pkg/api/v1/skills_test.go function makeProjectRoot (line 29) | func makeProjectRoot(t *testing.T) string { function TestSkillsRouter (line 36) | func TestSkillsRouter(t *testing.T) { function TestListSkillsResponseFormat (line 619) | func TestListSkillsResponseFormat(t *testing.T) { FILE: pkg/api/v1/skills_types.go type skillListResponse (line 11) | type skillListResponse struct type installSkillRequest (line 19) | type installSkillRequest struct type installSkillResponse (line 41) | type installSkillResponse struct type validateSkillRequest (line 49) | type validateSkillRequest struct type buildSkillRequest (line 57) | type buildSkillRequest struct type pushSkillRequest (line 67) | type pushSkillRequest struct type buildListResponse (line 75) | type buildListResponse struct FILE: pkg/api/v1/version.go function VersionRouter (line 17) | func VersionRouter() http.Handler { type versionResponse (line 23) | type versionResponse struct function getVersion (line 34) | func getVersion(w http.ResponseWriter, _ *http.Request) { FILE: pkg/api/v1/version_test.go function TestGetVersion (line 15) | func TestGetVersion(t *testing.T) { function TestGetVersionContentType (line 25) | func TestGetVersionContentType(t *testing.T) { FILE: pkg/api/v1/workload_service.go constant imageRetrievalTimeout (line 39) | imageRetrievalTimeout = 10 * time.Minute function isValidRuntimePackageName (line 42) | func isValidRuntimePackageName(pkg string) bool { type WorkloadService (line 61) | type WorkloadService struct method CreateWorkloadFromRequest (line 95) | func (s *WorkloadService) CreateWorkloadFromRequest(ctx context.Contex... method UpdateWorkloadFromRequest (line 125) | func (s *WorkloadService) UpdateWorkloadFromRequest(ctx context.Contex... method BuildFullRunConfig (line 150) | func (s *WorkloadService) BuildFullRunConfig( method GetWorkloadNamesFromRequest (line 597) | func (s *WorkloadService) GetWorkloadNamesFromRequest(ctx context.Cont... method resolveRegistryServer (line 626) | func (s *WorkloadService) resolveRegistryServer(req *createRequest) (r... function NewWorkloadService (line 76) | func NewWorkloadService( function buildRemoteAuthConfigFromMetadata (line 427) | func buildRemoteAuthConfigFromMetadata(req *createRequest, md *regtypes.... function createRequestToRemoteAuthConfig (line 464) | func createRequestToRemoteAuthConfig( function runtimeConfigFromRequest (line 503) | func runtimeConfigFromRequest(req *createRequest) *templates.RuntimeConf... function validateRuntimeConfig (line 526) | func validateRuntimeConfig(runtimeConfig *templates.RuntimeConfig) error { function runtimeConfigForImageBuild (line 546) | func runtimeConfigForImageBuild( function getBaseRuntimeConfig (line 580) | func getBaseRuntimeConfig(transportType templates.TransportType) *templa... function applyRegistryDefaults (line 664) | func applyRegistryDefaults(req *createRequest, metadata regtypes.ServerM... function applyImageDefaults (line 680) | func applyImageDefaults(req *createRequest, md *regtypes.ImageMetadata) { function applyRemoteDefaults (line 706) | func applyRemoteDefaults(req *createRequest, md *regtypes.RemoteServerMe... FILE: pkg/api/v1/workload_service_test.go function TestWorkloadService_GetWorkloadNamesFromRequest (line 29) | func TestWorkloadService_GetWorkloadNamesFromRequest(t *testing.T) { function TestNewWorkloadService (line 156) | func TestNewWorkloadService(t *testing.T) { function TestBuildFullRunConfig_ThreadsImageVerification (line 171) | func TestBuildFullRunConfig_ThreadsImageVerification(t *testing.T) { function writeFactorySentinelConfig (line 215) | func writeFactorySentinelConfig(t *testing.T, dir string) string { function TestNewWorkloadService_RespectsRegisteredFactory (line 227) | func TestNewWorkloadService_RespectsRegisteredFactory(t *testing.T) { function TestRuntimeConfigFromRequest (line 243) | func TestRuntimeConfigFromRequest(t *testing.T) { function TestRuntimeConfigForImageBuild (line 327) | func TestRuntimeConfigForImageBuild(t *testing.T) { type testDenyPolicyGate (line 428) | type testDenyPolicyGate struct method CheckCreateServer (line 433) | func (g *testDenyPolicyGate) CheckCreateServer(_ context.Context, _ *r... function TestCreateWorkloadFromRequest_PolicyGateDenied (line 442) | func TestCreateWorkloadFromRequest_PolicyGateDenied(t *testing.T) { function TestApplyImageDefaults (line 485) | func TestApplyImageDefaults(t *testing.T) { function TestApplyImageDefaults_UserPermissionProfilePreserved (line 602) | func TestApplyImageDefaults_UserPermissionProfilePreserved(t *testing.T) { function TestApplyRemoteDefaults (line 619) | func TestApplyRemoteDefaults(t *testing.T) { function TestBuildRemoteAuthConfigFromMetadata (line 675) | func TestBuildRemoteAuthConfigFromMetadata(t *testing.T) { function TestApplyRegistryDefaults (line 801) | func TestApplyRegistryDefaults(t *testing.T) { function TestWorkloadService_ResolveRegistryServer_UnknownRegistry (line 883) | func TestWorkloadService_ResolveRegistryServer_UnknownRegistry(t *testin... FILE: pkg/api/v1/workload_types.go type workloadListResponse (line 24) | type workloadListResponse struct type workloadStatusResponse (line 32) | type workloadStatusResponse struct type updateRequest (line 41) | type updateRequest struct type toolOverride (line 97) | type toolOverride struct type headerForwardConfig (line 107) | type headerForwardConfig struct type remoteOAuthConfig (line 123) | type remoteOAuthConfig struct type createRequest (line 153) | type createRequest struct type oidcOptions (line 169) | type oidcOptions struct type createWorkloadResponse (line 189) | type createWorkloadResponse struct type bulkOperationRequest (line 197) | type bulkOperationRequest struct function validateBulkOperationRequest (line 205) | func validateBulkOperationRequest(req bulkOperationRequest) error { function runConfigToCreateRequest (line 216) | func runConfigToCreateRequest(runConfig *runner.RunConfig) *createRequest { function runtimeConfigForResponse (line 339) | func runtimeConfigForResponse(runConfig *runner.RunConfig) *templates.Ru... function validateHeaderForwardConfig (line 352) | func validateHeaderForwardConfig(config *headerForwardConfig) error { function validateHeaderName (line 381) | func validateHeaderName(name string) error { FILE: pkg/api/v1/workloads.go constant maxAPILogLines (line 28) | maxAPILogLines = 1000 constant standardRouteTimeout (line 31) | standardRouteTimeout = 60 * time.Second constant longRunningRouteTimeout (line 34) | longRunningRouteTimeout = imageRetrievalTimeout + 1*time.Minute type WorkloadRoutes (line 38) | type WorkloadRoutes struct method listWorkloads (line 106) | func (s *WorkloadRoutes) listWorkloads(w http.ResponseWriter, r *http.... method getWorkload (line 147) | func (s *WorkloadRoutes) getWorkload(w http.ResponseWriter, r *http.Re... method stopWorkload (line 185) | func (s *WorkloadRoutes) stopWorkload(w http.ResponseWriter, r *http.R... method restartWorkload (line 215) | func (s *WorkloadRoutes) restartWorkload(w http.ResponseWriter, r *htt... method deleteWorkload (line 247) | func (s *WorkloadRoutes) deleteWorkload(w http.ResponseWriter, r *http... method createWorkload (line 280) | func (s *WorkloadRoutes) createWorkload(w http.ResponseWriter, r *http... method updateWorkload (line 357) | func (s *WorkloadRoutes) updateWorkload(w http.ResponseWriter, r *http... method stopWorkloadsBulk (line 413) | func (s *WorkloadRoutes) stopWorkloadsBulk(w http.ResponseWriter, r *h... method restartWorkloadsBulk (line 454) | func (s *WorkloadRoutes) restartWorkloadsBulk(w http.ResponseWriter, r... method deleteWorkloadsBulk (line 497) | func (s *WorkloadRoutes) deleteWorkloadsBulk(w http.ResponseWriter, r ... method getLogsForWorkload (line 539) | func (s *WorkloadRoutes) getLogsForWorkload(w http.ResponseWriter, r *... method getProxyLogsForWorkload (line 571) | func (s *WorkloadRoutes) getProxyLogsForWorkload(w http.ResponseWriter... method getWorkloadStatus (line 606) | func (s *WorkloadRoutes) getWorkloadStatus(w http.ResponseWriter, r *h... method exportWorkload (line 636) | func (*WorkloadRoutes) exportWorkload(w http.ResponseWriter, r *http.R... function WorkloadRouter (line 53) | func WorkloadRouter( FILE: pkg/api/v1/workloads_test.go function TestGetWorkload (line 35) | func TestGetWorkload(t *testing.T) { function TestCreateWorkload (line 100) | func TestCreateWorkload(t *testing.T) { function TestUpdateWorkload (line 303) | func TestUpdateWorkload(t *testing.T) { function TestUpdateWorkload_PortReuse (line 528) | func TestUpdateWorkload_PortReuse(t *testing.T) { function makeMockRetriever (line 721) | func makeMockRetriever( FILE: pkg/api/v1/workloads_types_test.go function TestValidateBulkOperationRequest (line 22) | func TestValidateBulkOperationRequest(t *testing.T) { function TestRunConfigToCreateRequest (line 85) | func TestRunConfigToCreateRequest(t *testing.T) { function TestCreateRequestToRemoteAuthConfig (line 452) | func TestCreateRequestToRemoteAuthConfig(t *testing.T) { function TestValidateHeaderForwardConfig (line 520) | func TestValidateHeaderForwardConfig(t *testing.T) { FILE: pkg/audit/auditor.go constant LevelAudit (line 25) | LevelAudit = slog.Level(2) type contextKey (line 28) | type contextKey struct type BackendInfo (line 35) | type BackendInfo struct function WithBackendInfo (line 40) | func WithBackendInfo(ctx context.Context, info *BackendInfo) context.Con... function BackendInfoFromContext (line 46) | func BackendInfoFromContext(ctx context.Context) (*BackendInfo, bool) { function NewAuditLogger (line 52) | func NewAuditLogger(w io.Writer) *slog.Logger { type Auditor (line 65) | type Auditor struct method Close (line 97) | func (a *Auditor) Close() error { method isSSETransport (line 105) | func (a *Auditor) isSSETransport() bool { method isMCPStreamOpenRequest (line 167) | func (*Auditor) isMCPStreamOpenRequest(r *http.Request) bool { method Middleware (line 179) | func (a *Auditor) Middleware(next http.Handler) http.Handler { method logAuditEvent (line 246) | func (a *Auditor) logAuditEvent(r *http.Request, rw *responseWriter, r... method determineEventType (line 311) | func (a *Auditor) determineEventType(r *http.Request) string { method mapMCPMethodToEventType (line 331) | func (*Auditor) mapMCPMethodToEventType(mcpMethod string) string { method determineOutcome (line 363) | func (*Auditor) determineOutcome(statusCode int) string { method detectApplicationError (line 381) | func (*Auditor) detectApplicationError(rw *responseWriter) *mcp.Parsed... method extractSource (line 398) | func (a *Auditor) extractSource(r *http.Request) EventSource { method getClientIP (line 422) | func (*Auditor) getClientIP(r *http.Request) string { method extractSubjects (line 477) | func (*Auditor) extractSubjects(r *http.Request) map[string]string { method determineComponent (line 494) | func (a *Auditor) determineComponent(_ *http.Request) string { method extractTarget (line 505) | func (*Auditor) extractTarget(r *http.Request, eventType string) map[s... method addMetadata (line 537) | func (a *Auditor) addMetadata(event *AuditEvent, r *http.Request, dura... method addEventData (line 565) | func (a *Auditor) addEventData(event *AuditEvent, _ *http.Request, rw ... method logSSEConnectionEvent (line 602) | func (a *Auditor) logSSEConnectionEvent(r *http.Request) { function NewAuditorWithTransport (line 73) | func NewAuditorWithTransport(config *Config, transportType string) (*Aud... constant errorDetectionBufferSize (line 113) | errorDetectionBufferSize = 512 constant maxAuditErrorMessageLength (line 117) | maxAuditErrorMessageLength = 256 type responseWriter (line 120) | type responseWriter struct method WriteHeader (line 131) | func (rw *responseWriter) WriteHeader(statusCode int) { method Write (line 136) | func (rw *responseWriter) Write(data []byte) (int, error) { method Flush (line 157) | func (rw *responseWriter) Flush() { function extractSubjectsFromIdentity (line 447) | func extractSubjectsFromIdentity(identity *auth.Identity) map[string]str... FILE: pkg/audit/auditor_test.go function TestNewAuditor (line 24) | func TestNewAuditor(t *testing.T) { function TestAuditorMiddlewareDisabled (line 34) | func TestAuditorMiddlewareDisabled(t *testing.T) { function TestAuditorMiddlewareWithRequestData (line 57) | func TestAuditorMiddlewareWithRequestData(t *testing.T) { function TestAuditorMiddlewareWithOversizedRequestData (line 88) | func TestAuditorMiddlewareWithOversizedRequestData(t *testing.T) { function TestAuditorMiddlewareWithExactMaxSizeBody (line 131) | func TestAuditorMiddlewareWithExactMaxSizeBody(t *testing.T) { function TestAuditorMiddlewareWithEmptyBody (line 174) | func TestAuditorMiddlewareWithEmptyBody(t *testing.T) { function TestAuditorMiddlewareWithResponseData (line 215) | func TestAuditorMiddlewareWithResponseData(t *testing.T) { function TestAuditorMiddlewareWithDifferentSSEPaths (line 243) | func TestAuditorMiddlewareWithDifferentSSEPaths(t *testing.T) { function TestDetermineEventType (line 281) | func TestDetermineEventType(t *testing.T) { function TestMapMCPMethodToEventType (line 355) | func TestMapMCPMethodToEventType(t *testing.T) { function TestDetermineOutcome (line 387) | func TestDetermineOutcome(t *testing.T) { function TestGetClientIP (line 418) | func TestGetClientIP(t *testing.T) { function TestExtractSubjects (line 468) | func TestExtractSubjects(t *testing.T) { function TestDetermineComponent (line 560) | func TestDetermineComponent(t *testing.T) { function TestExtractTarget (line 587) | func TestExtractTarget(t *testing.T) { function TestAddMetadata (line 644) | func TestAddMetadata(t *testing.T) { function TestAddEventData (line 665) | func TestAddEventData(t *testing.T) { function TestResponseWriterCapture (line 748) | func TestResponseWriterCapture(t *testing.T) { function TestResponseWriterStatusCode (line 777) | func TestResponseWriterStatusCode(t *testing.T) { function TestExtractSourceWithHeaders (line 789) | func TestExtractSourceWithHeaders(t *testing.T) { function TestErrorDetectionBodyCapture (line 807) | func TestErrorDetectionBodyCapture(t *testing.T) { function TestMiddlewareDetectsJSONRPCErrors (line 907) | func TestMiddlewareDetectsJSONRPCErrors(t *testing.T) { FILE: pkg/audit/backend_info_test.go function TestBackendInfoContext (line 14) | func TestBackendInfoContext(t *testing.T) { FILE: pkg/audit/config.go type Config (line 19) | type Config struct method GetLogWriter (line 61) | func (c *Config) GetLogWriter() (io.Writer, error) { method ShouldDetectApplicationErrors (line 90) | func (c *Config) ShouldDetectApplicationErrors() bool { method ShouldAuditEvent (line 125) | func (c *Config) ShouldAuditEvent(eventType string) bool { method Validate (line 151) | func (c *Config) Validate() error { function DefaultConfig (line 76) | func DefaultConfig() *Config { function LoadFromFile (line 98) | func LoadFromFile(path string) (*Config, error) { function LoadFromReader (line 114) | func LoadFromReader(r io.Reader) (*Config, error) { FILE: pkg/audit/config_test.go function TestDefaultConfig (line 21) | func TestDefaultConfig(t *testing.T) { function TestLoadFromReader (line 33) | func TestLoadFromReader(t *testing.T) { function TestLoadFromReaderInvalidJSON (line 55) | func TestLoadFromReaderInvalidJSON(t *testing.T) { function TestShouldAuditEventAllEventsAllowed (line 64) | func TestShouldAuditEventAllEventsAllowed(t *testing.T) { function TestShouldAuditEventAllEventsEnabled (line 72) | func TestShouldAuditEventAllEventsEnabled(t *testing.T) { function TestShouldAuditEventSpecificTypes (line 83) | func TestShouldAuditEventSpecificTypes(t *testing.T) { function TestShouldAuditEventExcludeTypes (line 95) | func TestShouldAuditEventExcludeTypes(t *testing.T) { function TestShouldAuditEventExcludeTakesPrecedence (line 107) | func TestShouldAuditEventExcludeTakesPrecedence(t *testing.T) { function TestValidateValidConfig (line 119) | func TestValidateValidConfig(t *testing.T) { function TestValidateNegativeMaxDataSize (line 134) | func TestValidateNegativeMaxDataSize(t *testing.T) { function TestValidateAppliesDefaultMaxDataSize (line 145) | func TestValidateAppliesDefaultMaxDataSize(t *testing.T) { function TestValidateInvalidEventType (line 157) | func TestValidateInvalidEventType(t *testing.T) { function TestValidateInvalidExcludeEventType (line 168) | func TestValidateInvalidExcludeEventType(t *testing.T) { function TestValidateAllValidEventTypes (line 179) | func TestValidateAllValidEventTypes(t *testing.T) { function TestConfigJSONSerialization (line 204) | func TestConfigJSONSerialization(t *testing.T) { function TestConfigMinimalJSON (line 233) | func TestConfigMinimalJSON(t *testing.T) { function TestLoadFromFilePathCleaning (line 248) | func TestLoadFromFilePathCleaning(t *testing.T) { function TestConfigWithEmptyEventTypes (line 257) | func TestConfigWithEmptyEventTypes(t *testing.T) { function TestConfigWithEmptyExcludeEventTypes (line 268) | func TestConfigWithEmptyExcludeEventTypes(t *testing.T) { function TestGetLogWriter (line 279) | func TestGetLogWriter(t *testing.T) { function TestConfigWithLogFile (line 319) | func TestConfigWithLogFile(t *testing.T) { function TestGetLogWriter_WithActualFile (line 335) | func TestGetLogWriter_WithActualFile(t *testing.T) { function waitForAuditLog (line 452) | func waitForAuditLog(t *testing.T, logFilePath string, timeout time.Dura... function TestHTTPAuditor_WritesValidJSONToFile (line 466) | func TestHTTPAuditor_WritesValidJSONToFile(t *testing.T) { FILE: pkg/audit/event.go type AuditEvent (line 42) | type AuditEvent struct method WithTarget (line 148) | func (e *AuditEvent) WithTarget(target map[string]string) *AuditEvent { method WithData (line 154) | func (e *AuditEvent) WithData(data *json.RawMessage) *AuditEvent { method WithDataFromString (line 162) | func (e *AuditEvent) WithDataFromString(data string) *AuditEvent { method LogTo (line 168) | func (e *AuditEvent) LogTo(ctx context.Context, logger *slog.Logger, l... type EventMetadata (line 83) | type EventMetadata struct type EventSource (line 92) | type EventSource struct function NewAuditEvent (line 105) | func NewAuditEvent( function NewAuditEventWithID (line 126) | func NewAuditEventWithID( constant OutcomeSuccess (line 206) | OutcomeSuccess = "success" constant OutcomeFailure (line 208) | OutcomeFailure = "failure" constant OutcomeError (line 210) | OutcomeError = "error" constant OutcomeDenied (line 212) | OutcomeDenied = "denied" constant OutcomeApplicationError (line 216) | OutcomeApplicationError = "application_error" constant SourceTypeNetwork (line 222) | SourceTypeNetwork = "network" constant SourceTypeLocal (line 224) | SourceTypeLocal = "local" constant ComponentToolHive (line 232) | ComponentToolHive = "toolhive-api" FILE: pkg/audit/event_test.go function TestNewAuditEvent (line 18) | func TestNewAuditEvent(t *testing.T) { function TestNewAuditEventWithID (line 41) | func TestNewAuditEventWithID(t *testing.T) { function TestAuditEventWithTarget (line 57) | func TestAuditEventWithTarget(t *testing.T) { function TestAuditEventWithData (line 72) | func TestAuditEventWithData(t *testing.T) { function TestAuditEventWithDataFromString (line 86) | func TestAuditEventWithDataFromString(t *testing.T) { function TestAuditEventJSONSerialization (line 104) | func TestAuditEventJSONSerialization(t *testing.T) { function TestEventSourceConstants (line 161) | func TestEventSourceConstants(t *testing.T) { function TestOutcomeConstants (line 168) | func TestOutcomeConstants(t *testing.T) { function TestComponentConstants (line 177) | func TestComponentConstants(t *testing.T) { function TestEventMetadataExtra (line 183) | func TestEventMetadataExtra(t *testing.T) { function TestEventSourceExtra (line 200) | func TestEventSourceExtra(t *testing.T) { function TestAuditEventLogTo (line 217) | func TestAuditEventLogTo(t *testing.T) { FILE: pkg/audit/mcp_events.go constant EventTypeMCPInitialize (line 10) | EventTypeMCPInitialize = "mcp_initialize" constant EventTypeSSEConnection (line 12) | EventTypeSSEConnection = "sse_connection" constant EventTypeMCPToolCall (line 14) | EventTypeMCPToolCall = "mcp_tool_call" constant EventTypeMCPToolsList (line 16) | EventTypeMCPToolsList = "mcp_tools_list" constant EventTypeMCPResourceRead (line 18) | EventTypeMCPResourceRead = "mcp_resource_read" constant EventTypeMCPResourcesList (line 20) | EventTypeMCPResourcesList = "mcp_resources_list" constant EventTypeMCPPromptGet (line 22) | EventTypeMCPPromptGet = "mcp_prompt_get" constant EventTypeMCPPromptsList (line 24) | EventTypeMCPPromptsList = "mcp_prompts_list" constant EventTypeMCPNotification (line 26) | EventTypeMCPNotification = "mcp_notification" constant EventTypeMCPPing (line 28) | EventTypeMCPPing = "mcp_ping" constant EventTypeMCPLogging (line 30) | EventTypeMCPLogging = "mcp_logging" constant EventTypeMCPCompletion (line 32) | EventTypeMCPCompletion = "mcp_completion" constant EventTypeMCPRootsListChanged (line 34) | EventTypeMCPRootsListChanged = "mcp_roots_list_changed" constant EventTypeWorkflowStarted (line 38) | EventTypeWorkflowStarted = "vmcp_workflow_started" constant EventTypeWorkflowCompleted (line 40) | EventTypeWorkflowCompleted = "vmcp_workflow_completed" constant EventTypeWorkflowFailed (line 42) | EventTypeWorkflowFailed = "vmcp_workflow_failed" constant EventTypeWorkflowTimedOut (line 44) | EventTypeWorkflowTimedOut = "vmcp_workflow_timed_out" constant EventTypeWorkflowStepStarted (line 46) | EventTypeWorkflowStepStarted = "vmcp_workflow_step_started" constant EventTypeWorkflowStepCompleted (line 48) | EventTypeWorkflowStepCompleted = "vmcp_workflow_step_completed" constant EventTypeWorkflowStepFailed (line 50) | EventTypeWorkflowStepFailed = "vmcp_workflow_step_failed" constant EventTypeWorkflowStepSkipped (line 52) | EventTypeWorkflowStepSkipped = "vmcp_workflow_step_skipped" constant EventTypeMCPRequest (line 56) | EventTypeMCPRequest = "mcp_request" constant EventTypeHTTPRequest (line 58) | EventTypeHTTPRequest = "http_request" constant TargetTypeTool (line 64) | TargetTypeTool = "tool" constant TargetTypeResource (line 66) | TargetTypeResource = "resource" constant TargetTypePrompt (line 68) | TargetTypePrompt = "prompt" constant TargetTypeServer (line 70) | TargetTypeServer = "server" constant TargetTypeWorkflow (line 72) | TargetTypeWorkflow = "workflow" constant TargetTypeWorkflowStep (line 74) | TargetTypeWorkflowStep = "workflow_step" constant TargetKeyType (line 80) | TargetKeyType = "type" constant TargetKeyName (line 82) | TargetKeyName = "name" constant TargetKeyURI (line 84) | TargetKeyURI = "uri" constant TargetKeyMethod (line 86) | TargetKeyMethod = "method" constant TargetKeyEndpoint (line 88) | TargetKeyEndpoint = "endpoint" constant TargetKeyWorkflowID (line 90) | TargetKeyWorkflowID = "workflow_id" constant TargetKeyWorkflowName (line 92) | TargetKeyWorkflowName = "workflow_name" constant TargetKeyStepID (line 94) | TargetKeyStepID = "step_id" constant TargetKeyStepType (line 96) | TargetKeyStepType = "step_type" constant TargetKeyToolName (line 98) | TargetKeyToolName = "tool_name" constant SubjectKeyUser (line 104) | SubjectKeyUser = "user" constant SubjectKeyUserID (line 106) | SubjectKeyUserID = "user_id" constant SubjectKeyClientName (line 108) | SubjectKeyClientName = "client_name" constant SubjectKeyClientVersion (line 110) | SubjectKeyClientVersion = "client_version" constant SourceExtraKeyUserAgent (line 116) | SourceExtraKeyUserAgent = "user_agent" constant SourceExtraKeyRequestID (line 118) | SourceExtraKeyRequestID = "request_id" constant SourceExtraKeySessionID (line 120) | SourceExtraKeySessionID = "session_id" constant MetadataExtraKeyMCPVersion (line 126) | MetadataExtraKeyMCPVersion = "mcp_version" constant MetadataExtraKeyTransport (line 128) | MetadataExtraKeyTransport = "transport" constant MetadataExtraKeyDuration (line 130) | MetadataExtraKeyDuration = "duration_ms" constant MetadataExtraKeyResponseSize (line 132) | MetadataExtraKeyResponseSize = "response_size_bytes" constant MetadataExtraKeyRetryCount (line 134) | MetadataExtraKeyRetryCount = "retry_count" constant MetadataExtraKeyStepCount (line 136) | MetadataExtraKeyStepCount = "step_count" constant MetadataExtraKeyTimeout (line 138) | MetadataExtraKeyTimeout = "timeout_ms" FILE: pkg/audit/middleware.go constant MiddlewareType (line 15) | MiddlewareType = "audit" type MiddlewareParams (line 19) | type MiddlewareParams struct type Middleware (line 28) | type Middleware struct method Handler (line 34) | func (m *Middleware) Handler() types.MiddlewareFunction { method Close (line 39) | func (m *Middleware) Close() error { function CreateMiddleware (line 47) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... FILE: pkg/audit/middleware_test.go function TestMiddlewareParams_JSON (line 21) | func TestMiddlewareParams_JSON(t *testing.T) { function TestCreateMiddlewareWithConfigData (line 103) | func TestCreateMiddlewareWithConfigData(t *testing.T) { function TestMiddlewareType (line 311) | func TestMiddlewareType(t *testing.T) { function TestMiddlewareHandlerMethods (line 316) | func TestMiddlewareHandlerMethods(t *testing.T) { function TestNewMiddlewareConfig (line 347) | func TestNewMiddlewareConfig(t *testing.T) { function TestBackwardsCompatibility (line 403) | func TestBackwardsCompatibility(t *testing.T) { FILE: pkg/audit/workflow_auditor.go type WorkflowAuditor (line 20) | type WorkflowAuditor struct method LogWorkflowStarted (line 52) | func (w *WorkflowAuditor) LogWorkflowStarted( method LogWorkflowCompleted (line 102) | func (w *WorkflowAuditor) LogWorkflowCompleted( method LogWorkflowFailed (line 154) | func (w *WorkflowAuditor) LogWorkflowFailed( method LogWorkflowTimedOut (line 194) | func (w *WorkflowAuditor) LogWorkflowTimedOut( method LogStepStarted (line 233) | func (w *WorkflowAuditor) LogStepStarted( method LogStepCompleted (line 270) | func (w *WorkflowAuditor) LogStepCompleted( method LogStepFailed (line 308) | func (w *WorkflowAuditor) LogStepFailed( method LogStepSkipped (line 347) | func (w *WorkflowAuditor) LogStepSkipped( method extractSource (line 387) | func (*WorkflowAuditor) extractSource(_ context.Context) EventSource { method extractSubjects (line 396) | func (*WorkflowAuditor) extractSubjects(ctx context.Context) map[strin... function NewWorkflowAuditor (line 28) | func NewWorkflowAuditor(config *Config) (*WorkflowAuditor, error) { FILE: pkg/audit/workflow_auditor_test.go type testLogWriter (line 22) | type testLogWriter struct method Write (line 26) | func (w *testLogWriter) Write(p []byte) (n int, err error) { method getLastLog (line 31) | func (w *testLogWriter) getLastLog() string { method reset (line 38) | func (w *testLogWriter) reset() { function createTestAuditor (line 43) | func createTestAuditor(t *testing.T, config *Config) (*WorkflowAuditor, ... function parseLogEntry (line 61) | func parseLogEntry(t *testing.T, logLine string) map[string]any { function TestNewWorkflowAuditor (line 71) | func TestNewWorkflowAuditor(t *testing.T) { function TestWorkflowAuditor_LogWorkflowStarted (line 125) | func TestWorkflowAuditor_LogWorkflowStarted(t *testing.T) { function TestWorkflowAuditor_LogWorkflowLifecycle (line 262) | func TestWorkflowAuditor_LogWorkflowLifecycle(t *testing.T) { function TestWorkflowAuditor_LogStepStarted (line 339) | func TestWorkflowAuditor_LogStepStarted(t *testing.T) { function TestWorkflowAuditor_LogStepLifecycle (line 401) | func TestWorkflowAuditor_LogStepLifecycle(t *testing.T) { function TestWorkflowAuditor_LogStepSkipped (line 455) | func TestWorkflowAuditor_LogStepSkipped(t *testing.T) { function TestWorkflowAuditor_ExtractSubjects (line 512) | func TestWorkflowAuditor_ExtractSubjects(t *testing.T) { function TestWorkflowAuditor_ExtractSource (line 597) | func TestWorkflowAuditor_ExtractSource(t *testing.T) { function TestWorkflowAuditor_EventFiltering (line 609) | func TestWorkflowAuditor_EventFiltering(t *testing.T) { function TestWorkflowAuditor_WritesValidJSONToFile (line 641) | func TestWorkflowAuditor_WritesValidJSONToFile(t *testing.T) { FILE: pkg/audit/zz_generated.deepcopy.go method DeepCopyInto (line 26) | func (in *Config) DeepCopyInto(out *Config) { method DeepCopy (line 46) | func (in *Config) DeepCopy() *Config { FILE: pkg/auth/anonymous.go function AnonymousMiddleware (line 22) | func AnonymousMiddleware(next http.Handler) http.Handler { FILE: pkg/auth/anonymous_test.go function TestAnonymousMiddleware (line 16) | func TestAnonymousMiddleware(t *testing.T) { FILE: pkg/auth/awssts/config.go constant MinSessionDuration (line 8) | MinSessionDuration int32 = 900 constant MaxSessionDuration (line 11) | MaxSessionDuration int32 = 43200 constant defaultRoleClaim (line 14) | defaultRoleClaim = "groups" type Config (line 17) | type Config struct method GetRoleClaim (line 49) | func (c *Config) GetRoleClaim() string { method GetService (line 57) | func (c *Config) GetService() string { method GetSessionDuration (line 65) | func (c *Config) GetSessionDuration() int32 { constant defaultSessionDuration (line 46) | defaultSessionDuration int32 = 3600 type RoleMapping (line 73) | type RoleMapping struct FILE: pkg/auth/awssts/exchange.go type STSClient (line 18) | type STSClient interface type Exchanger (line 27) | type Exchanger struct method ExchangeToken (line 61) | func (e *Exchanger) ExchangeToken( function NewExchanger (line 32) | func NewExchanger(ctx context.Context, region string) (*Exchanger, error) { function newRegionalSTSClient (line 47) | func newRegionalSTSClient(ctx context.Context, region string) (STSClient... constant minSessionNameLen (line 103) | minSessionNameLen = 2 constant maxSessionNameLen (line 105) | maxSessionNameLen = 64 function ValidateSessionName (line 110) | func ValidateSessionName(name string) error { function validateInputs (line 124) | func validateInputs(token, roleArn, sessionName string, durationSeconds ... FILE: pkg/auth/awssts/exchange_test.go type mockSTSClient (line 20) | type mockSTSClient struct method AssumeRoleWithWebIdentity (line 25) | func (m *mockSTSClient) AssumeRoleWithWebIdentity( function TestExchanger_ExchangeToken (line 33) | func TestExchanger_ExchangeToken(t *testing.T) { function TestValidateSessionName (line 138) | func TestValidateSessionName(t *testing.T) { FILE: pkg/auth/awssts/middleware.go constant MiddlewareType (line 25) | MiddlewareType = "awssts" constant defaultSessionNameClaim (line 29) | defaultSessionNameClaim = "sub" type MiddlewareParams (line 32) | type MiddlewareParams struct type Middleware (line 40) | type Middleware struct method Handler (line 46) | func (m *Middleware) Handler() types.MiddlewareFunction { method Close (line 51) | func (*Middleware) Close() error { function CreateMiddleware (line 56) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... function newAWSStsMiddleware (line 101) | func newAWSStsMiddleware(ctx context.Context, cfg *Config, targetURL *ur... function createAWSStsMiddlewareFunc (line 141) | func createAWSStsMiddlewareFunc( function signRequestForTarget (line 235) | func signRequestForTarget(r *http.Request, signer *RequestSigner, creds ... function ExtractSessionName (line 313) | func ExtractSessionName(claims map[string]interface{}, claimName string)... FILE: pkg/auth/awssts/middleware_test.go function TestCreateMiddleware (line 33) | func TestCreateMiddleware(t *testing.T) { function TestCreateMiddleware_Success (line 100) | func TestCreateMiddleware_Success(t *testing.T) { function TestMiddlewareFunc_RejectsUnauthenticated (line 127) | func TestMiddlewareFunc_RejectsUnauthenticated(t *testing.T) { function TestMiddlewareFunc_EndToEnd (line 184) | func TestMiddlewareFunc_EndToEnd(t *testing.T) { function TestMiddlewareFunc_ProxyHeadersExcludedFromSignature (line 311) | func TestMiddlewareFunc_ProxyHeadersExcludedFromSignature(t *testing.T) { function TestMiddlewareFunc_RoleMapperFailure (line 388) | func TestMiddlewareFunc_RoleMapperFailure(t *testing.T) { function TestExtractSessionName (line 434) | func TestExtractSessionName(t *testing.T) { FILE: pkg/auth/awssts/role_mapper.go constant claimBindingExpression (line 23) | claimBindingExpression = `claim_value in claims[role_claim_key]` function newMatcherEngine (line 27) | func newMatcherEngine() *cel.Engine { function newClaimBindingEngine (line 38) | func newClaimBindingEngine() *cel.Engine { function ValidateRoleArn (line 49) | func ValidateRoleArn(roleArn string) error { type compiledMapping (line 84) | type compiledMapping struct method evalContext (line 95) | func (cm *compiledMapping) evalContext(claims map[string]any, roleClai... type RoleMapper (line 108) | type RoleMapper struct method SelectRole (line 169) | func (rm *RoleMapper) SelectRole(claims map[string]any) (string, error) { function NewRoleMapper (line 118) | func NewRoleMapper(cfg *Config) (*RoleMapper, error) { function ValidateConfig (line 222) | func ValidateConfig(cfg *Config) error { function validateRoleMapping (line 265) | func validateRoleMapping(index int, mapping RoleMapping) error { function effectivePriority (line 290) | func effectivePriority(p *int) int { FILE: pkg/auth/awssts/role_mapper_test.go function intPtr (line 16) | func intPtr(v int) *int { return &v } function TestValidateRoleArn (line 18) | func TestValidateRoleArn(t *testing.T) { function TestNewRoleMapper (line 89) | func TestNewRoleMapper(t *testing.T) { function TestRoleMapper_SelectRole (line 152) | func TestRoleMapper_SelectRole(t *testing.T) { function TestRoleMapper_SelectRole_CELMatcher (line 312) | func TestRoleMapper_SelectRole_CELMatcher(t *testing.T) { function TestRoleMapper_SelectRole_InjectionAttemptIsSafe (line 392) | func TestRoleMapper_SelectRole_InjectionAttemptIsSafe(t *testing.T) { function TestValidateConfig (line 425) | func TestValidateConfig(t *testing.T) { function TestRoleMapper_Concurrency (line 602) | func TestRoleMapper_Concurrency(t *testing.T) { FILE: pkg/auth/awssts/signer.go constant maxPayloadSize (line 22) | maxPayloadSize = 10 * 1024 * 1024 constant emptySHA256 (line 26) | emptySHA256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7... constant defaultService (line 38) | defaultService = "aws-mcp" type RequestSigner (line 45) | type RequestSigner struct method SignRequest (line 113) | func (s *RequestSigner) SignRequest(ctx context.Context, req *http.Req... method hashPayload (line 145) | func (*RequestSigner) hashPayload(req *http.Request) (string, []byte, ... type signerOption (line 51) | type signerOption function withService (line 54) | func withService(service string) signerOption { function newRequestSigner (line 64) | func newRequestSigner(region string, opts ...signerOption) (*RequestSign... function NewRequestSigner (line 87) | func NewRequestSigner(region, service string) (*RequestSigner, error) { FILE: pkg/auth/awssts/signer_test.go function TestEmptySHA256IsCorrect (line 22) | func TestEmptySHA256IsCorrect(t *testing.T) { function TestNewRequestSigner (line 28) | func TestNewRequestSigner(t *testing.T) { function TestSigner_SignRequest (line 53) | func TestSigner_SignRequest(t *testing.T) { function TestSigner_HashPayload (line 121) | func TestSigner_HashPayload(t *testing.T) { function TestSigner_ContentLengthPreserved (line 186) | func TestSigner_ContentLengthPreserved(t *testing.T) { FILE: pkg/auth/context.go type IdentityContextKey (line 19) | type IdentityContextKey struct function WithIdentity (line 31) | func WithIdentity(ctx context.Context, identity *Identity) context.Conte... function IdentityFromContext (line 51) | func IdentityFromContext(ctx context.Context) (*Identity, bool) { function claimsToIdentity (line 63) | func claimsToIdentity(claims jwt.MapClaims, token string) (*Identity, er... function filterInternalClaims (line 102) | func filterInternalClaims(claims jwt.MapClaims) jwt.MapClaims { FILE: pkg/auth/context_test.go function TestIdentityContext_StoreAndRetrieve (line 15) | func TestIdentityContext_StoreAndRetrieve(t *testing.T) { function TestIdentityContext_NilIdentity (line 59) | func TestIdentityContext_NilIdentity(t *testing.T) { function TestIdentityContext_MissingIdentity (line 75) | func TestIdentityContext_MissingIdentity(t *testing.T) { function TestIdentityContext_ExplicitNilValue (line 86) | func TestIdentityContext_ExplicitNilValue(t *testing.T) { function TestIdentityContext_Overwrite (line 100) | func TestIdentityContext_Overwrite(t *testing.T) { FILE: pkg/auth/discovery/dcr_request.go function NewDynamicClientRegistrationRequest (line 18) | func NewDynamicClientRegistrationRequest(scopes []string, callbackPort i... FILE: pkg/auth/discovery/discovery.go constant DefaultOAuthTimeout (line 37) | DefaultOAuthTimeout = 5 * time.Minute constant DefaultHTTPTimeout (line 38) | DefaultHTTPTimeout = 30 * time.Second constant DefaultAuthDetectTimeout (line 39) | DefaultAuthDetectTimeout = 10 * time.Second constant MaxRetryAttempts (line 40) | MaxRetryAttempts = 3 constant RetryBaseDelay (line 41) | RetryBaseDelay = 2 * time.Second constant MaxResponseBodyDrain (line 42) | MaxResponseBodyDrain = 1 * 1024 * 1024 type AuthInfo (line 46) | type AuthInfo struct type AuthServerInfo (line 55) | type AuthServerInfo struct type Config (line 64) | type Config struct function DefaultDiscoveryConfig (line 72) | func DefaultDiscoveryConfig() *Config { function DetectAuthenticationFromServer (line 82) | func DetectAuthenticationFromServer(ctx context.Context, targetURI strin... function detectAuthWithRequest (line 141) | func detectAuthWithRequest( function buildWellKnownURI (line 187) | func buildWellKnownURI(parsedURL *url.URL, endpointSpecific bool) string { function checkWellKnownURIExists (line 208) | func checkWellKnownURIExists(ctx context.Context, client *http.Client, u... function tryWellKnownDiscovery (line 251) | func tryWellKnownDiscovery(ctx context.Context, client *http.Client, tar... function ParseWWWAuthenticate (line 292) | func ParseWWWAuthenticate(header string) (*AuthInfo, error) { function DeriveIssuerFromURL (line 369) | func DeriveIssuerFromURL(remoteURL string) string { function ExtractParameter (line 406) | func ExtractParameter(params, paramName string) string { function DeriveIssuerFromRealm (line 457) | func DeriveIssuerFromRealm(realm string) string { type OAuthFlowConfig (line 501) | type OAuthFlowConfig struct type OAuthFlowResult (line 517) | type OAuthFlowResult struct function shouldDynamicallyRegisterClient (line 531) | func shouldDynamicallyRegisterClient(config *OAuthFlowConfig) bool { function PerformOAuthFlow (line 536) | func PerformOAuthFlow(ctx context.Context, issuer string, config *OAuthF... function handleDynamicRegistration (line 589) | func handleDynamicRegistration(ctx context.Context, issuer string, confi... function getDiscoveryDocument (line 613) | func getDiscoveryDocument( function createOAuthConfig (line 636) | func createOAuthConfig(ctx context.Context, issuer string, config *OAuth... function newOAuthFlow (line 675) | func newOAuthFlow(ctx context.Context, oauthConfig *oauth.Config, config... function registerDynamicClient (line 723) | func registerDynamicClient( function FetchResourceMetadata (line 757) | func FetchResourceMetadata(ctx context.Context, metadataURL string) (*au... function ValidateAndDiscoverAuthServer (line 829) | func ValidateAndDiscoverAuthServer(ctx context.Context, potentialIssuer ... FILE: pkg/auth/discovery/discovery_test.go constant wellKnownOAuthPath (line 24) | wellKnownOAuthPath = "/.well-known/oauth-protected-resource" function TestParseWWWAuthenticate (line 26) | func TestParseWWWAuthenticate(t *testing.T) { function TestExtractParameter (line 118) | func TestExtractParameter(t *testing.T) { function TestDeriveIssuerFromRealm (line 169) | func TestDeriveIssuerFromRealm(t *testing.T) { function TestDetectAuthenticationFromServer (line 229) | func TestDetectAuthenticationFromServer(t *testing.T) { function TestDefaultDiscoveryConfig (line 329) | func TestDefaultDiscoveryConfig(t *testing.T) { function TestOAuthFlowConfig (line 350) | func TestOAuthFlowConfig(t *testing.T) { function TestDeriveIssuerFromURL (line 391) | func TestDeriveIssuerFromURL(t *testing.T) { function TestPerformOAuthFlow_PortBehavior (line 448) | func TestPerformOAuthFlow_PortBehavior(t *testing.T) { function TestPerformOAuthFlow_PortFallbackBehavior (line 653) | func TestPerformOAuthFlow_PortFallbackBehavior(t *testing.T) { function TestPerformOAuthFlow_PortCheckingOnly (line 737) | func TestPerformOAuthFlow_PortCheckingOnly(t *testing.T) { function TestBuildWellKnownURI (line 770) | func TestBuildWellKnownURI(t *testing.T) { function TestCheckWellKnownURIExists (line 840) | func TestCheckWellKnownURIExists(t *testing.T) { function TestTryWellKnownDiscovery (line 928) | func TestTryWellKnownDiscovery(t *testing.T) { function TestDetectAuthenticationFromServer_WellKnownFallback (line 1025) | func TestDetectAuthenticationFromServer_WellKnownFallback(t *testing.T) { function TestDetectAuthenticationFromServer_ErrorPaths (line 1137) | func TestDetectAuthenticationFromServer_ErrorPaths(t *testing.T) { function TestCheckWellKnownURIExists_ErrorPaths (line 1177) | func TestCheckWellKnownURIExists_ErrorPaths(t *testing.T) { function TestTryWellKnownDiscovery_ErrorPaths (line 1240) | func TestTryWellKnownDiscovery_ErrorPaths(t *testing.T) { function TestRegisterDynamicClient_MissingRegistrationEndpoint (line 1292) | func TestRegisterDynamicClient_MissingRegistrationEndpoint(t *testing.T) { FILE: pkg/auth/discovery/resource_metadata_test.go function TestFetchResourceMetadata (line 21) | func TestFetchResourceMetadata(t *testing.T) { function TestFetchResourceMetadata_InvalidURL (line 147) | func TestFetchResourceMetadata_InvalidURL(t *testing.T) { function TestValidateAndDiscoverAuthServer (line 179) | func TestValidateAndDiscoverAuthServer(t *testing.T) { function TestParseWWWAuthenticate_WithResourceMetadata (line 283) | func TestParseWWWAuthenticate_WithResourceMetadata(t *testing.T) { function TestExtractParameter_EdgeCases (line 336) | func TestExtractParameter_EdgeCases(t *testing.T) { FILE: pkg/auth/github_provider.go constant GitHubTokenCheckURL (line 29) | GitHubTokenCheckURL = "api.github.com/applications" type GitHubProvider (line 38) | type GitHubProvider struct method Name (line 98) | func (*GitHubProvider) Name() string { method CanHandle (line 105) | func (*GitHubProvider) CanHandle(introspectURL string) bool { method IntrospectToken (line 129) | func (g *GitHubProvider) IntrospectToken(ctx context.Context, token st... method parseGitHubResponse (line 205) | func (*GitHubProvider) parseGitHubResponse(body []byte) (jwt.MapClaims... function NewGitHubProvider (line 53) | func NewGitHubProvider( function newGitHubProviderWithClient (line 61) | func newGitHubProviderWithClient( FILE: pkg/auth/github_provider_test.go function TestGitHubProvider_Name (line 17) | func TestGitHubProvider_Name(t *testing.T) { function TestGitHubProvider_CanHandle (line 24) | func TestGitHubProvider_CanHandle(t *testing.T) { function TestGitHubProvider_IntrospectToken_Success (line 75) | func TestGitHubProvider_IntrospectToken_Success(t *testing.T) { function TestGitHubProvider_IntrospectToken_InvalidToken (line 161) | func TestGitHubProvider_IntrospectToken_InvalidToken(t *testing.T) { function TestGitHubProvider_IntrospectToken_ServerError (line 186) | func TestGitHubProvider_IntrospectToken_ServerError(t *testing.T) { function TestGitHubProvider_IntrospectToken_MalformedResponse (line 207) | func TestGitHubProvider_IntrospectToken_MalformedResponse(t *testing.T) { function TestGitHubProvider_IntrospectToken_MissingUserID (line 229) | func TestGitHubProvider_IntrospectToken_MissingUserID(t *testing.T) { function TestGitHubProvider_IntrospectToken_MinimalResponse (line 262) | func TestGitHubProvider_IntrospectToken_MinimalResponse(t *testing.T) { function TestGitHubProvider_IntrospectToken_SiteAdmin (line 304) | func TestGitHubProvider_IntrospectToken_SiteAdmin(t *testing.T) { function TestGitHubProvider_IntrospectToken_RateLimited (line 340) | func TestGitHubProvider_IntrospectToken_RateLimited(t *testing.T) { FILE: pkg/auth/identity.go type PrincipalInfo (line 19) | type PrincipalInfo struct type Identity (line 47) | type Identity struct method String (line 70) | func (i *Identity) String() string { method MarshalJSON (line 80) | func (i *Identity) MarshalJSON() ([]byte, error) { method GetPrincipalInfo (line 134) | func (i *Identity) GetPrincipalInfo() *PrincipalInfo { FILE: pkg/auth/identity_test.go function TestClaimsToIdentity (line 15) | func TestClaimsToIdentity(t *testing.T) { function TestIdentity_String (line 129) | func TestIdentity_String(t *testing.T) { function TestIdentity_GetPrincipalInfo (line 175) | func TestIdentity_GetPrincipalInfo(t *testing.T) { function TestIdentity_MarshalJSON (line 239) | func TestIdentity_MarshalJSON(t *testing.T) { FILE: pkg/auth/local.go function LocalUserMiddleware (line 20) | func LocalUserMiddleware(username string) func(http.Handler) http.Handler { FILE: pkg/auth/local_test.go function TestLocalUserMiddleware (line 16) | func TestLocalUserMiddleware(t *testing.T) { function TestLocalUserMiddlewareWithDifferentUsernames (line 68) | func TestLocalUserMiddlewareWithDifferentUsernames(t *testing.T) { FILE: pkg/auth/middleware.go constant MiddlewareType (line 17) | MiddlewareType = "auth" type MiddlewareParams (line 21) | type MiddlewareParams struct type Middleware (line 26) | type Middleware struct method Handler (line 32) | func (m *Middleware) Handler() types.MiddlewareFunction { method Close (line 37) | func (*Middleware) Close() error { method AuthInfoHandler (line 43) | func (m *Middleware) AuthInfoHandler() http.Handler { function CreateMiddleware (line 48) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... FILE: pkg/auth/middleware_test.go function TestMiddleware_Handler (line 20) | func TestMiddleware_Handler(t *testing.T) { function TestMiddleware_Close (line 60) | func TestMiddleware_Close(t *testing.T) { function TestMiddleware_AuthInfoHandler (line 70) | func TestMiddleware_AuthInfoHandler(t *testing.T) { function TestCreateMiddleware_WithoutOIDCConfig (line 96) | func TestCreateMiddleware_WithoutOIDCConfig(t *testing.T) { function TestCreateMiddleware_WithOIDCConfig (line 132) | func TestCreateMiddleware_WithOIDCConfig(t *testing.T) { function TestCreateMiddleware_InvalidParameters (line 168) | func TestCreateMiddleware_InvalidParameters(t *testing.T) { function TestCreateMiddleware_NilParameters (line 189) | func TestCreateMiddleware_NilParameters(t *testing.T) { function TestCreateMiddleware_EmptyParameters (line 209) | func TestCreateMiddleware_EmptyParameters(t *testing.T) { function TestMiddlewareType_Constant (line 234) | func TestMiddlewareType_Constant(t *testing.T) { function TestMiddleware_InterfaceCompliance (line 241) | func TestMiddleware_InterfaceCompliance(t *testing.T) { FILE: pkg/auth/monitored_token_source.go constant tokenRefreshInitialRetryInterval (line 30) | tokenRefreshInitialRetryInterval = 10 * time.Second constant tokenRefreshMaxRetryInterval (line 34) | tokenRefreshMaxRetryInterval = 2 * time.Minute constant tokenRefreshMaxTries (line 37) | tokenRefreshMaxTries = 5 constant tokenRefreshMaxElapsedTime (line 40) | tokenRefreshMaxElapsedTime = 5 * time.Minute constant tokenRefreshInitialRetryIntervalEnv (line 45) | tokenRefreshInitialRetryIntervalEnv = "TOOLHIVE_TOKEN_REFRESH_INITIAL_RE... constant tokenRefreshMaxRetryIntervalEnv (line 47) | tokenRefreshMaxRetryIntervalEnv = "TOOLHIVE_TOKEN_REFRESH_MAX_RETRY_INTE... constant tokenRefreshMaxElapsedTimeEnv (line 49) | tokenRefreshMaxElapsedTimeEnv = "TOOLHIVE_TOKEN_REFRESH_MAX_ELAPSED_TIME" constant tokenRefreshMaxTriesEnv (line 51) | tokenRefreshMaxTriesEnv = "TOOLHIVE_TOKEN_REFRESH_MAX_TRIES" function resolveTokenRefreshInitialRetryInterval (line 57) | func resolveTokenRefreshInitialRetryInterval() time.Duration { function resolveTokenRefreshMaxRetryInterval (line 67) | func resolveTokenRefreshMaxRetryInterval() time.Duration { function resolveTokenRefreshMaxTries (line 77) | func resolveTokenRefreshMaxTries() uint { function resolveTokenRefreshMaxElapsedTime (line 92) | func resolveTokenRefreshMaxElapsedTime() time.Duration { function resolveDurationEnv (line 102) | func resolveDurationEnv(envVar string, defaultVal time.Duration) time.Du... type StatusUpdater (line 120) | type StatusUpdater interface type transientRefresher (line 127) | type transientRefresher struct method Refresh (line 146) | func (r *transientRefresher) Refresh(ctx context.Context, origErr erro... method retry (line 162) | func (r *transientRefresher) retry(ctx context.Context, origErr error)... method getBackOff (line 193) | func (r *transientRefresher) getBackOff() backoff.BackOff { type MonitoredTokenSource (line 212) | type MonitoredTokenSource struct method Stopped (line 248) | func (mts *MonitoredTokenSource) Stopped() <-chan struct{} { method Token (line 260) | func (mts *MonitoredTokenSource) Token() (*oauth2.Token, error) { method StartBackgroundMonitoring (line 285) | func (mts *MonitoredTokenSource) StartBackgroundMonitoring() { method monitorLoop (line 292) | func (mts *MonitoredTokenSource) monitorLoop() { method stopTimer (line 313) | func (mts *MonitoredTokenSource) stopTimer() { method resetTimer (line 322) | func (mts *MonitoredTokenSource) resetTimer(d time.Duration) { method onTick (line 330) | func (mts *MonitoredTokenSource) onTick() (bool, time.Duration) { method markAsUnauthenticated (line 418) | func (mts *MonitoredTokenSource) markAsUnauthenticated(reason string) { function NewMonitoredTokenSource (line 229) | func NewMonitoredTokenSource( function isTransientNetworkError (line 352) | func isTransientNetworkError(err error) bool { function isOAuthParseError (line 408) | func isOAuthParseError(err error) bool { FILE: pkg/auth/monitored_token_source_test.go type mockStatusUpdater (line 29) | type mockStatusUpdater struct method SetWorkloadStatus (line 38) | func (m *mockStatusUpdater) SetWorkloadStatus(ctx context.Context, wor... function newMockStatusUpdater (line 33) | func newMockStatusUpdater(ctrl *gomock.Controller) (*mockStatusUpdater, ... type mockTokenSource (line 44) | type mockTokenSource struct method setTokenFn (line 60) | func (m *mockTokenSource) setTokenFn(fn func() (*oauth2.Token, error)) { method notifyOnCall (line 68) | func (m *mockTokenSource) notifyOnCall(n int) <-chan struct{} { method Token (line 77) | func (m *mockTokenSource) Token() (*oauth2.Token, error) { function newMockTokenSource (line 52) | func newMockTokenSource() *mockTokenSource { function createRetrieveError (line 90) | func createRetrieveError(statusCode int, body string) *oauth2.RetrieveEr... function TestMonitoredTokenSource_SuccessfulTokenRetrieval (line 101) | func TestMonitoredTokenSource_SuccessfulTokenRetrieval(t *testing.T) { function TestMonitoredTokenSource_AuthenticationErrorMarksUnauthenticated (line 137) | func TestMonitoredTokenSource_AuthenticationErrorMarksUnauthenticated(t ... function TestMonitoredTokenSource_ErrorMarksUnauthenticated (line 182) | func TestMonitoredTokenSource_ErrorMarksUnauthenticated(t *testing.T) { function TestMonitoredTokenSource_BackgroundMonitoring (line 221) | func TestMonitoredTokenSource_BackgroundMonitoring(t *testing.T) { function TestMonitoredTokenSource_BackgroundMonitoringStopsOnAnyError (line 272) | func TestMonitoredTokenSource_BackgroundMonitoringStopsOnAnyError(t *tes... function TestMonitoredTokenSource_ExpiredTokenHandling (line 323) | func TestMonitoredTokenSource_ExpiredTokenHandling(t *testing.T) { function TestMonitoredTokenSource_StopMonitoring (line 358) | func TestMonitoredTokenSource_StopMonitoring(t *testing.T) { function TestMonitoredTokenSource_MultipleCallsToToken (line 394) | func TestMonitoredTokenSource_MultipleCallsToToken(t *testing.T) { function TestTransientRefresher_SingleflightDeduplicatesConcurrentRetries (line 437) | func TestTransientRefresher_SingleflightDeduplicatesConcurrentRetries(t ... type timeoutNetError (line 550) | type timeoutNetError struct method Error (line 552) | func (*timeoutNetError) Error() string { return "i/o timeout" } method Timeout (line 553) | func (*timeoutNetError) Timeout() bool { return true } method Temporary (line 554) | func (*timeoutNetError) Temporary() bool { return true } function fastBackOff (line 559) | func fastBackOff() backoff.BackOff { function TestMonitoredTokenSource_BackgroundMonitor_ErrorClassification (line 573) | func TestMonitoredTokenSource_BackgroundMonitor_ErrorClassification(t *t... function TestMonitoredTokenSource_TransientErrorRetriesAndSucceeds (line 665) | func TestMonitoredTokenSource_TransientErrorRetriesAndSucceeds(t *testin... function TestMonitoredTokenSource_TransientErrorContextCancellation (line 715) | func TestMonitoredTokenSource_TransientErrorContextCancellation(t *testi... function TestMonitoredTokenSource_TransientThenNonTransientMarksUnauthenticated (line 755) | func TestMonitoredTokenSource_TransientThenNonTransientMarksUnauthentica... FILE: pkg/auth/oauth/flow.go type Config (line 31) | type Config struct type Flow (line 74) | type Flow struct method generatePKCEParams (line 172) | func (f *Flow) generatePKCEParams() { method generateState (line 181) | func (f *Flow) generateState() error { method Start (line 191) | func (f *Flow) Start(ctx context.Context, skipBrowser bool) (*TokenRes... method buildAuthURL (line 263) | func (f *Flow) buildAuthURL() string { method handleCallback (line 306) | func (f *Flow) handleCallback(tokenChan chan<- *oauth2.Token, errorCha... method setSecurityHeaders (line 368) | func (*Flow) setSecurityHeaders(w http.ResponseWriter) { method handleRoot (line 378) | func (f *Flow) handleRoot() http.HandlerFunc { method writeSuccessPage (line 417) | func (f *Flow) writeSuccessPage(w http.ResponseWriter) { method writeErrorPage (line 448) | func (*Flow) writeErrorPage(w http.ResponseWriter, err error) { method processToken (line 487) | func (f *Flow) processToken(_ context.Context, token *oauth2.Token) *T... method TokenSource (line 536) | func (f *Flow) TokenSource() oauth2.TokenSource { method extractJWTClaims (line 541) | func (*Flow) extractJWTClaims(tokenString string) (jwt.MapClaims, erro... type TokenResult (line 89) | type TokenResult struct function NewFlow (line 99) | func NewFlow(config *Config) (*Flow, error) { FILE: pkg/auth/oauth/flow_test.go function TestMain (line 26) | func TestMain(m *testing.M) { function TestNewFlow (line 34) | func TestNewFlow(t *testing.T) { function TestGeneratePKCEParams (line 145) | func TestGeneratePKCEParams(t *testing.T) { function TestGenerateState (line 178) | func TestGenerateState(t *testing.T) { function TestBuildAuthURL (line 200) | func TestBuildAuthURL(t *testing.T) { function TestHandleCallback_SecurityValidation (line 317) | func TestHandleCallback_SecurityValidation(t *testing.T) { function TestSecurityHeaders (line 403) | func TestSecurityHeaders(t *testing.T) { function TestHandleRoot_SecurityValidation (line 425) | func TestHandleRoot_SecurityValidation(t *testing.T) { function TestWriteErrorPage_XSSPrevention (line 481) | func TestWriteErrorPage_XSSPrevention(t *testing.T) { function TestProcessToken (line 508) | func TestProcessToken(t *testing.T) { function TestExtractJWTClaims (line 537) | func TestExtractJWTClaims(t *testing.T) { function TestPKCESecurityProperties (line 602) | func TestPKCESecurityProperties(t *testing.T) { function TestStateSecurityProperties (line 627) | func TestStateSecurityProperties(t *testing.T) { function TestStart (line 649) | func TestStart(t *testing.T) { function TestWriteSuccessPage (line 742) | func TestWriteSuccessPage(t *testing.T) { function TestHandleCallback_SuccessfulFlow (line 771) | func TestHandleCallback_SuccessfulFlow(t *testing.T) { function TestProcessToken_WithJWTClaims (line 852) | func TestProcessToken_WithJWTClaims(t *testing.T) { function TestProcessToken_WithOpaqueToken (line 900) | func TestProcessToken_WithOpaqueToken(t *testing.T) { function TestExtractJWTClaims_ErrorCases (line 928) | func TestExtractJWTClaims_ErrorCases(t *testing.T) { function TestTokenRefreshAfterContextCancellation (line 975) | func TestTokenRefreshAfterContextCancellation(t *testing.T) { function TestProcessToken_ResourceTokenSourceSelection (line 1037) | func TestProcessToken_ResourceTokenSourceSelection(t *testing.T) { function TestAuthStyleInParams_StrictPublicClientServer (line 1262) | func TestAuthStyleInParams_StrictPublicClientServer(t *testing.T) { FILE: pkg/auth/oauth/manual.go function CreateOAuthConfigManual (line 14) | func CreateOAuthConfigManual( FILE: pkg/auth/oauth/manual_test.go function TestCreateOAuthConfigManual (line 13) | func TestCreateOAuthConfigManual(t *testing.T) { function TestCreateOAuthConfigManual_ScopeDefaultBehavior (line 300) | func TestCreateOAuthConfigManual_ScopeDefaultBehavior(t *testing.T) { function TestCreateOAuthConfigManual_PKCEBehavior (line 349) | func TestCreateOAuthConfigManual_PKCEBehavior(t *testing.T) { function TestCreateOAuthConfigManual_CallbackPortBehavior (line 393) | func TestCreateOAuthConfigManual_CallbackPortBehavior(t *testing.T) { function TestCreateOAuthConfigManual_OAuthParamsBehavior (line 442) | func TestCreateOAuthConfigManual_OAuthParamsBehavior(t *testing.T) { FILE: pkg/auth/oauth/non_caching_refresher.go type NonCachingRefresher (line 34) | type NonCachingRefresher struct method Token (line 57) | func (n *NonCachingRefresher) Token() (*oauth2.Token, error) { method refreshStandard (line 95) | func (n *NonCachingRefresher) refreshStandard(ctx context.Context) (*o... method refreshWithResource (line 117) | func (n *NonCachingRefresher) refreshWithResource(ctx context.Context)... function NewNonCachingRefresher (line 45) | func NewNonCachingRefresher(cfg *oauth2.Config, refreshToken, resource s... FILE: pkg/auth/oauth/oidc.go function DiscoverOIDCEndpoints (line 24) | func DiscoverOIDCEndpoints(ctx context.Context, issuer string) (*oauthpr... function DiscoverActualIssuer (line 31) | func DiscoverActualIssuer(ctx context.Context, metadataURL string) (*oau... function discoverOIDCEndpointsWithClient (line 36) | func discoverOIDCEndpointsWithClient( function discoverOIDCEndpointsWithClientAndValidation (line 48) | func discoverOIDCEndpointsWithClientAndValidation( function validateOIDCDocument (line 155) | func validateOIDCDocument( function CreateOAuthConfigFromOIDC (line 201) | func CreateOAuthConfigFromOIDC( function createOAuthConfigFromOIDCWithClient (line 213) | func createOAuthConfigFromOIDCWithClient( function buildWellKnownURLs (line 256) | func buildWellKnownURLs(issuer string, insecureAllowHTTP bool) (oidcURL,... FILE: pkg/auth/oauth/oidc_test.go constant httpsScheme (line 26) | httpsScheme = "https" constant wellKnownPath (line 27) | wellKnownPath = oauthproto.WellKnownOIDCPath function testDiscoverOIDCEndpoints (line 31) | func testDiscoverOIDCEndpoints( function TestDiscoverOIDCEndpoints (line 110) | func TestDiscoverOIDCEndpoints(t *testing.T) { function TestValidateOIDCDocument (line 339) | func TestValidateOIDCDocument(t *testing.T) { function TestValidateEndpointURL (line 486) | func TestValidateEndpointURL(t *testing.T) { function TestIsLocalhost (line 543) | func TestIsLocalhost(t *testing.T) { function testCreateOAuthConfigFromOIDC (line 572) | func testCreateOAuthConfigFromOIDC( function TestCreateOAuthConfigFromOIDC (line 618) | func TestCreateOAuthConfigFromOIDC(t *testing.T) { function TestOIDCDiscovery_SecurityProperties (line 739) | func TestOIDCDiscovery_SecurityProperties(t *testing.T) { function TestOIDCDiscovery_EdgeCases (line 835) | func TestOIDCDiscovery_EdgeCases(t *testing.T) { function TestDiscoverOIDCEndpoints_Production (line 897) | func TestDiscoverOIDCEndpoints_Production(t *testing.T) { function TestCreateOAuthConfigFromOIDC_Production (line 1146) | func TestCreateOAuthConfigFromOIDC_Production(t *testing.T) { function TestValidateEndpointURL_AdditionalCases (line 1280) | func TestValidateEndpointURL_AdditionalCases(t *testing.T) { function TestBuildWellKnownURLs (line 1341) | func TestBuildWellKnownURLs(t *testing.T) { FILE: pkg/auth/oauth/resource_token_source.go type resourceTokenSource (line 14) | type resourceTokenSource struct method Token (line 32) | func (r *resourceTokenSource) Token() (*oauth2.Token, error) { function NewResourceTokenSource (line 22) | func NewResourceTokenSource(config *oauth2.Config, token *oauth2.Token, ... FILE: pkg/auth/oauth/resource_token_source_test.go function clientCredentialsFromRequest (line 19) | func clientCredentialsFromRequest(r *http.Request) (clientID, clientSecr... function TestNewResourceTokenSource (line 31) | func TestNewResourceTokenSource(t *testing.T) { function TestResourceTokenSource_Token_ValidToken (line 74) | func TestResourceTokenSource_Token_ValidToken(t *testing.T) { function TestResourceTokenSource_Token_ExpiredToken (line 103) | func TestResourceTokenSource_Token_ExpiredToken(t *testing.T) { function TestResourceTokenSource_RefreshErrors (line 253) | func TestResourceTokenSource_RefreshErrors(t *testing.T) { function TestResourceTokenSource_HTTPClientReuse (line 399) | func TestResourceTokenSource_HTTPClientReuse(t *testing.T) { function TestResourceTokenSource_RFC8707Compliance (line 471) | func TestResourceTokenSource_RFC8707Compliance(t *testing.T) { function TestResourceTokenSource_ScopeInRefresh (line 570) | func TestResourceTokenSource_ScopeInRefresh(t *testing.T) { FILE: pkg/auth/remote/bearer_token_source.go type BearerTokenSource (line 14) | type BearerTokenSource struct method Token (line 27) | func (b *BearerTokenSource) Token() (*oauth2.Token, error) { function NewBearerTokenSource (line 19) | func NewBearerTokenSource(bearerToken string) *BearerTokenSource { FILE: pkg/auth/remote/bearer_token_source_test.go function TestBearerTokenSource (line 14) | func TestBearerTokenSource(t *testing.T) { function TestBearerTokenSource_Consistency (line 59) | func TestBearerTokenSource_Consistency(t *testing.T) { function TestBearerTokenSource_ImplementsTokenSource (line 75) | func TestBearerTokenSource_ImplementsTokenSource(t *testing.T) { FILE: pkg/auth/remote/config.go type Config (line 20) | type Config struct method UnmarshalJSON (line 90) | func (r *Config) UnmarshalJSON(data []byte) error { method HasValidCachedTokens (line 157) | func (c *Config) HasValidCachedTokens() bool { method ClearCachedTokens (line 164) | func (c *Config) ClearCachedTokens() { method HasCachedClientCredentials (line 170) | func (c *Config) HasCachedClientCredentials() bool { method HasCachedCIMDClientID (line 175) | func (c *Config) HasCachedCIMDClientID() bool { method ClearCachedClientCredentials (line 182) | func (c *Config) ClearCachedClientCredentials() { constant BearerTokenEnvVarName (line 86) | BearerTokenEnvVarName = "TOOLHIVE_REMOTE_AUTH_BEARER_TOKEN" constant DefaultCallbackPort (line 151) | DefaultCallbackPort = 8666 function DefaultResourceIndicator (line 192) | func DefaultResourceIndicator(remoteServerURL string) string { function normalizeResourceURI (line 215) | func normalizeResourceURI(resourceURI string) (string, error) { FILE: pkg/auth/remote/config_test.go function TestDeriveResourceIndicator (line 14) | func TestDeriveResourceIndicator(t *testing.T) { function TestConfig_BearerTokenFields (line 64) | func TestConfig_BearerTokenFields(t *testing.T) { function TestBearerTokenEnvVarName (line 102) | func TestBearerTokenEnvVarName(t *testing.T) { function TestConfig_UnmarshalJSON_BearerTokenFields (line 107) | func TestConfig_UnmarshalJSON_BearerTokenFields(t *testing.T) { function TestConfig_HasCachedClientCredentials (line 159) | func TestConfig_HasCachedClientCredentials(t *testing.T) { function TestConfig_HasCachedCIMDClientID (line 207) | func TestConfig_HasCachedCIMDClientID(t *testing.T) { function TestConfig_ClearCachedClientCredentials (line 238) | func TestConfig_ClearCachedClientCredentials(t *testing.T) { FILE: pkg/auth/remote/handler.go type Handler (line 22) | type Handler struct method SetTokenPersister (line 38) | func (h *Handler) SetTokenPersister(persister TokenPersister) { method SetSecretProvider (line 43) | func (h *Handler) SetSecretProvider(provider secrets.Provider) { method SetClientCredentialsPersister (line 49) | func (h *Handler) SetClientCredentialsPersister(persister ClientCreden... method Authenticate (line 54) | func (h *Handler) Authenticate(ctx context.Context, remoteURL string) ... method validateBearerRequirement (line 110) | func (*Handler) validateBearerRequirement(authInfo *discovery.AuthInfo... method performOAuthFlow (line 129) | func (h *Handler) performOAuthFlow( method buildOAuthFlowConfig (line 164) | func (h *Handler) buildOAuthFlowConfig(scopes []string, authServerInfo... method wrapWithPersistence (line 195) | func (h *Handler) wrapWithPersistence(result *discovery.OAuthFlowResul... method resolveClientCredentials (line 235) | func (h *Handler) resolveClientCredentials(ctx context.Context) (clien... method tryRestoreFromCachedTokens (line 270) | func (h *Handler) tryRestoreFromCachedTokens( method discoverIssuerAndScopes (line 350) | func (h *Handler) discoverIssuerAndScopes( method tryDiscoverFromResourceMetadata (line 405) | func (h *Handler) tryDiscoverFromResourceMetadata( method findValidAuthServer (line 442) | func (*Handler) findValidAuthServer( method tryDiscoverFromWellKnown (line 467) | func (h *Handler) tryDiscoverFromWellKnown( function NewHandler (line 30) | func NewHandler(config *Config) *Handler { function shouldUseCIMD (line 504) | func shouldUseCIMD(authServerInfo *discovery.AuthServerInfo, flowConfig ... function isCIMDRejectionError (line 520) | func isCIMDRejectionError(err error) bool { FILE: pkg/auth/remote/handler_test.go constant resourceMetadataPath (line 24) | resourceMetadataPath = "/.well-known/resource-metadata" function TestDiscoverIssuerAndScopes (line 27) | func TestDiscoverIssuerAndScopes(t *testing.T) { function createMockAuthServer (line 311) | func createMockAuthServer(t *testing.T, issuer string) *httptest.Server { function createMock404Server (line 336) | func createMock404Server(t *testing.T) *httptest.Server { function createMockResourceMetadataServer (line 343) | func createMockResourceMetadataServer(t *testing.T, authServers []string... function createMockResourceMetadataServerWithScopes (line 358) | func createMockResourceMetadataServerWithScopes(t *testing.T, authServer... function TestDiscoverIssuerAndScopes_Security (line 375) | func TestDiscoverIssuerAndScopes_Security(t *testing.T) { function TestTryDiscoverFromWellKnown (line 456) | func TestTryDiscoverFromWellKnown(t *testing.T) { function TestDiscoveryPriorityChain (line 516) | func TestDiscoveryPriorityChain(t *testing.T) { function TestTryDiscoverFromResourceMetadata_EmptyScopes (line 597) | func TestTryDiscoverFromResourceMetadata_EmptyScopes(t *testing.T) { function TestAuthenticate_BearerToken (line 695) | func TestAuthenticate_BearerToken(t *testing.T) { function TestAuthenticate_BearerTokenPriority (line 774) | func TestAuthenticate_BearerTokenPriority(t *testing.T) { function retrieveErr (line 804) | func retrieveErr(code string) *oauth2.RetrieveError { function TestIsCIMDRejectionError (line 809) | func TestIsCIMDRejectionError(t *testing.T) { function TestAuthenticate_BearerTokenDiscovery (line 885) | func TestAuthenticate_BearerTokenDiscovery(t *testing.T) { function TestResolveClientCredentials (line 944) | func TestResolveClientCredentials(t *testing.T) { FILE: pkg/auth/remote/handler_test_helpers_test.go constant dynamicTestType (line 15) | dynamicTestType = "dynamic" type testServerSetup (line 19) | type testServerSetup struct method cleanup (line 27) | func (s *testServerSetup) cleanup() { function setupResourceMetadataTest (line 45) | func setupResourceMetadataTest(t *testing.T, testType string) (*testServ... function processTestServers (line 87) | func processTestServers(t *testing.T, tt *testCase) (*testServerSetup, *... function processURLsForServers (line 144) | func processURLsForServers(tt *testCase, authInfo *discovery.AuthInfo, r... function containsAny (line 180) | func containsAny(s string, substrs ...string) bool { function replaceFirst (line 189) | func replaceFirst(s, old, replacement string) string { type testCase (line 194) | type testCase struct FILE: pkg/auth/remote/persisting_token_source.go type TokenPersister (line 20) | type TokenPersister type ClientCredentialsPersister (line 24) | type ClientCredentialsPersister type PersistingTokenSource (line 29) | type PersistingTokenSource struct method Token (line 49) | func (p *PersistingTokenSource) Token() (*oauth2.Token, error) { function NewPersistingTokenSource (line 40) | func NewPersistingTokenSource(source oauth2.TokenSource, persister Token... function CreateTokenSourceFromCached (line 79) | func CreateTokenSourceFromCached( FILE: pkg/auth/remote/persisting_token_source_test.go type mockTokenSource (line 18) | type mockTokenSource struct method Token (line 24) | func (m *mockTokenSource) Token() (*oauth2.Token, error) { function TestPersistingTokenSource_Token (line 36) | func TestPersistingTokenSource_Token(t *testing.T) { function TestPersistingTokenSource_PersisterError (line 119) | func TestPersistingTokenSource_PersisterError(t *testing.T) { function TestPersistingTokenSource_NilPersister (line 141) | func TestPersistingTokenSource_NilPersister(t *testing.T) { function TestConfig_HasValidCachedTokens (line 159) | func TestConfig_HasValidCachedTokens(t *testing.T) { function TestConfig_ClearCachedTokens (line 204) | func TestConfig_ClearCachedTokens(t *testing.T) { function TestCreateTokenSourceFromCached (line 218) | func TestCreateTokenSourceFromCached(t *testing.T) { FILE: pkg/auth/secrets/secrets.go type TokenType (line 22) | type TokenType constant TokenTypeOAuthClientSecret (line 27) | TokenTypeOAuthClientSecret TokenType = "oauth_client_secret" constant TokenTypeBearerToken (line 29) | TokenTypeBearerToken TokenType = "bearer_token" constant TokenTypeOAuthRefreshToken (line 32) | TokenTypeOAuthRefreshToken TokenType = "oauth_refresh_token" type tokenTypeConfig (line 36) | type tokenTypeConfig struct function ProcessSecret (line 68) | func ProcessSecret(workloadName, secretValue string, tokenType TokenType... function ProcessSecretWithProvider (line 92) | func ProcessSecretWithProvider( function processSecretWithProvider (line 109) | func processSecretWithProvider( function GenerateUniqueSecretNameWithPrefix (line 141) | func GenerateUniqueSecretNameWithPrefix(workloadName, prefix string, sec... function StoreSecretInManagerWithProvider (line 165) | func StoreSecretInManagerWithProvider(ctx context.Context, secretName, s... function GetUserSecretsProvider (line 182) | func GetUserSecretsProvider() (secrets.Provider, error) { function GetSystemSecretsProvider (line 207) | func GetSystemSecretsProvider() (secrets.Provider, error) { function getSystemSecretsProviderFromConfig (line 214) | func getSystemSecretsProviderFromConfig(configProvider config.Provider, ... function GetSecretsManager (line 240) | func GetSecretsManager() (secrets.Provider, error) { FILE: pkg/auth/secrets/secrets_test.go function TestGetSystemSecretsProvider_EnvOverrideBypassesSetup (line 24) | func TestGetSystemSecretsProvider_EnvOverrideBypassesSetup(t *testing.T) { function TestGetSystemSecretsProvider_NoSetupNoEnvVar (line 45) | func TestGetSystemSecretsProvider_NoSetupNoEnvVar(t *testing.T) { function TestGenerateUniqueSecretNameWithPrefix (line 63) | func TestGenerateUniqueSecretNameWithPrefix(t *testing.T) { function TestStoreSecretInManagerWithProvider (line 164) | func TestStoreSecretInManagerWithProvider(t *testing.T) { function TestProcessSecret (line 239) | func TestProcessSecret(t *testing.T) { function TestProcessSecretWithProvider (line 272) | func TestProcessSecretWithProvider(t *testing.T) { FILE: pkg/auth/token.go type TokenIntrospector (line 34) | type TokenIntrospector interface type Registry (line 46) | type Registry struct method GetIntrospector (line 58) | func (r *Registry) GetIntrospector(introspectURL string) TokenIntrospe... method AddProvider (line 72) | func (r *Registry) AddProvider(provider TokenIntrospector) { function NewRegistry (line 51) | func NewRegistry() *Registry { constant GoogleTokeninfoURL (line 77) | GoogleTokeninfoURL = "https://oauth2.googleapis.com/tokeninfo" type GoogleProvider (line 80) | type GoogleProvider struct method Name (line 94) | func (*GoogleProvider) Name() string { method CanHandle (line 99) | func (g *GoogleProvider) CanHandle(introspectURL string) bool { method IntrospectToken (line 104) | func (g *GoogleProvider) IntrospectToken(ctx context.Context, token st... method parseGoogleResponse (line 159) | func (*GoogleProvider) parseGoogleResponse(body []byte) (jwt.MapClaims... function NewGoogleProvider (line 86) | func NewGoogleProvider(introspectURL string) *GoogleProvider { type RFC7662Provider (line 233) | type RFC7662Provider struct method Name (line 271) | func (*RFC7662Provider) Name() string { method CanHandle (line 278) | func (r *RFC7662Provider) CanHandle(introspectURL string) bool { method IntrospectToken (line 288) | func (r *RFC7662Provider) IntrospectToken(ctx context.Context, token s... function NewRFC7662Provider (line 241) | func NewRFC7662Provider(introspectURL string) *RFC7662Provider { function NewRFC7662ProviderWithAuth (line 249) | func NewRFC7662ProviderWithAuth( type TokenValidator (line 356) | type TokenValidator struct method ensureJWKSRegistered (line 713) | func (v *TokenValidator) ensureJWKSRegistered(ctx context.Context) err... method ensureOIDCDiscovered (line 763) | func (v *TokenValidator) ensureOIDCDiscovered(ctx context.Context) err... method getKeyFromLocalProvider (line 860) | func (v *TokenValidator) getKeyFromLocalProvider(ctx context.Context, ... method getKeyFromJWKS (line 889) | func (v *TokenValidator) getKeyFromJWKS(ctx context.Context, token *jw... method validateClaims (line 946) | func (v *TokenValidator) validateClaims(claims jwt.MapClaims) error { method introspectOpaqueToken (line 1028) | func (v *TokenValidator) introspectOpaqueToken(ctx context.Context, to... method ValidateToken (line 1054) | func (v *TokenValidator) ValidateToken(ctx context.Context, tokenStrin... method buildWWWAuthenticate (line 1112) | func (v *TokenValidator) buildWWWAuthenticate(errorCode string, errDes... method loadUpstreamTokens (line 1188) | func (v *TokenValidator) loadUpstreamTokens(ctx context.Context, claim... method Middleware (line 1203) | func (v *TokenValidator) Middleware(next http.Handler) http.Handler { type TokenValidatorConfig (line 397) | type TokenValidatorConfig struct function discoverOIDCConfiguration (line 441) | func discoverOIDCConfiguration( function NewTokenValidatorConfig (line 495) | func NewTokenValidatorConfig(issuer, audience, jwksURL, clientID string,... function registerIntrospectionProviders (line 512) | func registerIntrospectionProviders(config TokenValidatorConfig, clientS... type tokenValidatorOptions (line 553) | type tokenValidatorOptions struct type TokenValidatorOption (line 560) | type TokenValidatorOption function WithEnvReader (line 564) | func WithEnvReader(reader env.Reader) TokenValidatorOption { function WithUpstreamTokenReader (line 574) | func WithUpstreamTokenReader(reader upstreamtoken.TokenReader) TokenVali... function WithKeyProvider (line 587) | func WithKeyProvider(provider keys.PublicKeyProvider) TokenValidatorOpti... function resolveClientSecret (line 595) | func resolveClientSecret(configSecret string, envReader env.Reader) stri... function NewTokenValidator (line 606) | func NewTokenValidator(ctx context.Context, config TokenValidatorConfig,... constant oidcDiscoveryMaxAttempts (line 743) | oidcDiscoveryMaxAttempts = 3 constant oidcDiscoveryInitialInterval (line 746) | oidcDiscoveryInitialInterval = 500 * time.Millisecond constant oidcDiscoveryMaxInterval (line 749) | oidcDiscoveryMaxInterval = 2 * time.Second constant oidcDiscoveryAttemptTimeout (line 752) | oidcDiscoveryAttemptTimeout = 5 * time.Second function validateTokenHeader (line 845) | func validateTokenHeader(token *jwt.Token) (string, error) { function parseIntrospectionClaims (line 986) | func parseIntrospectionClaims(r io.Reader) (jwt.MapClaims, error) { constant OAuthErrInvalidRequest (line 1158) | OAuthErrInvalidRequest = "invalid_request" constant OAuthErrInvalidToken (line 1159) | OAuthErrInvalidToken = "invalid_token" constant OAuthErrInsufficientScope (line 1160) | OAuthErrInsufficientScope = "insufficient_scope" type RFC6750Error (line 1164) | type RFC6750Error struct function writeOAuthError (line 1170) | func writeOAuthError(w http.ResponseWriter, errorCode, description strin... type RFC9728AuthInfo (line 1251) | type RFC9728AuthInfo struct function NewAuthInfoHandler (line 1260) | func NewAuthInfoHandler(issuer, resourceURL string, scopes []string) htt... FILE: pkg/auth/token_test.go constant testKeyID (line 36) | testKeyID = "test-key-1" constant expClaim (line 37) | expClaim = "exp" constant issuer (line 38) | issuer = "https://issuer.example.com" constant schemeHTTPS (line 39) | schemeHTTPS = "https" function TestTokenValidator (line 43) | func TestTokenValidator(t *testing.T) { function TestTokenValidatorMiddleware (line 191) | func TestTokenValidatorMiddleware(t *testing.T) { function createTestOIDCServer (line 380) | func createTestOIDCServer(_ *testing.T, jwksURL string) *httptest.Server { function writeTestServerCert (line 410) | func writeTestServerCert(t *testing.T, server *httptest.Server) string { function createTestJWKSServer (line 444) | func createTestJWKSServer(t *testing.T, keySet jwk.Set) (*httptest.Serve... function TestDiscoverOIDCConfiguration (line 470) | func TestDiscoverOIDCConfiguration(t *testing.T) { function TestNewTokenValidatorWithOIDCDiscovery (line 545) | func TestNewTokenValidatorWithOIDCDiscovery(t *testing.T) { function TestTokenValidator_SkipOIDCDiscovery_RequiresExplicitJWKSURL (line 789) | func TestTokenValidator_SkipOIDCDiscovery_RequiresExplicitJWKSURL(t *tes... function TestTokenValidator_SkipOIDCDiscovery_WorksWithExplicitJWKSURL (line 816) | func TestTokenValidator_SkipOIDCDiscovery_WorksWithExplicitJWKSURL(t *te... function TestEnsureOIDCDiscovered_RetryAfterFailure (line 848) | func TestEnsureOIDCDiscovered_RetryAfterFailure(t *testing.T) { function TestValidateToken_TriggersLazyDiscovery (line 923) | func TestValidateToken_TriggersLazyDiscovery(t *testing.T) { function TestTokenValidator_OpaqueToken (line 1024) | func TestTokenValidator_OpaqueToken(t *testing.T) { function TestNewAuthInfoHandler (line 1104) | func TestNewAuthInfoHandler(t *testing.T) { function parseAuthParams (line 1291) | func parseAuthParams(ch string) map[string]string { function TestMiddleware_WWWAuthenticate_NoHeader_And_WrongScheme (line 1338) | func TestMiddleware_WWWAuthenticate_NoHeader_And_WrongScheme(t *testing.... function TestParseGoogleTokeninfoClaims (line 1419) | func TestParseGoogleTokeninfoClaims(t *testing.T) { function TestMiddleware_WWWAuthenticate_InvalidOpaqueToken_NoIntrospectionConfigured (line 1541) | func TestMiddleware_WWWAuthenticate_InvalidOpaqueToken_NoIntrospectionCo... function TestMiddleware_WWWAuthenticate_WithMockIntrospection (line 1586) | func TestMiddleware_WWWAuthenticate_WithMockIntrospection(t *testing.T) { function TestBuildWWWAuthenticate_Format (line 1708) | func TestBuildWWWAuthenticate_Format(t *testing.T) { function TestBuildWWWAuthenticate_Scope (line 1724) | func TestBuildWWWAuthenticate_Scope(t *testing.T) { function TestBuildWWWAuthenticate_ScopeOrdering (line 1781) | func TestBuildWWWAuthenticate_ScopeOrdering(t *testing.T) { function TestBuildWWWAuthenticate_ResourceMetadata (line 1806) | func TestBuildWWWAuthenticate_ResourceMetadata(t *testing.T) { function TestIntrospectGoogleToken (line 1926) | func TestIntrospectGoogleToken(t *testing.T) { function TestTokenValidator_GoogleTokeninfoIntegration (line 2045) | func TestTokenValidator_GoogleTokeninfoIntegration(t *testing.T) { function TestMiddleware_RFC6750JSONErrorResponse (line 2153) | func TestMiddleware_RFC6750JSONErrorResponse(t *testing.T) { function TestLoadUpstreamTokens (line 2231) | func TestLoadUpstreamTokens(t *testing.T) { function TestWithUpstreamTokenReader (line 2323) | func TestWithUpstreamTokenReader(t *testing.T) { function TestMiddleware_UpstreamTokenEnrichment (line 2338) | func TestMiddleware_UpstreamTokenEnrichment(t *testing.T) { function TestWithKeyProvider (line 2472) | func TestWithKeyProvider(t *testing.T) { function TestGetKeyFromLocalProvider (line 2485) | func TestGetKeyFromLocalProvider(t *testing.T) { function TestValidateToken_DiscoveryFailsWithKeyProvider (line 2603) | func TestValidateToken_DiscoveryFailsWithKeyProvider(t *testing.T) { FILE: pkg/auth/tokenexchange/exchange.go constant defaultHTTPTimeout (line 27) | defaultHTTPTimeout = 30 * time.Second constant maxResponseBodySize (line 30) | maxResponseBodySize = 1 << 20 constant redactedPlaceholder (line 33) | redactedPlaceholder = "[REDACTED]" constant emptyPlaceholder (line 36) | emptyPlaceholder = "" function NormalizeTokenType (line 45) | func NormalizeTokenType(tokenType string) (string, error) { type oAuthError (line 71) | type oAuthError struct method String (line 78) | func (e *oAuthError) String() string { function parseOAuthError (line 86) | func parseOAuthError(statusCode int, body []byte) *oAuthError { type actingParty (line 105) | type actingParty struct type exchangeRequest (line 112) | type exchangeRequest struct method String (line 127) | func (r exchangeRequest) String() string { type response (line 146) | type response struct method String (line 156) | func (r response) String() string { type clientAuthentication (line 172) | type clientAuthentication struct method String (line 178) | func (c clientAuthentication) String() string { type ExchangeConfig (line 189) | type ExchangeConfig struct method Validate (line 232) | func (c *ExchangeConfig) Validate() error { method TokenSource (line 363) | func (c *ExchangeConfig) TokenSource(ctx context.Context) oauth2.Token... type tokenSource (line 279) | type tokenSource struct method Token (line 286) | func (ts *tokenSource) Token() (*oauth2.Token, error) { function exchangeToken (line 372) | func exchangeToken( function buildTokenExchangeFormData (line 407) | func buildTokenExchangeFormData(request *exchangeRequest) (url.Values, e... function addOptionalFields (line 440) | func addOptionalFields(data url.Values, request *exchangeRequest) { function createTokenExchangeRequest (line 462) | func createTokenExchangeRequest( function executeTokenExchangeRequest (line 488) | func executeTokenExchangeRequest(client *http.Client, req *http.Request)... function validateResponseStatus (line 513) | func validateResponseStatus(statusCode int, body []byte) error { function parseTokenExchangeResponse (line 531) | func parseTokenExchangeResponse(body []byte) (*response, error) { FILE: pkg/auth/tokenexchange/exchange_test.go constant testSubjectToken (line 28) | testSubjectToken = "test-subject-token" type responseBuilder (line 34) | type responseBuilder struct method withAccessToken (line 51) | func (b *responseBuilder) withAccessToken(token string) *responseBuild... method withExpiry (line 57) | func (b *responseBuilder) withExpiry(seconds int) *responseBuilder { method withRefreshToken (line 63) | func (b *responseBuilder) withRefreshToken(token string) *responseBuil... method withScope (line 69) | func (b *responseBuilder) withScope(scope string) *responseBuilder { method build (line 75) | func (b *responseBuilder) build() response { function newResponse (line 40) | func newResponse() *responseBuilder { function TestNormalizeTokenType (line 80) | func TestNormalizeTokenType(t *testing.T) { function TestTokenSource_Token_Success (line 169) | func TestTokenSource_Token_Success(t *testing.T) { function TestTokenSource_Token_WithRefreshToken (line 247) | func TestTokenSource_Token_WithRefreshToken(t *testing.T) { function TestTokenSource_Token_NoExpiry (line 282) | func TestTokenSource_Token_NoExpiry(t *testing.T) { function TestTokenSource_Token_SubjectTokenProviderError (line 314) | func TestTokenSource_Token_SubjectTokenProviderError(t *testing.T) { function TestTokenSource_Token_ContextCancellation (line 338) | func TestTokenSource_Token_ContextCancellation(t *testing.T) { function TestExchangeToken_HTTPErrorResponses (line 370) | func TestExchangeToken_HTTPErrorResponses(t *testing.T) { function TestExchangeToken_MalformedJSON (line 443) | func TestExchangeToken_MalformedJSON(t *testing.T) { function TestExchangeToken_MissingRequiredFields (line 495) | func TestExchangeToken_MissingRequiredFields(t *testing.T) { function TestExchangeToken_DefaultValues (line 519) | func TestExchangeToken_DefaultValues(t *testing.T) { function TestExchangeToken_OptionalFields (line 552) | func TestExchangeToken_OptionalFields(t *testing.T) { function TestExchangeToken_ActorTokenWithoutType (line 596) | func TestExchangeToken_ActorTokenWithoutType(t *testing.T) { function TestExchangeToken_InvalidURL (line 631) | func TestExchangeToken_InvalidURL(t *testing.T) { function TestExchangeToken_NetworkError (line 648) | func TestExchangeToken_NetworkError(t *testing.T) { function TestExchangeToken_ResponseSizeLimit (line 666) | func TestExchangeToken_ResponseSizeLimit(t *testing.T) { function TestExchangeToken_NoCredentialLeakage (line 698) | func TestExchangeToken_NoCredentialLeakage(t *testing.T) { function TestExchangeToken_FormEncoding (line 761) | func TestExchangeToken_FormEncoding(t *testing.T) { function TestExchangeToken_ContentLength (line 793) | func TestExchangeToken_ContentLength(t *testing.T) { function TestSubjectTokenProvider_Variants (line 826) | func TestSubjectTokenProvider_Variants(t *testing.T) { function TestExchangeToken_EmptyClientCredentials (line 924) | func TestExchangeToken_EmptyClientCredentials(t *testing.T) { function TestExchangeToken_OnlyClientID (line 961) | func TestExchangeToken_OnlyClientID(t *testing.T) { function TestExchangeToken_ResponseFields (line 1000) | func TestExchangeToken_ResponseFields(t *testing.T) { function TestExchangeToken_MinimalResponse (line 1034) | func TestExchangeToken_MinimalResponse(t *testing.T) { function TestExchangeToken_ScopeArray (line 1066) | func TestExchangeToken_ScopeArray(t *testing.T) { function TestExchangeConfig_TokenSource (line 1133) | func TestExchangeConfig_TokenSource(t *testing.T) { function TestExchangeToken_SSRFPrevention (line 1155) | func TestExchangeToken_SSRFPrevention(t *testing.T) { function TestExchangeRequest_StructFields (line 1204) | func TestExchangeRequest_StructFields(t *testing.T) { function TestResponse_JSONTags (line 1234) | func TestResponse_JSONTags(t *testing.T) { function TestClientAuthentication_Fields (line 1259) | func TestClientAuthentication_Fields(t *testing.T) { function TestExchangeConfig_Fields (line 1272) | func TestExchangeConfig_Fields(t *testing.T) { function TestExchangeToken_URLValues (line 1301) | func TestExchangeToken_URLValues(t *testing.T) { function TestExchangeToken_BasicAuthURLEncoding (line 1361) | func TestExchangeToken_BasicAuthURLEncoding(t *testing.T) { function TestExchangeConfig_Validate_SubjectTokenType (line 1404) | func TestExchangeConfig_Validate_SubjectTokenType(t *testing.T) { function TestTokenSource_Token_RequestedTokenTypeAndResource (line 1465) | func TestTokenSource_Token_RequestedTokenTypeAndResource(t *testing.T) { function TestExchangeConfig_Validate_Resource (line 1540) | func TestExchangeConfig_Validate_Resource(t *testing.T) { FILE: pkg/auth/tokenexchange/middleware.go constant MiddlewareType (line 24) | MiddlewareType = "tokenexchange" constant HeaderStrategyReplace (line 30) | HeaderStrategyReplace = "replace" constant HeaderStrategyCustom (line 32) | HeaderStrategyCustom = "custom" constant EnvClientSecret (line 40) | EnvClientSecret = "TOOLHIVE_TOKEN_EXCHANGE_CLIENT_SECRET" type envGetter (line 47) | type envGetter type MiddlewareParams (line 53) | type MiddlewareParams struct type Config (line 58) | type Config struct type Middleware (line 88) | type Middleware struct method Handler (line 93) | func (m *Middleware) Handler() types.MiddlewareFunction { method Close (line 98) | func (*Middleware) Close() error { function CreateMiddleware (line 104) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... function validateTokenExchangeConfig (line 136) | func validateTokenExchangeConfig(config *Config) error { type injectionFunc (line 152) | type injectionFunc function createReplaceInjector (line 155) | func createReplaceInjector() injectionFunc { function createCustomInjector (line 164) | func createCustomInjector(headerName string) injectionFunc { type SubjectTokenProvider (line 182) | type SubjectTokenProvider function CreateMiddlewareFromHeader (line 190) | func CreateMiddlewareFromHeader(config Config) (types.MiddlewareFunction... function CreateMiddlewareFromTokenSource (line 203) | func CreateMiddlewareFromTokenSource( function createTokenExchangeMiddleware (line 258) | func createTokenExchangeMiddleware( FILE: pkg/auth/tokenexchange/middleware_test.go function TestValidateTokenExchangeConfig (line 25) | func TestValidateTokenExchangeConfig(t *testing.T) { function TestInjectToken (line 99) | func TestInjectToken(t *testing.T) { function TestCreateTokenExchangeMiddleware_Success (line 224) | func TestCreateTokenExchangeMiddleware_Success(t *testing.T) { function TestCreateTokenExchangeMiddleware_PassThrough (line 333) | func TestCreateTokenExchangeMiddleware_PassThrough(t *testing.T) { function TestCreateTokenExchangeMiddleware_Failures (line 416) | func TestCreateTokenExchangeMiddleware_Failures(t *testing.T) { function TestCreateMiddleware (line 506) | func TestCreateMiddleware(t *testing.T) { function TestCreateMiddleware_InvalidJSON (line 589) | func TestCreateMiddleware_InvalidJSON(t *testing.T) { function TestMiddleware_Methods (line 609) | func TestMiddleware_Methods(t *testing.T) { function TestCreateTokenExchangeMiddleware_EnvironmentVariable (line 632) | func TestCreateTokenExchangeMiddleware_EnvironmentVariable(t *testing.T) { function TestCreateMiddlewareFromTokenSource (line 745) | func TestCreateMiddlewareFromTokenSource(t *testing.T) { function TestCreateMiddlewareFromTokenSource_NilTokenSource (line 896) | func TestCreateMiddlewareFromTokenSource_NilTokenSource(t *testing.T) { FILE: pkg/auth/tokensource/preemptive_test.go type fakeSecretsProvider (line 29) | type fakeSecretsProvider struct method GetSecret (line 31) | func (f *fakeSecretsProvider) GetSecret(_ context.Context, _ string) (... method SetSecret (line 37) | func (*fakeSecretsProvider) SetSecret(_ context.Context, _, _ string) ... method DeleteSecret (line 38) | func (*fakeSecretsProvider) DeleteSecret(_ context.Context, _ string) ... method ListSecrets (line 39) | func (*fakeSecretsProvider) ListSecrets(_ context.Context) ([]secrets.... method DeleteSecrets (line 42) | func (*fakeSecretsProvider) DeleteSecrets(_ context.Context, _ []strin... method Cleanup (line 43) | func (*fakeSecretsProvider) Cleanup() error ... method Capabilities (line 44) | func (*fakeSecretsProvider) Capabilities() secrets.ProviderCapabilities { type countingTokenSource (line 50) | type countingTokenSource struct method Token (line 55) | func (c *countingTokenSource) Token() (*oauth2.Token, error) { type errTokenSource (line 60) | type errTokenSource struct method Token (line 62) | func (e *errTokenSource) Token() (*oauth2.Token, error) { return nil, ... function TestPreemptiveTokenSource_ShiftsExpiry (line 66) | func TestPreemptiveTokenSource_ShiftsExpiry(t *testing.T) { function TestPreemptiveTokenSource_ZeroExpiry_Unchanged (line 80) | func TestPreemptiveTokenSource_ZeroExpiry_Unchanged(t *testing.T) { function TestPreemptiveTokenSource_PropagatesError (line 90) | func TestPreemptiveTokenSource_PropagatesError(t *testing.T) { function TestPreemptiveRefreshWindow_Is30s (line 99) | func TestPreemptiveRefreshWindow_Is30s(t *testing.T) { function TestWithPreemptiveRefresh_ExactlyOneRefreshPerWindow (line 115) | func TestWithPreemptiveRefresh_ExactlyOneRefreshPerWindow(t *testing.T) { function TestWithPreemptiveRefresh_NonCachingRefresher_NoResource (line 150) | func TestWithPreemptiveRefresh_NonCachingRefresher_NoResource(t *testing... function TestWithPreemptiveRefresh_CachingInnerSource_Thrashes (line 189) | func TestWithPreemptiveRefresh_CachingInnerSource_Thrashes(t *testing.T) { function TestWithPreemptiveRefreshFrom_PreSeededToken (line 212) | func TestWithPreemptiveRefreshFrom_PreSeededToken(t *testing.T) { function TestWithPreemptiveRefreshFrom_ShortLivedInitial_NoSeed (line 232) | func TestWithPreemptiveRefreshFrom_ShortLivedInitial_NoSeed(t *testing.T) { function TestWithPreemptiveRefreshFrom_NilInitial (line 253) | func TestWithPreemptiveRefreshFrom_NilInitial(t *testing.T) { type staticTokenSource (line 271) | type staticTokenSource struct method Token (line 273) | func (s *staticTokenSource) Token() (*oauth2.Token, error) { return s.... function TestNonCachingRefresher_EmptyRefreshToken_ReturnsError (line 276) | func TestNonCachingRefresher_EmptyRefreshToken_ReturnsError(t *testing.T) { function TestNonCachingRefresher_StandardPath_NoResourceParam (line 288) | func TestNonCachingRefresher_StandardPath_NoResourceParam(t *testing.T) { function TestTryInMemoryToken_ExpiredToken_ReturnsCacheMiss (line 319) | func TestTryInMemoryToken_ExpiredToken_ReturnsCacheMiss(t *testing.T) { function TestTryCachedToken_TokenEndpointError_PropagatesError (line 341) | func TestTryCachedToken_TokenEndpointError_PropagatesError(t *testing.T) { function TestTryInMemoryToken_InnerError_PropagatesError (line 385) | func TestTryInMemoryToken_InnerError_PropagatesError(t *testing.T) { function TestToken_InMemoryError_SetsLastErr (line 407) | func TestToken_InMemoryError_SetsLastErr(t *testing.T) { FILE: pkg/auth/tokensource/tokensource.go constant preemptiveRefreshWindow (line 45) | preemptiveRefreshWindow = 30 * time.Second type OIDCParams (line 48) | type OIDCParams struct type ConfigPersister (line 61) | type ConfigPersister type Options (line 64) | type Options struct type OAuthTokenSource (line 87) | type OAuthTokenSource struct method Token (line 111) | func (t *OAuthTokenSource) Token(ctx context.Context) (string, error) { method tryInMemoryToken (line 161) | func (t *OAuthTokenSource) tryInMemoryToken() (string, error) { method tryCachedToken (line 180) | func (t *OAuthTokenSource) tryCachedToken(ctx context.Context) (string... method tryRestoreFromCache (line 198) | func (t *OAuthTokenSource) tryRestoreFromCache(ctx context.Context) er... method performBrowserFlow (line 249) | func (t *OAuthTokenSource) performBrowserFlow(ctx context.Context) err... method buildFlowConfig (line 301) | func (t *OAuthTokenSource) buildFlowConfig(ctx context.Context) (*oaut... method buildOAuth2Config (line 316) | func (t *OAuthTokenSource) buildOAuth2Config(ctx context.Context) (*oa... method makeTokenPersister (line 342) | func (t *OAuthTokenSource) makeTokenPersister(key string) remote.Token... method persistConfig (line 366) | func (t *OAuthTokenSource) persistConfig(key string, expiry time.Time) { method accessTokenCacheKey (line 373) | func (t *OAuthTokenSource) accessTokenCacheKey() string { method tryAccessTokenCache (line 379) | func (t *OAuthTokenSource) tryAccessTokenCache(ctx context.Context) (s... method cacheAccessToken (line 405) | func (t *OAuthTokenSource) cacheAccessToken(ctx context.Context, token... function New (line 96) | func New(opts Options) *OAuthTokenSource { function oauth2ConfigFrom (line 326) | func oauth2ConfigFrom(flowCfg *oauth.Config) *oauth2.Config { function DeriveSecretKey (line 418) | func DeriveSecretKey(prefix, resourceURL, issuer string) string { function LLMAccessTokenEnvVar (line 431) | func LLMAccessTokenEnvVar(gatewayURL, issuerURL string) string { function EnsureOfflineAccess (line 439) | func EnsureOfflineAccess(scopes []string) []string { type preemptiveTokenSource (line 448) | type preemptiveTokenSource struct method Token (line 452) | func (p *preemptiveTokenSource) Token() (*oauth2.Token, error) { function withPreemptiveRefresh (line 468) | func withPreemptiveRefresh(src oauth2.TokenSource) oauth2.TokenSource { function withPreemptiveRefreshFrom (line 474) | func withPreemptiveRefreshFrom(initial *oauth2.Token, src oauth2.TokenSo... FILE: pkg/auth/tokensource/tokensource_test.go constant testGatewayURL (line 28) | testGatewayURL = "https://llm.example.com" constant testIssuer (line 29) | testIssuer = "https://auth.example.com" constant testClientID (line 30) | testClientID = "test-client" constant testKeyPrefix (line 31) | testKeyPrefix = "TEST_OAUTH_" constant testRefreshToken (line 32) | testRefreshToken = "stored-rt" function minimalOpts (line 37) | func minimalOpts(sp *secretsmocks.MockProvider) tokensource.Options { function TestDeriveSecretKey (line 52) | func TestDeriveSecretKey(t *testing.T) { function TestDeriveSecretKey_NullByteIsolatesSegments (line 81) | func TestDeriveSecretKey_NullByteIsolatesSegments(t *testing.T) { function TestEnsureOfflineAccess (line 91) | func TestEnsureOfflineAccess(t *testing.T) { function TestToken_NonInteractive_NoCache_ReturnsFallbackErr (line 114) | func TestToken_NonInteractive_NoCache_ReturnsFallbackErr(t *testing.T) { function TestToken_NonInteractive_BackendError_SurfacesLastErr (line 128) | func TestToken_NonInteractive_BackendError_SurfacesLastErr(t *testing.T) { function TestToken_NonInteractive_NilSecrets_ReturnsActionableError (line 146) | func TestToken_NonInteractive_NilSecrets_ReturnsActionableError(t *testi... function TestToken_InMemoryCache_ServesWithoutSecretsLookup (line 163) | func TestToken_InMemoryCache_ServesWithoutSecretsLookup(t *testing.T) { function TestToken_AccessTokenCache_ValidToken_Served (line 202) | func TestToken_AccessTokenCache_ValidToken_Served(t *testing.T) { function TestToken_AccessTokenCache_Expired_FallsThrough (line 229) | func TestToken_AccessTokenCache_Expired_FallsThrough(t *testing.T) { function TestToken_AccessTokenCache_MalformedEntry_FallsThrough (line 257) | func TestToken_AccessTokenCache_MalformedEntry_FallsThrough(t *testing.T) { function TestToken_RefreshTokenCache_UsesPersistedToken (line 280) | func TestToken_RefreshTokenCache_UsesPersistedToken(t *testing.T) { function TestToken_RefreshTokenCache_EmptyValue_TreatedAsMiss (line 308) | func TestToken_RefreshTokenCache_EmptyValue_TreatedAsMiss(t *testing.T) { function TestToken_KeyProvider_CachedRefUsed (line 324) | func TestToken_KeyProvider_CachedRefUsed(t *testing.T) { function TestToken_ConfigPersister_CalledOnRotation (line 353) | func TestToken_ConfigPersister_CalledOnRotation(t *testing.T) { function fakeOIDCServer (line 387) | func fakeOIDCServer(t *testing.T, callCount *atomic.Int32, at string, ex... function fakeOIDCServerSimple (line 413) | func fakeOIDCServerSimple(t *testing.T, at string, expiry time.Time, rt ... function optsWithFakeOIDC (line 420) | func optsWithFakeOIDC(srv *httptest.Server, sp *secretsmocks.MockProvide... function TestEnsureOfflineAccess_DoesNotMutateInput (line 437) | func TestEnsureOfflineAccess_DoesNotMutateInput(t *testing.T) { function TestNew_DefaultFallbackErr (line 448) | func TestNew_DefaultFallbackErr(t *testing.T) { function TestNew_NilKeyProvider_Panics (line 467) | func TestNew_NilKeyProvider_Panics(t *testing.T) { function TestToken_CacheAccessToken_ZeroExpiry_Skipped (line 479) | func TestToken_CacheAccessToken_ZeroExpiry_Skipped(t *testing.T) { function TestToken_CacheAccessToken_SetSecretFails_DegradesSilently (line 534) | func TestToken_CacheAccessToken_SetSecretFails_DegradesSilently(t *testi... function TestToken_OIDCDiscoveryFails_PropagatesError (line 568) | func TestToken_OIDCDiscoveryFails_PropagatesError(t *testing.T) { function TestToken_Interactive_OIDCDiscoveryFails_ReturnsError (line 604) | func TestToken_Interactive_OIDCDiscoveryFails_ReturnsError(t *testing.T) { FILE: pkg/auth/upstreamswap/middleware.go constant MiddlewareType (line 18) | MiddlewareType = "upstreamswap" constant HeaderStrategyReplace (line 23) | HeaderStrategyReplace = "replace" constant HeaderStrategyCustom (line 25) | HeaderStrategyCustom = "custom" type Config (line 29) | type Config struct type MiddlewareParams (line 42) | type MiddlewareParams struct type Middleware (line 47) | type Middleware struct method Handler (line 52) | func (m *Middleware) Handler() types.MiddlewareFunction { method Close (line 57) | func (*Middleware) Close() error { function CreateMiddleware (line 62) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... function validateConfig (line 90) | func validateConfig(cfg *Config) error { function writeUpstreamAuthRequired (line 115) | func writeUpstreamAuthRequired(w http.ResponseWriter) { type injectionFunc (line 122) | type injectionFunc function createReplaceInjector (line 125) | func createReplaceInjector() injectionFunc { function createCustomInjector (line 132) | func createCustomInjector(headerName string) injectionFunc { function createMiddlewareFunc (line 141) | func createMiddlewareFunc(cfg *Config) types.MiddlewareFunction { FILE: pkg/auth/upstreamswap/middleware_test.go function requestWithIdentity (line 23) | func requestWithIdentity(token string) *http.Request { function TestValidateConfig (line 37) | func TestValidateConfig(t *testing.T) { function TestMiddleware_NoIdentity (line 103) | func TestMiddleware_NoIdentity(t *testing.T) { function TestMiddleware_NilUpstreamTokens (line 125) | func TestMiddleware_NilUpstreamTokens(t *testing.T) { function TestMiddleware_ProviderMissing_Returns401 (line 152) | func TestMiddleware_ProviderMissing_Returns401(t *testing.T) { function TestMiddleware_EmptyToken_Returns401 (line 171) | func TestMiddleware_EmptyToken_Returns401(t *testing.T) { function TestMiddleware_SuccessfulSwap_ReplaceStrategy (line 190) | func TestMiddleware_SuccessfulSwap_ReplaceStrategy(t *testing.T) { function TestMiddleware_SuccessfulSwap_DefaultStrategy (line 213) | func TestMiddleware_SuccessfulSwap_DefaultStrategy(t *testing.T) { function TestMiddleware_SuccessfulSwap_CustomHeader (line 237) | func TestMiddleware_SuccessfulSwap_CustomHeader(t *testing.T) { function TestMiddleware_Close (line 265) | func TestMiddleware_Close(t *testing.T) { function TestMiddleware_Handler (line 273) | func TestMiddleware_Handler(t *testing.T) { function TestCreateInjectors (line 283) | func TestCreateInjectors(t *testing.T) { function TestMiddlewareWithContext (line 305) | func TestMiddlewareWithContext(t *testing.T) { function TestCreateMiddleware (line 328) | func TestCreateMiddleware(t *testing.T) { function TestCreateMiddleware_InvalidJSON (line 439) | func TestCreateMiddleware_InvalidJSON(t *testing.T) { FILE: pkg/auth/upstreamtoken/mocks/mock_token_reader.go type MockTokenReader (line 20) | type MockTokenReader struct method EXPECT (line 39) | func (m *MockTokenReader) EXPECT() *MockTokenReaderMockRecorder { method GetAllValidTokens (line 44) | func (m *MockTokenReader) GetAllValidTokens(ctx context.Context, sessi... type MockTokenReaderMockRecorder (line 27) | type MockTokenReaderMockRecorder struct method GetAllValidTokens (line 53) | func (mr *MockTokenReaderMockRecorder) GetAllValidTokens(ctx, sessionI... function NewMockTokenReader (line 32) | func NewMockTokenReader(ctrl *gomock.Controller) *MockTokenReader { FILE: pkg/auth/upstreamtoken/service.go constant refreshTimeout (line 21) | refreshTimeout = 30 * time.Second type InProcessService (line 26) | type InProcessService struct method GetValidTokens (line 53) | func (s *InProcessService) GetValidTokens(ctx context.Context, session... method GetAllValidTokens (line 86) | func (s *InProcessService) GetAllValidTokens(ctx context.Context, sess... method refreshOrFail (line 129) | func (s *InProcessService) refreshOrFail( function NewInProcessService (line 41) | func NewInProcessService( FILE: pkg/auth/upstreamtoken/service_test.go function TestInProcessService_GetValidTokens (line 20) | func TestInProcessService_GetValidTokens(t *testing.T) { function TestInProcessService_NilRefresher (line 212) | func TestInProcessService_NilRefresher(t *testing.T) { function TestInProcessService_GetAllValidTokens (line 237) | func TestInProcessService_GetAllValidTokens(t *testing.T) { function TestInProcessService_GetAllValidTokens_NilRefresher (line 422) | func TestInProcessService_GetAllValidTokens_NilRefresher(t *testing.T) { FILE: pkg/auth/upstreamtoken/types.go constant TokenSessionIDClaimKey (line 16) | TokenSessionIDClaimKey = "tsid" type UpstreamCredential (line 20) | type UpstreamCredential struct type TokenReader (line 29) | type TokenReader interface type Service (line 38) | type Service interface FILE: pkg/auth/utils.go constant bearerTokenType (line 17) | bearerTokenType = "Bearer" function ExtractBearerToken (line 38) | func ExtractBearerToken(r *http.Request) (string, error) { function GetAuthenticationMiddleware (line 64) | func GetAuthenticationMiddleware(ctx context.Context, oidcConfig *TokenV... function EscapeQuotes (line 93) | func EscapeQuotes(s string) string { FILE: pkg/auth/utils_test.go function TestExtractBearerToken (line 17) | func TestExtractBearerToken(t *testing.T) { function TestGetAuthenticationMiddleware (line 108) | func TestGetAuthenticationMiddleware(t *testing.T) { FILE: pkg/auth/well_known.go function NewWellKnownHandler (line 38) | func NewWellKnownHandler(authInfoHandler http.Handler) http.Handler { FILE: pkg/auth/well_known_test.go function TestNewWellKnownHandler (line 15) | func TestNewWellKnownHandler(t *testing.T) { function TestWellKnownHandler_HTTPMethods (line 195) | func TestWellKnownHandler_HTTPMethods(t *testing.T) { function TestWellKnownHandler_EdgeCases (line 231) | func TestWellKnownHandler_EdgeCases(t *testing.T) { type testRequest (line 290) | type testRequest struct FILE: pkg/authserver/config.go constant CurrentSchemaVersion (line 25) | CurrentSchemaVersion = "v0.1.0" type RunConfig (line 34) | type RunConfig struct type SigningKeyRunConfig (line 86) | type SigningKeyRunConfig struct type TokenLifespanRunConfig (line 104) | type TokenLifespanRunConfig struct type UpstreamProviderType (line 119) | type UpstreamProviderType constant UpstreamProviderTypeOIDC (line 123) | UpstreamProviderTypeOIDC UpstreamProviderType = "oidc" constant UpstreamProviderTypeOAuth2 (line 126) | UpstreamProviderTypeOAuth2 UpstreamProviderType = "oauth2" constant DefaultUpstreamName (line 130) | DefaultUpstreamName = "default" function ResolveUpstreamName (line 134) | func ResolveUpstreamName(name string) string { type UpstreamRunConfig (line 146) | type UpstreamRunConfig struct type OIDCUpstreamRunConfig (line 166) | type OIDCUpstreamRunConfig struct type OAuth2UpstreamRunConfig (line 206) | type OAuth2UpstreamRunConfig struct method Validate (line 526) | func (c *OAuth2UpstreamRunConfig) Validate() error { type DCRUpstreamConfig (line 280) | type DCRUpstreamConfig struct method Validate (line 583) | func (c *DCRUpstreamConfig) Validate() error { type TokenResponseMappingRunConfig (line 335) | type TokenResponseMappingRunConfig struct type UserInfoRunConfig (line 351) | type UserInfoRunConfig struct type UserInfoFieldMappingRunConfig (line 370) | type UserInfoFieldMappingRunConfig struct type UpstreamConfig (line 389) | type UpstreamConfig struct type Config (line 410) | type Config struct method Validate (line 472) | func (c *Config) Validate() error { method validateUpstreams (line 610) | func (c *Config) validateUpstreams() error { method validateUpstreamName (line 641) | func (c *Config) validateUpstreamName(i int, up *UpstreamConfig) error { method applyDefaults (line 698) | func (c *Config) applyDefaults() error { function validateUpstreamType (line 669) | func validateUpstreamType(up *UpstreamConfig) error { function validateIssuerURL (line 737) | func validateIssuerURL(issuer string) error { FILE: pkg/authserver/config_test.go function TestValidateIssuerURL (line 17) | func TestValidateIssuerURL(t *testing.T) { function TestConfigValidate (line 55) | func TestConfigValidate(t *testing.T) { function TestConfigApplyDefaults (line 125) | func TestConfigApplyDefaults(t *testing.T) { function assertError (line 230) | func assertError(t *testing.T, err error, wantErr bool, errMsg string) { function TestOAuth2UpstreamRunConfigValidate (line 243) | func TestOAuth2UpstreamRunConfigValidate(t *testing.T) { function TestDCRUpstreamConfigValidate (line 353) | func TestDCRUpstreamConfigValidate(t *testing.T) { FILE: pkg/authserver/integration_test.go constant testClientID (line 42) | testClientID = "test-client" constant testRedirectURI (line 43) | testRedirectURI = "http://localhost:8080/callback" constant testIssuer (line 44) | testIssuer = "http://localhost" constant testAudience (line 45) | testAudience = "https://mcp.example.com" constant testAccessTokenLifetime (line 48) | testAccessTokenLifetime = time.Hour type testServer (line 58) | type testServer struct method Miniredis (line 70) | func (ts *testServer) Miniredis(t *testing.T) *miniredis.Miniredis { type testServerOptions (line 78) | type testServerOptions struct type testServerOption (line 92) | type testServerOption function withUpstream (line 95) | func withUpstream(provider upstream.OAuth2Provider) testServerOption { function withScopes (line 102) | func withScopes(scopes []string) testServerOption { function withAccessTokenLifespan (line 109) | func withAccessTokenLifespan(d time.Duration) testServerOption { function withRedisBackedStorage (line 126) | func withRedisBackedStorage() testServerOption { type testKeyProvider (line 141) | type testKeyProvider struct method SigningKey (line 145) | func (p *testKeyProvider) SigningKey(_ context.Context) (*keys.Signing... method PublicKeys (line 154) | func (p *testKeyProvider) PublicKeys(_ context.Context) ([]*keys.Publi... function setupTestServer (line 165) | func setupTestServer(t *testing.T, opts ...testServerOption) *testServer { function parseTokenResponse (line 268) | func parseTokenResponse(t *testing.T, resp *http.Response) map[string]in... function makeTokenRequest (line 282) | func makeTokenRequest(t *testing.T, serverURL string, params url.Values)... function TestIntegration_TokenEndpoint_Errors (line 301) | func TestIntegration_TokenEndpoint_Errors(t *testing.T) { function TestIntegration_TokenEndpoint_ReplayAttack (line 438) | func TestIntegration_TokenEndpoint_ReplayAttack(t *testing.T) { function TestIntegration_TokenEndpoint_RefreshToken (line 485) | func TestIntegration_TokenEndpoint_RefreshToken(t *testing.T) { type testServerWithUpstream (line 574) | type testServerWithUpstream struct function startMockOIDC (line 581) | func startMockOIDC(t *testing.T) *mockoidc.MockOIDC { function setupTestServerWithMockOIDC (line 602) | func setupTestServerWithMockOIDC(t *testing.T, m *mockoidc.MockOIDC, ext... function noRedirectClient (line 642) | func noRedirectClient() *http.Client { type authorizationParams (line 652) | type authorizationParams struct function completeAuthorizationFlow (line 668) | func completeAuthorizationFlow( function exchangeCodeForTokens (line 729) | func exchangeCodeForTokens( function TestIntegration_FullPKCEFlow (line 760) | func TestIntegration_FullPKCEFlow(t *testing.T) { function TestIntegration_FullPKCEFlow_DefaultAudience (line 858) | func TestIntegration_FullPKCEFlow_DefaultAudience(t *testing.T) { function setupTestServerWithOIDCProvider (line 912) | func setupTestServerWithOIDCProvider(t *testing.T, m *mockoidc.MockOIDC,... function TestIntegration_OIDCProvider_FullFlow (line 1010) | func TestIntegration_OIDCProvider_FullFlow(t *testing.T) { function TestIntegration_OIDCProvider_TokenRefresh (line 1066) | func TestIntegration_OIDCProvider_TokenRefresh(t *testing.T) { function TestIntegration_NoRefreshToken_WithoutOfflineAccess (line 1138) | func TestIntegration_NoRefreshToken_WithoutOfflineAccess(t *testing.T) { function TestIntegration_ScopeElevation_Rejected (line 1183) | func TestIntegration_ScopeElevation_Rejected(t *testing.T) { function TestIntegration_RefreshToken_ShortLivedAccessToken (line 1229) | func TestIntegration_RefreshToken_ShortLivedAccessToken(t *testing.T) { function TestIntegration_UpstreamTokenService_GetValidTokens (line 1303) | func TestIntegration_UpstreamTokenService_GetValidTokens(t *testing.T) { function TestIntegration_UpstreamTokenService_RefreshExpiredTokens (line 1346) | func TestIntegration_UpstreamTokenService_RefreshExpiredTokens(t *testin... function TestIntegration_UpstreamTokenService_NonExpiringToken (line 1418) | func TestIntegration_UpstreamTokenService_NonExpiringToken(t *testing.T) { function TestIntegration_UpstreamTokenService_SessionNotFound (line 1481) | func TestIntegration_UpstreamTokenService_SessionNotFound(t *testing.T) { function TestIntegration_UpstreamTokenService_NoRefreshToken (line 1501) | func TestIntegration_UpstreamTokenService_NoRefreshToken(t *testing.T) { function extractTSID (line 1530) | func extractTSID(t *testing.T, accessToken string, publicKey any) string { function TestIntegration_UpstreamTokenStorage (line 1553) | func TestIntegration_UpstreamTokenStorage(t *testing.T) { function TestIntegration_RefreshPreservesUpstreamTokenBinding (line 1620) | func TestIntegration_RefreshPreservesUpstreamTokenBinding(t *testing.T) { function setupTestServerWithTwoUpstreams (line 1720) | func setupTestServerWithTwoUpstreams(t *testing.T, m1, m2 *mockoidc.Mock... function TestIntegration_MultiUpstreamSequentialChain (line 1862) | func TestIntegration_MultiUpstreamSequentialChain(t *testing.T) { type captureResponseWriter (line 1963) | type captureResponseWriter struct method Header (line 1973) | func (c *captureResponseWriter) Header() http.Header { return c.header } method WriteHeader (line 1975) | func (c *captureResponseWriter) WriteHeader(status int) { c.status = s... method Write (line 1977) | func (c *captureResponseWriter) Write(b []byte) (int, error) { return ... function newCaptureResponseWriter (line 1969) | func newCaptureResponseWriter() *captureResponseWriter { function stripExpiresInMiddleware (line 1989) | func stripExpiresInMiddleware(tokenPath string) func(http.Handler) http.... function startMockOIDCNoExpiresIn (line 2032) | func startMockOIDCNoExpiresIn(t *testing.T) *mockoidc.MockOIDC { function TestIntegration_FullFlow_NonExpiringUpstreamToken (line 2063) | func TestIntegration_FullFlow_NonExpiringUpstreamToken(t *testing.T) { function runChainFlow (line 2131) | func runChainFlow( function TestIntegration_MultiUpstreamChain_MixedExpiryOrderings (line 2217) | func TestIntegration_MultiUpstreamChain_MixedExpiryOrderings(t *testing.... function TestIntegration_FullFlow_NonExpiringUpstreamToken_Redis (line 2340) | func TestIntegration_FullFlow_NonExpiringUpstreamToken_Redis(t *testing.... function TestIntegration_MultiUpstreamChain_MixedExpiryOrderings_Redis (line 2413) | func TestIntegration_MultiUpstreamChain_MixedExpiryOrderings_Redis(t *te... type rtStrippingProxy (line 2526) | type rtStrippingProxy struct method ServeHTTP (line 2531) | func (p *rtStrippingProxy) ServeHTTP(w http.ResponseWriter, r *http.Re... function setupTestServerWithRTProxy (line 2582) | func setupTestServerWithRTProxy(t *testing.T, m *mockoidc.MockOIDC, prox... function TestIntegration_Callback_PreservesRefreshTokenOnReauth (line 2637) | func TestIntegration_Callback_PreservesRefreshTokenOnReauth(t *testing.T) { FILE: pkg/authserver/oauthparams/reserved.go function Validate (line 26) | func Validate(params map[string]string) error { FILE: pkg/authserver/refresher.go type upstreamTokenRefresher (line 28) | type upstreamTokenRefresher struct method RefreshAndStore (line 39) | func (r *upstreamTokenRefresher) RefreshAndStore( FILE: pkg/authserver/refresher_test.go function TestUpstreamTokenRefresher_RefreshAndStore (line 22) | func TestUpstreamTokenRefresher_RefreshAndStore(t *testing.T) { FILE: pkg/authserver/runner/dcr.go constant defaultUpstreamRedirectPath (line 45) | defaultUpstreamRedirectPath = "/oauth/callback" type DCRResolution (line 69) | type DCRResolution struct function needsDCR (line 128) | func needsDCR(rc *authserver.OAuth2UpstreamRunConfig) bool { function applyResolution (line 152) | func applyResolution(rc *authserver.OAuth2UpstreamRunConfig, res *DCRRes... function scopesHash (line 181) | func scopesHash(scopes []string) string { function resolveDCRCredentials (line 215) | func resolveDCRCredentials( function registerAndCache (line 282) | func registerAndCache( function validateResolveInputs (line 354) | func validateResolveInputs( function lookupCachedResolution (line 388) | func lookupCachedResolution( function applyExplicitEndpointOverrides (line 423) | func applyExplicitEndpointOverrides(endpoints *dcrEndpoints, rc *authser... function chooseRegistrationScopes (line 435) | func chooseRegistrationScopes(explicit, discovered []string, localIssuer... function performRegistration (line 451) | func performRegistration( function buildResolution (line 493) | func buildResolution( function epochSecondsToTime (line 519) | func epochSecondsToTime(epoch int64) time.Time { type dcrEndpoints (line 529) | type dcrEndpoints struct function resolveDCREndpoints (line 572) | func resolveDCREndpoints( function deriveExpectedIssuerFromDiscoveryURL (line 623) | func deriveExpectedIssuerFromDiscoveryURL(discoveryURL string) (string, ... function endpointsFromMetadata (line 660) | func endpointsFromMetadata( function synthesiseRegistrationEndpoint (line 710) | func synthesiseRegistrationEndpoint(upstreamIssuer string) (string, erro... function resolveUpstreamRedirectURI (line 740) | func resolveUpstreamRedirectURI(configured, localIssuer string) (string,... function validateRedirectURL (line 769) | func validateRedirectURL(u *url.URL) error { function validateUpstreamEndpointURL (line 793) | func validateUpstreamEndpointURL(rawURL, label string) error { function selectTokenEndpointAuthMethod (line 825) | func selectTokenEndpointAuthMethod(serverSupported, codeChallengeMethods... type bearerTokenTransport (line 869) | type bearerTokenTransport struct method RoundTrip (line 875) | func (t *bearerTokenTransport) RoundTrip(req *http.Request) (*http.Res... function newDCRHTTPClient (line 904) | func newDCRHTTPClient(initialAccessToken string) *http.Client { FILE: pkg/authserver/runner/dcr_store.go constant dcrStaleAgeThreshold (line 22) | dcrStaleAgeThreshold = 90 * 24 * time.Hour type DCRKey (line 29) | type DCRKey struct type DCRCredentialStore (line 57) | type DCRCredentialStore interface function NewInMemoryDCRCredentialStore (line 100) | func NewInMemoryDCRCredentialStore() DCRCredentialStore { type inMemoryDCRCredentialStore (line 110) | type inMemoryDCRCredentialStore struct method Get (line 116) | func (s *inMemoryDCRCredentialStore) Get(_ context.Context, key DCRKey... method Put (line 137) | func (s *inMemoryDCRCredentialStore) Put(_ context.Context, key DCRKey... FILE: pkg/authserver/runner/dcr_store_test.go function TestInMemoryDCRCredentialStore_PutGet_RoundTrip (line 18) | func TestInMemoryDCRCredentialStore_PutGet_RoundTrip(t *testing.T) { function TestInMemoryDCRCredentialStore_Get_MissingKey (line 54) | func TestInMemoryDCRCredentialStore_Get_MissingKey(t *testing.T) { function TestInMemoryDCRCredentialStore_DistinctKeysDoNotCollide (line 66) | func TestInMemoryDCRCredentialStore_DistinctKeysDoNotCollide(t *testing.... function TestInMemoryDCRCredentialStore_Put_OverwritesExisting (line 114) | func TestInMemoryDCRCredentialStore_Put_OverwritesExisting(t *testing.T) { function TestInMemoryDCRCredentialStore_Put_RejectsNilResolution (line 134) | func TestInMemoryDCRCredentialStore_Put_RejectsNilResolution(t *testing.... function TestInMemoryDCRCredentialStore_GetReturnsDefensiveCopy (line 151) | func TestInMemoryDCRCredentialStore_GetReturnsDefensiveCopy(t *testing.T) { function TestScopesHash_StableAcrossPermutation (line 171) | func TestScopesHash_StableAcrossPermutation(t *testing.T) { function TestScopesHash_DistinctForDistinctScopes (line 211) | func TestScopesHash_DistinctForDistinctScopes(t *testing.T) { function TestScopesHash_NoCollisionFromBoundaryJoin (line 230) | func TestScopesHash_NoCollisionFromBoundaryJoin(t *testing.T) { function TestInMemoryDCRCredentialStore_ConcurrentAccess (line 251) | func TestInMemoryDCRCredentialStore_ConcurrentAccess(t *testing.T) { FILE: pkg/authserver/runner/dcr_test.go type dcrTestHandlerConfig (line 28) | type dcrTestHandlerConfig struct function newDCRTestServer (line 65) | func newDCRTestServer(t *testing.T, cfg dcrTestHandlerConfig) *httptest.... function TestResolveDCRCredentials_CacheHitShortCircuits (line 128) | func TestResolveDCRCredentials_CacheHitShortCircuits(t *testing.T) { function TestResolveDCRCredentials_RegistersOnCacheMiss (line 175) | func TestResolveDCRCredentials_RegistersOnCacheMiss(t *testing.T) { function TestResolveDCRCredentials_ExplicitEndpointsOverride (line 225) | func TestResolveDCRCredentials_ExplicitEndpointsOverride(t *testing.T) { function TestResolveDCRCredentials_InitialAccessTokenAsBearer (line 247) | func TestResolveDCRCredentials_InitialAccessTokenAsBearer(t *testing.T) { function TestResolveDCRCredentials_DoesNotForwardBearerOnRedirect (line 285) | func TestResolveDCRCredentials_DoesNotForwardBearerOnRedirect(t *testing... function TestResolveDCRCredentials_AuthMethodPreference (line 350) | func TestResolveDCRCredentials_AuthMethodPreference(t *testing.T) { function TestResolveDCRCredentials_RefusesNoneWithoutS256 (line 418) | func TestResolveDCRCredentials_RefusesNoneWithoutS256(t *testing.T) { function TestResolveDCRCredentials_EmptyAuthMethodIntersectionErrors (line 455) | func TestResolveDCRCredentials_EmptyAuthMethodIntersectionErrors(t *test... function TestResolveDCRCredentials_SynthesisedRegistrationEndpoint (line 475) | func TestResolveDCRCredentials_SynthesisedRegistrationEndpoint(t *testin... function TestResolveDCRCredentials_RegistrationEndpointDirectBypassesDiscovery (line 503) | func TestResolveDCRCredentials_RegistrationEndpointDirectBypassesDiscove... function TestResolveDCRCredentials_RejectsInvalidInputs (line 544) | func TestResolveDCRCredentials_RejectsInvalidInputs(t *testing.T) { function TestNeedsDCR (line 604) | func TestNeedsDCR(t *testing.T) { function TestApplyResolution_RespectsExplicitEndpoints (line 633) | func TestApplyResolution_RespectsExplicitEndpoints(t *testing.T) { function TestApplyResolution_FillsMissingEndpoints (line 651) | func TestApplyResolution_FillsMissingEndpoints(t *testing.T) { function TestResolveUpstreamRedirectURI (line 666) | func TestResolveUpstreamRedirectURI(t *testing.T) { function TestResolveDCRCredentials_DiscoveryURLHonoured (line 720) | func TestResolveDCRCredentials_DiscoveryURLHonoured(t *testing.T) { function TestResolveDCRCredentials_DiscoveryURLIssuerMismatchRejected (line 783) | func TestResolveDCRCredentials_DiscoveryURLIssuerMismatchRejected(t *tes... function TestResolveDCRCredentials_DiscoveredScopesFallback (line 817) | func TestResolveDCRCredentials_DiscoveredScopesFallback(t *testing.T) { function TestResolveDCRCredentials_EmptyScopesOmitted (line 849) | func TestResolveDCRCredentials_EmptyScopesOmitted(t *testing.T) { function TestResolveDCRCredentials_UpstreamIssuerDerivedFromDiscoveryURL (line 890) | func TestResolveDCRCredentials_UpstreamIssuerDerivedFromDiscoveryURL(t *... function TestDeriveExpectedIssuerFromDiscoveryURL (line 922) | func TestDeriveExpectedIssuerFromDiscoveryURL(t *testing.T) { type countingStore (line 993) | type countingStore struct method Get (line 998) | func (c *countingStore) Get(ctx context.Context, key DCRKey) (*DCRReso... method Put (line 1006) | func (c *countingStore) Put(ctx context.Context, key DCRKey, res *DCRR... function TestResolveDCRCredentials_SingleflightCoalescesConcurrentCallers (line 1022) | func TestResolveDCRCredentials_SingleflightCoalescesConcurrentCallers(t ... function TestSynthesiseRegistrationEndpoint_PreservesIssuerPath (line 1098) | func TestSynthesiseRegistrationEndpoint_PreservesIssuerPath(t *testing.T) { function TestResolveUpstreamRedirectURI_PreservesIssuerPath (line 1141) | func TestResolveUpstreamRedirectURI_PreservesIssuerPath(t *testing.T) { function TestApplyResolution_DoesNotOverwritePreProvisionedClientID (line 1179) | func TestApplyResolution_DoesNotOverwritePreProvisionedClientID(t *testi... function TestResolveDCREndpoints_DirectRegistrationEndpointValidated (line 1198) | func TestResolveDCREndpoints_DirectRegistrationEndpointValidated(t *test... function TestEndpointsFromMetadata_RejectsInsecureDiscoveredEndpoints (line 1242) | func TestEndpointsFromMetadata_RejectsInsecureDiscoveredEndpoints(t *tes... type failingDCRStore (line 1293) | type failingDCRStore struct method Get (line 1298) | func (f failingDCRStore) Get(_ context.Context, _ DCRKey) (*DCRResolut... method Put (line 1305) | func (f failingDCRStore) Put(_ context.Context, _ DCRKey, _ *DCRResolu... function TestResolveDCRCredentials_CacheGetFailureWrapped (line 1313) | func TestResolveDCRCredentials_CacheGetFailureWrapped(t *testing.T) { function TestResolveDCRCredentials_CachePutFailureWrapped (line 1337) | func TestResolveDCRCredentials_CachePutFailureWrapped(t *testing.T) { function TestBuildResolution_PopulatesRFC7591ExpiryFields (line 1364) | func TestBuildResolution_PopulatesRFC7591ExpiryFields(t *testing.T) { function TestResolveDCRCredentials_RefetchesOnExpiredCachedSecret (line 1430) | func TestResolveDCRCredentials_RefetchesOnExpiredCachedSecret(t *testing... function TestResolveDCRCredentials_HonoursFutureExpiryAndZero (line 1478) | func TestResolveDCRCredentials_HonoursFutureExpiryAndZero(t *testing.T) { type panickingPutDCRStore (line 1523) | type panickingPutDCRStore struct method Get (line 1527) | func (panickingPutDCRStore) Get(_ context.Context, _ DCRKey) (*DCRReso... method Put (line 1531) | func (s panickingPutDCRStore) Put(_ context.Context, _ DCRKey, _ *DCRR... function TestResolveDCRCredentials_RecoversPanicInsideSingleflight (line 1543) | func TestResolveDCRCredentials_RecoversPanicInsideSingleflight(t *testin... FILE: pkg/authserver/runner/embeddedauthserver.go constant RedisUsernameEnvVar (line 29) | RedisUsernameEnvVar = "TOOLHIVE_AUTH_SERVER_REDIS_USERNAME" constant RedisPasswordEnvVar (line 33) | RedisPasswordEnvVar = "TOOLHIVE_AUTH_SERVER_REDIS_PASSWORD" type EmbeddedAuthServer (line 39) | type EmbeddedAuthServer struct method Handler (line 118) | func (e *EmbeddedAuthServer) Handler() http.Handler { method Close (line 126) | func (e *EmbeddedAuthServer) Close() error { method IDPTokenStorage (line 137) | func (e *EmbeddedAuthServer) IDPTokenStorage() storage.UpstreamTokenSt... method UpstreamTokenRefresher (line 143) | func (e *EmbeddedAuthServer) UpstreamTokenRefresher() storage.Upstream... method KeyProvider (line 150) | func (e *EmbeddedAuthServer) KeyProvider() keys.KeyProvider { method Routes (line 166) | func (e *EmbeddedAuthServer) Routes() map[string]http.Handler { method RegisterHandlers (line 179) | func (e *EmbeddedAuthServer) RegisterHandlers(mux *http.ServeMux) { function NewEmbeddedAuthServer (line 53) | func NewEmbeddedAuthServer(ctx context.Context, cfg *authserver.RunConfi... function createKeyProvider (line 187) | func createKeyProvider(cfg *authserver.SigningKeyRunConfig) (keys.KeyPro... function loadHMACSecrets (line 204) | func loadHMACSecrets(files []string) (*servercrypto.HMACSecrets, error) { function parseTokenLifespans (line 242) | func parseTokenLifespans(cfg *authserver.TokenLifespanRunConfig) (access... function buildUpstreamConfigs (line 274) | func buildUpstreamConfigs(_ context.Context, runConfigs []authserver.Ups... function buildUpstreamConfig (line 290) | func buildUpstreamConfig(rc *authserver.UpstreamRunConfig) (*authserver.... function buildOIDCConfig (line 327) | func buildOIDCConfig(rc *authserver.UpstreamRunConfig) (*upstream.OIDCCo... function buildPureOAuth2Config (line 374) | func buildPureOAuth2Config(rc *authserver.UpstreamRunConfig) (*upstream.... function resolveSecret (line 417) | func resolveSecret(file, envVar string) (string, error) { function convertUserInfoConfig (line 438) | func convertUserInfoConfig(rc *authserver.UserInfoRunConfig) *upstream.U... function convertFieldMapping (line 451) | func convertFieldMapping(rc *authserver.UserInfoFieldMappingRunConfig) *... function createStorage (line 463) | func createStorage(ctx context.Context, cfg *storage.RunConfig) (storage... function convertRedisRunConfig (line 479) | func convertRedisRunConfig(rc *storage.RedisRunConfig) (*storage.RedisCo... function convertRedisACLConfig (line 539) | func convertRedisACLConfig(rc *storage.ACLUserRunConfig) (*storage.ACLUs... function applyRedisTimeouts (line 562) | func applyRedisTimeouts(rc *storage.RedisRunConfig, cfg *storage.RedisCo... function convertRedisTLSRunConfig (line 591) | func convertRedisTLSRunConfig(rc *storage.RedisTLSRunConfig) (*storage.R... function resolveEnvVar (line 610) | func resolveEnvVar(envVar string) (string, error) { FILE: pkg/authserver/runner/embeddedauthserver_test.go function TestCreateKeyProvider (line 30) | func TestCreateKeyProvider(t *testing.T) { function TestLoadHMACSecrets (line 109) | func TestLoadHMACSecrets(t *testing.T) { function TestParseTokenLifespans (line 206) | func TestParseTokenLifespans(t *testing.T) { function TestResolveSecret (line 283) | func TestResolveSecret(t *testing.T) { function TestResolveSecretWithEnvVar (line 332) | func TestResolveSecretWithEnvVar(t *testing.T) { function TestConvertUserInfoConfig (line 370) | func TestConvertUserInfoConfig(t *testing.T) { function TestConvertFieldMapping (line 421) | func TestConvertFieldMapping(t *testing.T) { function TestBuildPureOAuth2Config (line 449) | func TestBuildPureOAuth2Config(t *testing.T) { function TestBuildPureOAuth2ConfigWithEnvVar (line 587) | func TestBuildPureOAuth2ConfigWithEnvVar(t *testing.T) { function TestNewHMACSecrets (line 611) | func TestNewHMACSecrets(t *testing.T) { function TestNewEmbeddedAuthServer (line 626) | func TestNewEmbeddedAuthServer(t *testing.T) { function TestEmbeddedAuthServer_KeyProvider (line 734) | func TestEmbeddedAuthServer_KeyProvider(t *testing.T) { function TestBuildUpstreamConfig (line 773) | func TestBuildUpstreamConfig(t *testing.T) { function TestBuildOIDCConfig (line 872) | func TestBuildOIDCConfig(t *testing.T) { function TestCreateStorage (line 1030) | func TestCreateStorage(t *testing.T) { function TestConvertRedisRunConfig (line 1105) | func TestConvertRedisRunConfig(t *testing.T) { function TestConvertRedisRunConfig_WithEnvVars (line 1192) | func TestConvertRedisRunConfig_WithEnvVars(t *testing.T) { type stubServer (line 1307) | type stubServer struct method Handler (line 1311) | func (s *stubServer) Handler() http.Handler ... method IDPTokenStorage (line 1312) | func (*stubServer) IDPTokenStorage() storage.UpstreamTokenStorage ... method UpstreamTokenRefresher (line 1313) | func (*stubServer) UpstreamTokenRefresher() storage.UpstreamTokenRefre... method Close (line 1314) | func (*stubServer) Close() error ... function TestRoutes (line 1316) | func TestRoutes(t *testing.T) { function TestRegisterHandlers (line 1345) | func TestRegisterHandlers(t *testing.T) { FILE: pkg/authserver/runner/redis_tls_test.go function TestConvertRedisTLSRunConfig (line 17) | func TestConvertRedisTLSRunConfig(t *testing.T) { FILE: pkg/authserver/server.go type Server (line 16) | type Server interface function New (line 47) | func New(ctx context.Context, cfg Config, stor storage.Storage) (Server,... FILE: pkg/authserver/server/audience.go function ValidateAudienceURI (line 29) | func ValidateAudienceURI(resource string) error { function ValidateAudienceAllowed (line 66) | func ValidateAudienceAllowed(resource string, allowedAudiences []string)... FILE: pkg/authserver/server/audience_test.go function TestValidateAudienceURI (line 12) | func TestValidateAudienceURI(t *testing.T) { function TestValidateAudienceAllowed (line 42) | func TestValidateAudienceAllowed(t *testing.T) { FILE: pkg/authserver/server/crypto/keys.go constant MinSecretLength (line 36) | MinSecretLength = 32 constant MinRSAKeyBits (line 40) | MinRSAKeyBits = 2048 function LoadSigningKey (line 45) | func LoadSigningKey(keyPath string) (crypto.Signer, error) { function DeriveKeyID (line 92) | func DeriveKeyID(key crypto.Signer) (string, error) { function DeriveAlgorithm (line 110) | func DeriveAlgorithm(key crypto.Signer) (string, error) { function deriveECAlgorithm (line 124) | func deriveECAlgorithm(curve elliptic.Curve) (string, error) { function ValidateAlgorithmForKey (line 139) | func ValidateAlgorithmForKey(alg string, key crypto.Signer) error { type SigningKeyParams (line 169) | type SigningKeyParams struct type HMACSecrets (line 180) | type HMACSecrets struct function NewHMACSecrets (line 189) | func NewHMACSecrets(current []byte) *HMACSecrets { function DeriveSigningKeyParams (line 199) | func DeriveSigningKeyParams(key crypto.Signer, keyID, algorithm string) ... function loadHMACSecretFile (line 234) | func loadHMACSecretFile(secretPath string) ([]byte, error) { function LoadHMACSecrets (line 257) | func LoadHMACSecrets(paths []string) (*HMACSecrets, error) { FILE: pkg/authserver/server/crypto/keys_test.go function TestLoadSigningKey (line 35) | func TestLoadSigningKey(t *testing.T) { function TestDeriveAlgorithm (line 151) | func TestDeriveAlgorithm(t *testing.T) { function TestValidateAlgorithmForKey (line 181) | func TestValidateAlgorithmForKey(t *testing.T) { function TestDeriveSigningKeyParams (line 224) | func TestDeriveSigningKeyParams(t *testing.T) { function TestDeriveKeyID (line 269) | func TestDeriveKeyID(t *testing.T) { function TestLoadHMACSecrets (line 289) | func TestLoadHMACSecrets(t *testing.T) { function writePEM (line 422) | func writePEM(t *testing.T, dir, pemType string, der []byte) string { function writeFileNamed (line 430) | func writeFileNamed(t *testing.T, dir, name, content string) string { FILE: pkg/authserver/server/crypto/pkce.go constant PKCEChallengeMethodS256 (line 22) | PKCEChallengeMethodS256 = "S256" function GeneratePKCEVerifier (line 31) | func GeneratePKCEVerifier() string { function ComputePKCEChallenge (line 40) | func ComputePKCEChallenge(verifier string) string { FILE: pkg/authserver/server/crypto/pkce_test.go function TestGeneratePKCEVerifier (line 23) | func TestGeneratePKCEVerifier(t *testing.T) { function TestComputePKCEChallenge_RFC7636Example (line 33) | func TestComputePKCEChallenge_RFC7636Example(t *testing.T) { FILE: pkg/authserver/server/handlers/authorize.go type upstreamAuthSecrets (line 20) | type upstreamAuthSecrets struct function newUpstreamAuthSecrets (line 32) | func newUpstreamAuthSecrets() *upstreamAuthSecrets { method AuthorizeHandler (line 44) | func (h *Handler) AuthorizeHandler(w http.ResponseWriter, req *http.Requ... FILE: pkg/authserver/server/handlers/authorize_test.go function TestAuthorizeHandler_MissingClientID (line 18) | func TestAuthorizeHandler_MissingClientID(t *testing.T) { function TestAuthorizeHandler_MissingRedirectURI (line 32) | func TestAuthorizeHandler_MissingRedirectURI(t *testing.T) { function TestAuthorizeHandler_ClientNotFound (line 54) | func TestAuthorizeHandler_ClientNotFound(t *testing.T) { function TestAuthorizeHandler_InvalidRedirectURI (line 68) | func TestAuthorizeHandler_InvalidRedirectURI(t *testing.T) { function TestAuthorizeHandler_UnsupportedResponseType (line 82) | func TestAuthorizeHandler_UnsupportedResponseType(t *testing.T) { function TestAuthorizeHandler_PKCENotValidatedAtAuthorizeEndpoint (line 104) | func TestAuthorizeHandler_PKCENotValidatedAtAuthorizeEndpoint(t *testing... function TestAuthorizeHandler_PlainChallengeMethodAcceptedButValidatedAtToken (line 132) | func TestAuthorizeHandler_PlainChallengeMethodAcceptedButValidatedAtToke... function TestNewHandler_ErrorsOnEmptyUpstreams (line 159) | func TestNewHandler_ErrorsOnEmptyUpstreams(t *testing.T) { function TestAuthorizeHandler_RedirectsToUpstream (line 169) | func TestAuthorizeHandler_RedirectsToUpstream(t *testing.T) { FILE: pkg/authserver/server/handlers/callback.go method CallbackHandler (line 24) | func (h *Handler) CallbackHandler(w http.ResponseWriter, req *http.Reque... method maybeCarryForwardRefreshToken (line 187) | func (h *Handler) maybeCarryForwardRefreshToken( method writeAuthorizationResponse (line 218) | func (h *Handler) writeAuthorizationResponse( method buildAuthorizeRequesterFromPending (line 300) | func (h *Handler) buildAuthorizeRequesterFromPending( method handleUpstreamError (line 327) | func (h *Handler) handleUpstreamError( method continueChainOrComplete (line 368) | func (h *Handler) continueChainOrComplete( FILE: pkg/authserver/server/handlers/callback_test.go function TestCallbackHandler_MissingState (line 20) | func TestCallbackHandler_MissingState(t *testing.T) { function TestCallbackHandler_MissingCode (line 33) | func TestCallbackHandler_MissingCode(t *testing.T) { function TestCallbackHandler_PendingAuthorizationNotFound (line 46) | func TestCallbackHandler_PendingAuthorizationNotFound(t *testing.T) { function TestCallbackHandler_UpstreamError (line 59) | func TestCallbackHandler_UpstreamError(t *testing.T) { function TestCallbackHandler_ExchangeCodeFailure (line 95) | func TestCallbackHandler_ExchangeCodeFailure(t *testing.T) { function TestCallbackHandler_Success (line 131) | func TestCallbackHandler_Success(t *testing.T) { function TestCallbackHandler_SyntheticIdentity_BypassesUserResolver (line 183) | func TestCallbackHandler_SyntheticIdentity_BypassesUserResolver(t *testi... function TestCallbackHandler_ScopeFiltering (line 238) | func TestCallbackHandler_ScopeFiltering(t *testing.T) { function TestCallbackHandler_UnknownUpstreamProvider (line 281) | func TestCallbackHandler_UnknownUpstreamProvider(t *testing.T) { function TestCallbackHandler_ProviderMismatchRejected (line 312) | func TestCallbackHandler_ProviderMismatchRejected(t *testing.T) { function TestCallbackHandler_IdentityResolutionFailure (line 347) | func TestCallbackHandler_IdentityResolutionFailure(t *testing.T) { function TestCallbackHandler_TwoUpstreams_FirstLeg_RedirectsToSecond (line 385) | func TestCallbackHandler_TwoUpstreams_FirstLeg_RedirectsToSecond(t *test... function TestCallbackHandler_TwoUpstreams_SecondLeg_IssuesCode (line 450) | func TestCallbackHandler_TwoUpstreams_SecondLeg_IssuesCode(t *testing.T) { function TestCallbackHandler_TwoUpstreams_IdentityFromFirstLeg (line 517) | func TestCallbackHandler_TwoUpstreams_IdentityFromFirstLeg(t *testing.T) { function TestCallbackHandler_TwoUpstreams_IdentityMismatch_RejectsChain (line 584) | func TestCallbackHandler_TwoUpstreams_IdentityMismatch_RejectsChain(t *t... function TestCallbackHandler_TwoUpstreams_FreshSecretsPerLeg (line 643) | func TestCallbackHandler_TwoUpstreams_FreshSecretsPerLeg(t *testing.T) { function TestCallbackHandler_TwoUpstreams_AuthorizationURLError_CleansUp (line 707) | func TestCallbackHandler_TwoUpstreams_AuthorizationURLError_CleansUp(t *... function TestCallbackHandler_TwoUpstreams_StorePendingError_CleansUp (line 761) | func TestCallbackHandler_TwoUpstreams_StorePendingError_CleansUp(t *test... function TestCallbackHandler_RefreshTokenCarryForward (line 834) | func TestCallbackHandler_RefreshTokenCarryForward(t *testing.T) { function TestRoutesIncludeAuthorizeAndCallback (line 984) | func TestRoutesIncludeAuthorizeAndCallback(t *testing.T) { FILE: pkg/authserver/server/handlers/dcr.go constant maxDCRBodySize (line 21) | maxDCRBodySize = 64 * 1024 method RegisterClientHandler (line 26) | func (h *Handler) RegisterClientHandler(w http.ResponseWriter, req *http... function writeDCRError (line 128) | func writeDCRError(w http.ResponseWriter, statusCode int, dcrErr *regist... FILE: pkg/authserver/server/handlers/dcr_test.go function TestRegisterClientHandler (line 26) | func TestRegisterClientHandler(t *testing.T) { function TestRegisterClientHandler_ScopeInResponse (line 124) | func TestRegisterClientHandler_ScopeInResponse(t *testing.T) { function TestRegisterClientHandler_ClientIsStored (line 156) | func TestRegisterClientHandler_ClientIsStored(t *testing.T) { FILE: pkg/authserver/server/handlers/discovery.go constant DefaultJWKSCacheMaxAge (line 34) | DefaultJWKSCacheMaxAge = 3600 constant DefaultDiscoveryCacheMaxAge (line 38) | DefaultDiscoveryCacheMaxAge = 3600 method getSigningAlgorithms (line 43) | func (h *Handler) getSigningAlgorithms() []string { method JWKSHandler (line 70) | func (h *Handler) JWKSHandler(w http.ResponseWriter, _ *http.Request) { method buildOAuthMetadata (line 95) | func (h *Handler) buildOAuthMetadata() sharedobauth.AuthorizationServerM... method OAuthDiscoveryHandler (line 123) | func (h *Handler) OAuthDiscoveryHandler(w http.ResponseWriter, _ *http.R... method OIDCDiscoveryHandler (line 144) | func (h *Handler) OIDCDiscoveryHandler(w http.ResponseWriter, _ *http.Re... FILE: pkg/authserver/server/handlers/handler.go type NamedUpstream (line 32) | type NamedUpstream struct type Handler (line 38) | type Handler struct method Routes (line 78) | func (h *Handler) Routes() http.Handler { method OAuthRoutes (line 86) | func (h *Handler) OAuthRoutes(r chi.Router) { method WellKnownRoutes (line 103) | func (h *Handler) WellKnownRoutes(r chi.Router) { method nextMissingUpstream (line 115) | func (h *Handler) nextMissingUpstream(ctx context.Context, sessionID s... method upstreamByName (line 131) | func (h *Handler) upstreamByName(name string) (upstream.OAuth2Provider... function NewHandler (line 51) | func NewHandler( FILE: pkg/authserver/server/handlers/handler_chain_test.go function TestNextMissingUpstream (line 26) | func TestNextMissingUpstream(t *testing.T) { function TestNextMissingUpstream_StorageError (line 83) | func TestNextMissingUpstream_StorageError(t *testing.T) { FILE: pkg/authserver/server/handlers/handlers_test.go type testSetupOptions (line 39) | type testSetupOptions struct function testSetup (line 44) | func testSetup(t *testing.T) *Handler { function testSetupWithOptions (line 50) | func testSetupWithOptions(t *testing.T, opts testSetupOptions) *Handler { function TestJWKSHandler (line 96) | func TestJWKSHandler(t *testing.T) { function TestJWKSHandler_NilJWKS (line 127) | func TestJWKSHandler_NilJWKS(t *testing.T) { function TestOAuthDiscoveryHandler (line 157) | func TestOAuthDiscoveryHandler(t *testing.T) { function TestOAuthDiscoveryHandler_DoesNotContainOIDCFields (line 192) | func TestOAuthDiscoveryHandler_DoesNotContainOIDCFields(t *testing.T) { function TestOIDCDiscoveryHandler (line 216) | func TestOIDCDiscoveryHandler(t *testing.T) { function TestOAuthDiscoveryHandler_WithAuthorizationEndpointBaseURL (line 253) | func TestOAuthDiscoveryHandler_WithAuthorizationEndpointBaseURL(t *testi... function TestOIDCDiscoveryHandler_WithAuthorizationEndpointBaseURL (line 280) | func TestOIDCDiscoveryHandler_WithAuthorizationEndpointBaseURL(t *testin... function TestWellKnownRoutes (line 311) | func TestWellKnownRoutes(t *testing.T) { FILE: pkg/authserver/server/handlers/helpers_test.go constant testAuthClientID (line 26) | testAuthClientID = "test-auth-client" constant testAuthRedirectURI (line 27) | testAuthRedirectURI = "http://localhost:8080/callback" constant testAuthIssuer (line 28) | testAuthIssuer = "http://test-auth-issuer" constant testInternalState (line 29) | testInternalState = "internal-state-123" type mockIDPProvider (line 33) | type mockIDPProvider struct method Type (line 51) | func (m *mockIDPProvider) Type() upstream.ProviderType { method AuthorizationURL (line 58) | func (m *mockIDPProvider) AuthorizationURL(state, codeChallenge string... method ExchangeCodeForIdentity (line 67) | func (m *mockIDPProvider) ExchangeCodeForIdentity(_ context.Context, c... method RefreshTokens (line 77) | func (m *mockIDPProvider) RefreshTokens(_ context.Context, _, _ string... type testStorageState (line 85) | type testStorageState struct type baseTestSetupOption (line 97) | type baseTestSetupOption type baseTestSetupConfig (line 99) | type baseTestSetupConfig struct function withStorePendingError (line 104) | func withStorePendingError(err error) baseTestSetupOption { function withGetLatestUpstreamTokensError (line 110) | func withGetLatestUpstreamTokensError(err error) baseTestSetupOption { function baseTestSetup (line 118) | func baseTestSetup(t *testing.T, opts ...baseTestSetupOption) (fosite.OA... function handlerTestSetup (line 401) | func handlerTestSetup(t *testing.T, opts ...baseTestSetupOption) (*Handl... function multiUpstreamTestSetup (line 429) | func multiUpstreamTestSetup(t *testing.T) (*Handler, *testStorageState, ... FILE: pkg/authserver/server/handlers/token.go method TokenHandler (line 16) | func (h *Handler) TokenHandler(w http.ResponseWriter, req *http.Request) { FILE: pkg/authserver/server/handlers/token_test.go function TestTokenHandler_MissingGrantType (line 24) | func TestTokenHandler_MissingGrantType(t *testing.T) { function TestTokenHandler_UnsupportedGrantType (line 39) | func TestTokenHandler_UnsupportedGrantType(t *testing.T) { function TestTokenHandler_MissingCode (line 57) | func TestTokenHandler_MissingCode(t *testing.T) { function TestTokenHandler_InvalidCode (line 79) | func TestTokenHandler_InvalidCode(t *testing.T) { function TestTokenHandler_MissingCodeVerifier (line 101) | func TestTokenHandler_MissingCodeVerifier(t *testing.T) { function TestTokenHandler_InvalidClient (line 126) | func TestTokenHandler_InvalidClient(t *testing.T) { function TestTokenHandler_Success (line 148) | func TestTokenHandler_Success(t *testing.T) { function TestTokenHandler_AudienceClaim (line 179) | func TestTokenHandler_AudienceClaim(t *testing.T) { function TestTokenHandler_RouteRegistered (line 253) | func TestTokenHandler_RouteRegistered(t *testing.T) { constant testPKCEVerifier (line 271) | testPKCEVerifier = "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk" function simulateAuthorizeFlow (line 275) | func simulateAuthorizeFlow(t *testing.T, handler *Handler, storState *te... FILE: pkg/authserver/server/handlers/user.go type UserResolver (line 20) | type UserResolver struct method ResolveUser (line 36) | func (r *UserResolver) ResolveUser( method createUserWithIdentity (line 68) | func (r *UserResolver) createUserWithIdentity( method UpdateLastAuthenticated (line 112) | func (r *UserResolver) UpdateLastAuthenticated( function NewUserResolver (line 25) | func NewUserResolver(stor storage.UserStorage) *UserResolver { FILE: pkg/authserver/server/handlers/user_test.go function TestUserResolver_ResolveUser (line 19) | func TestUserResolver_ResolveUser(t *testing.T) { function TestUserResolver_UpdateLastAuthenticated (line 251) | func TestUserResolver_UpdateLastAuthenticated(t *testing.T) { function TestNewUserResolver (line 317) | func TestNewUserResolver(t *testing.T) { FILE: pkg/authserver/server/keys/config.go type Config (line 9) | type Config struct function NewProviderFromConfig (line 48) | func NewProviderFromConfig(cfg Config) (KeyProvider, error) { FILE: pkg/authserver/server/keys/mocks/mock_provider.go type MockPublicKeyProvider (line 21) | type MockPublicKeyProvider struct method EXPECT (line 40) | func (m *MockPublicKeyProvider) EXPECT() *MockPublicKeyProviderMockRec... method PublicKeys (line 45) | func (m *MockPublicKeyProvider) PublicKeys(ctx context.Context) ([]*ke... type MockPublicKeyProviderMockRecorder (line 28) | type MockPublicKeyProviderMockRecorder struct method PublicKeys (line 54) | func (mr *MockPublicKeyProviderMockRecorder) PublicKeys(ctx any) *gomo... function NewMockPublicKeyProvider (line 33) | func NewMockPublicKeyProvider(ctrl *gomock.Controller) *MockPublicKeyPro... type MockKeyProvider (line 60) | type MockKeyProvider struct method EXPECT (line 79) | func (m *MockKeyProvider) EXPECT() *MockKeyProviderMockRecorder { method PublicKeys (line 84) | func (m *MockKeyProvider) PublicKeys(ctx context.Context) ([]*keys.Pub... method SigningKey (line 99) | func (m *MockKeyProvider) SigningKey(ctx context.Context) (*keys.Signi... type MockKeyProviderMockRecorder (line 67) | type MockKeyProviderMockRecorder struct method PublicKeys (line 93) | func (mr *MockKeyProviderMockRecorder) PublicKeys(ctx any) *gomock.Call { method SigningKey (line 108) | func (mr *MockKeyProviderMockRecorder) SigningKey(ctx any) *gomock.Call { function NewMockKeyProvider (line 72) | func NewMockKeyProvider(ctrl *gomock.Controller) *MockKeyProvider { FILE: pkg/authserver/server/keys/provider.go type PublicKeyProvider (line 26) | type PublicKeyProvider interface type KeyProvider (line 35) | type KeyProvider interface type FileProvider (line 49) | type FileProvider struct method SigningKey (line 112) | func (p *FileProvider) SigningKey(_ context.Context) (*SigningKeyData,... method PublicKeys (line 124) | func (p *FileProvider) PublicKeys(_ context.Context) ([]*PublicKeyData... function NewFileProvider (line 59) | func NewFileProvider(cfg Config) (*FileProvider, error) { function loadKeyFromFile (line 91) | func loadKeyFromFile(keyPath string) (*SigningKeyData, error) { type GeneratingProvider (line 140) | type GeneratingProvider struct method SigningKey (line 159) | func (p *GeneratingProvider) SigningKey(_ context.Context) (*SigningKe... method PublicKeys (line 193) | func (p *GeneratingProvider) PublicKeys(ctx context.Context) ([]*Publi... method generateKey (line 206) | func (p *GeneratingProvider) generateKey() (*SigningKeyData, error) { function NewGeneratingProvider (line 149) | func NewGeneratingProvider(algorithm string) *GeneratingProvider { function generatePrivateKey (line 226) | func generatePrivateKey(algorithm string) (crypto.Signer, error) { FILE: pkg/authserver/server/keys/provider_test.go function writePEM (line 23) | func writePEM(t *testing.T, dir, filename string, der []byte) string { function generateTestKey (line 32) | func generateTestKey(t *testing.T) *ecdsa.PrivateKey { function TestFileProvider (line 40) | func TestFileProvider(t *testing.T) { function TestGeneratingProvider (line 254) | func TestGeneratingProvider(t *testing.T) { function TestNewProviderFromConfig (line 362) | func TestNewProviderFromConfig(t *testing.T) { FILE: pkg/authserver/server/keys/types.go constant DefaultAlgorithm (line 16) | DefaultAlgorithm = "ES256" type SigningKeyData (line 20) | type SigningKeyData struct type PublicKeyData (line 36) | type PublicKeyData struct FILE: pkg/authserver/server/provider.go constant MinAccessTokenLifespan (line 34) | MinAccessTokenLifespan = 1 * time.Minute constant MaxAccessTokenLifespan (line 36) | MaxAccessTokenLifespan = 24 * time.Hour constant MinRefreshTokenLifespan (line 38) | MinRefreshTokenLifespan = 1 * time.Hour constant MaxRefreshTokenLifespan (line 40) | MaxRefreshTokenLifespan = 30 * 24 * time.Hour constant MinAuthCodeLifespan (line 42) | MinAuthCodeLifespan = 30 * time.Second constant MaxAuthCodeLifespan (line 44) | MaxAuthCodeLifespan = 10 * time.Minute type AuthorizationServerConfig (line 49) | type AuthorizationServerConfig struct method GetSigningKey (line 277) | func (c *AuthorizationServerConfig) GetSigningKey(_ context.Context) *... method GetPrivateSigningJWKS (line 285) | func (c *AuthorizationServerConfig) GetPrivateSigningJWKS(_ context.Co... method PublicJWKS (line 290) | func (c *AuthorizationServerConfig) PublicJWKS() *jose.JSONWebKeySet { method GetAccessTokenIssuer (line 309) | func (c *AuthorizationServerConfig) GetAccessTokenIssuer() string { method GetAuthorizationEndpointBaseURL (line 315) | func (c *AuthorizationServerConfig) GetAuthorizationEndpointBaseURL() ... method GetAuthorizeCodeLifespan (line 324) | func (c *AuthorizationServerConfig) GetAuthorizeCodeLifespan() time.Du... method GetAccessTokenLifespan (line 330) | func (c *AuthorizationServerConfig) GetAccessTokenLifespan() time.Dura... method GetRefreshTokenLifespan (line 336) | func (c *AuthorizationServerConfig) GetRefreshTokenLifespan() time.Dur... type Factory (line 73) | type Factory type AuthorizationServerParams (line 77) | type AuthorizationServerParams struct function validateIssuerURL (line 99) | func validateIssuerURL(issuer string) error { function validateAllowedAudiences (line 125) | func validateAllowedAudiences(audiences []string) error { function validateHMACSecrets (line 135) | func validateHMACSecrets(secrets *servercrypto.HMACSecrets) error { function validateTokenLifespans (line 151) | func validateTokenLifespans(cfg *AuthorizationServerParams) error { function validateParams (line 165) | func validateParams(cfg *AuthorizationServerParams) error { function NewAuthorizationServerConfig (line 196) | func NewAuthorizationServerConfig(cfg *AuthorizationServerParams) (*Auth... function NewAuthorizationServer (line 240) | func NewAuthorizationServer( FILE: pkg/authserver/server/provider_test.go function TestNewAuthorizationServerConfig (line 31) | func TestNewAuthorizationServerConfig(t *testing.T) { function TestNewAuthorizationServerConfig_InvalidConfig (line 68) | func TestNewAuthorizationServerConfig_InvalidConfig(t *testing.T) { function TestGetAuthorizationEndpointBaseURL_Fallback (line 327) | func TestGetAuthorizationEndpointBaseURL_Fallback(t *testing.T) { function TestGetAuthorizationEndpointBaseURL_Override (line 351) | func TestGetAuthorizationEndpointBaseURL_Override(t *testing.T) { function TestNewAuthorizationServerConfig_InvalidAuthorizationEndpointBaseURL (line 378) | func TestNewAuthorizationServerConfig_InvalidAuthorizationEndpointBaseUR... function TestNewAuthorizationServerConfig_WithRotatedSecrets (line 401) | func TestNewAuthorizationServerConfig_WithRotatedSecrets(t *testing.T) { function TestNewAuthorizationServerConfig_WithoutRotatedSecrets (line 436) | func TestNewAuthorizationServerConfig_WithoutRotatedSecrets(t *testing.T) { function TestAuthorizationServerConfig_PublicJWKS (line 467) | func TestAuthorizationServerConfig_PublicJWKS(t *testing.T) { type mockStorage (line 497) | type mockStorage struct method GetClient (line 499) | func (*mockStorage) GetClient(_ context.Context, _ string) (fosite.Cli... method ClientAssertionJWTValid (line 503) | func (*mockStorage) ClientAssertionJWTValid(_ context.Context, _ strin... method SetClientAssertionJWT (line 507) | func (*mockStorage) SetClientAssertionJWT(_ context.Context, _ string,... type mockAuthorizeHandler (line 512) | type mockAuthorizeHandler struct method HandleAuthorizeEndpointRequest (line 514) | func (*mockAuthorizeHandler) HandleAuthorizeEndpointRequest(_ context.... type mockTokenHandler (line 519) | type mockTokenHandler struct method PopulateTokenEndpointResponse (line 521) | func (*mockTokenHandler) PopulateTokenEndpointResponse(_ context.Conte... method CanSkipClientAuth (line 525) | func (*mockTokenHandler) CanSkipClientAuth(_ context.Context, _ fosite... method CanHandleTokenEndpointRequest (line 529) | func (*mockTokenHandler) CanHandleTokenEndpointRequest(_ context.Conte... method HandleTokenEndpointRequest (line 533) | func (*mockTokenHandler) HandleTokenEndpointRequest(_ context.Context,... type mockTokenIntrospector (line 538) | type mockTokenIntrospector struct method IntrospectToken (line 540) | func (*mockTokenIntrospector) IntrospectToken(_ context.Context, _ str... type mockRevocationHandler (line 545) | type mockRevocationHandler struct method RevokeToken (line 547) | func (*mockRevocationHandler) RevokeToken(_ context.Context, _ string,... function TestNewAuthorizationServer (line 551) | func TestNewAuthorizationServer(t *testing.T) { FILE: pkg/authserver/server/registration/client.go type LoopbackClient (line 45) | type LoopbackClient struct method MatchRedirectURI (line 59) | func (c *LoopbackClient) MatchRedirectURI(requestedURI string) bool { method GetMatchingRedirectURI (line 71) | func (c *LoopbackClient) GetMatchingRedirectURI(requestedURI string) s... function NewLoopbackClient (line 50) | func NewLoopbackClient(client *fosite.DefaultClient) *LoopbackClient { type Config (line 89) | type Config struct function New (line 126) | func New(cfg Config) (fosite.Client, error) { function matchesRedirectURI (line 182) | func matchesRedirectURI(requestedURI, registeredURI string) bool { function matchesAsLoopback (line 200) | func matchesAsLoopback(requestedURI, registeredURI string) bool { function isLoopbackURI (line 242) | func isLoopbackURI(uri string) bool { function hostnamesMatch (line 259) | func hostnamesMatch(requested, registered string) bool { FILE: pkg/authserver/server/registration/client_test.go function TestNewLoopbackClient (line 26) | func TestNewLoopbackClient(t *testing.T) { function TestLoopbackClient_MatchRedirectURI (line 43) | func TestLoopbackClient_MatchRedirectURI(t *testing.T) { function TestLoopbackClient_GetMatchingRedirectURI (line 211) | func TestLoopbackClient_GetMatchingRedirectURI(t *testing.T) { function TestNewClient_PublicClient (line 262) | func TestNewClient_PublicClient(t *testing.T) { function TestNewClient_ConfidentialClient (line 289) | func TestNewClient_ConfidentialClient(t *testing.T) { function TestNewClient_ConfidentialClientWithoutSecret (line 321) | func TestNewClient_ConfidentialClientWithoutSecret(t *testing.T) { function TestNewClient_CustomOverrides (line 337) | func TestNewClient_CustomOverrides(t *testing.T) { function TestNewClient_EmptySlicesUseDefaults (line 362) | func TestNewClient_EmptySlicesUseDefaults(t *testing.T) { FILE: pkg/authserver/server/registration/dcr.go constant DCRErrorInvalidRedirectURI (line 31) | DCRErrorInvalidRedirectURI = "invalid_redirect_uri" constant DCRErrorInvalidClientMetadata (line 35) | DCRErrorInvalidClientMetadata = "invalid_client_metadata" constant MaxRedirectURICount (line 41) | MaxRedirectURICount = 10 constant MaxClientNameLength (line 44) | MaxClientNameLength = 256 type DCRRequest (line 49) | type DCRRequest struct type DCRResponse (line 77) | type DCRResponse struct type DCRError (line 107) | type DCRError struct function ValidateDCRRequest (line 135) | func ValidateDCRRequest(req *DCRRequest) (*DCRRequest, *DCRError) { function validateGrantTypes (line 201) | func validateGrantTypes(grantTypes []string) ([]string, *DCRError) { function validateResponseTypes (line 224) | func validateResponseTypes(responseTypes []string) ([]string, *DCRError) { function ValidateRedirectURI (line 251) | func ValidateRedirectURI(uri string) *DCRError { function ValidateScopes (line 264) | func ValidateScopes(requestedScope string, allowedScopes []string) ([]st... function FormatScopes (line 308) | func FormatScopes(scopes []string) string { FILE: pkg/authserver/server/registration/dcr_test.go function TestValidateRedirectURI (line 27) | func TestValidateRedirectURI(t *testing.T) { function TestValidateDCRRequest (line 140) | func TestValidateDCRRequest(t *testing.T) { function TestValidateScopes (line 459) | func TestValidateScopes(t *testing.T) { function TestDCRErrorConstants (line 544) | func TestDCRErrorConstants(t *testing.T) { function TestDefaultGrantTypesAndResponseTypes (line 552) | func TestDefaultGrantTypesAndResponseTypes(t *testing.T) { FILE: pkg/authserver/server/session/session.go type Factory (line 32) | type Factory type UserClaims (line 37) | type UserClaims struct type UpstreamSession (line 48) | type UpstreamSession interface constant TokenSessionIDClaimKey (line 57) | TokenSessionIDClaimKey = "tsid" constant ClientIDClaimKey (line 61) | ClientIDClaimKey = "client_id" constant NameClaimKey (line 65) | NameClaimKey = "name" constant EmailClaimKey (line 69) | EmailClaimKey = "email" type Session (line 84) | type Session struct method Clone (line 157) | func (s *Session) Clone() fosite.Session { method GetIDPSessionID (line 174) | func (s *Session) GetIDPSessionID() string { method SetIDPSessionID (line 182) | func (s *Session) SetIDPSessionID(id string) { function New (line 116) | func New(subject, idpSessionID, clientID string, claims UserClaims) *Ses... FILE: pkg/authserver/server/session/session_test.go function TestFactory (line 26) | func TestFactory(t *testing.T) { function TestNew (line 80) | func TestNew(t *testing.T) { function TestSession_Clone (line 217) | func TestSession_Clone(t *testing.T) { function TestSession_UpstreamSessionID (line 282) | func TestSession_UpstreamSessionID(t *testing.T) { FILE: pkg/authserver/server_impl.go type server (line 24) | type server struct method Handler (line 181) | func (s *server) Handler() http.Handler { method IDPTokenStorage (line 186) | func (s *server) IDPTokenStorage() storage.UpstreamTokenStorage { method UpstreamTokenRefresher (line 193) | func (s *server) UpstreamTokenRefresher() storage.UpstreamTokenRefresh... method Close (line 209) | func (s *server) Close() error { type upstreamProviderFactory (line 36) | type upstreamProviderFactory type serverOption (line 39) | type serverOption type serverOptions (line 42) | type serverOptions struct function defaultUpstreamFactory (line 49) | func defaultUpstreamFactory(ctx context.Context, cfg *UpstreamConfig) (u... function withUpstreamFactory (line 62) | func withUpstreamFactory(factory upstreamProviderFactory) serverOption { function newServer (line 70) | func newServer(ctx context.Context, cfg Config, stor storage.Storage, op... function createProvider (line 226) | func createProvider(authServerConfig *oauthserver.AuthorizationServerCon... FILE: pkg/authserver/server_test.go function validUpstreamConfig (line 22) | func validUpstreamConfig() *upstream.OAuth2Config { function validHMACSecret (line 34) | func validHMACSecret() []byte { function TestNew (line 40) | func TestNew(t *testing.T) { function TestNewServer_Success (line 142) | func TestNewServer_Success(t *testing.T) { FILE: pkg/authserver/storage/config.go type Type (line 9) | type Type constant TypeMemory (line 13) | TypeMemory Type = "memory" constant TypeRedis (line 16) | TypeRedis Type = "redis" constant AuthTypeACLUser (line 20) | AuthTypeACLUser = "aclUser" constant DefaultCleanupInterval (line 23) | DefaultCleanupInterval = 5 * time.Minute constant DefaultAccessTokenTTL (line 26) | DefaultAccessTokenTTL = 1 * time.Hour constant DefaultRefreshTokenTTL (line 29) | DefaultRefreshTokenTTL = 30 * 24 * time.Hour constant DefaultAuthCodeTTL (line 32) | DefaultAuthCodeTTL = 10 * time.Minute constant DefaultInvalidatedCodeTTL (line 35) | DefaultInvalidatedCodeTTL = 30 * time.Minute constant DefaultPKCETTL (line 38) | DefaultPKCETTL = 10 * time.Minute constant DefaultPublicClientTTL (line 42) | DefaultPublicClientTTL = 30 * 24 * time.Hour type Config (line 46) | type Config struct function DefaultConfig (line 52) | func DefaultConfig() *Config { type RunConfig (line 61) | type RunConfig struct type RedisRunConfig (line 71) | type RedisRunConfig struct type SentinelRunConfig (line 106) | type SentinelRunConfig struct type RedisTLSRunConfig (line 119) | type RedisTLSRunConfig struct type ACLUserRunConfig (line 129) | type ACLUserRunConfig struct FILE: pkg/authserver/storage/memory.go type timedEntry (line 29) | type timedEntry struct type upstreamKey (line 36) | type upstreamKey struct type MemoryStorage (line 54) | type MemoryStorage struct method Health (line 148) | func (*MemoryStorage) Health(_ context.Context) error { method Close (line 154) | func (s *MemoryStorage) Close() error { method cleanupLoop (line 161) | func (s *MemoryStorage) cleanupLoop() { method cleanupExpired (line 182) | func (s *MemoryStorage) cleanupExpired() { method RegisterClient (line 327) | func (s *MemoryStorage) RegisterClient(_ context.Context, client fosit... method GetClient (line 339) | func (s *MemoryStorage) GetClient(_ context.Context, id string) (fosit... method ClientAssertionJWTValid (line 353) | func (s *MemoryStorage) ClientAssertionJWTValid(_ context.Context, jti... method SetClientAssertionJWT (line 367) | func (s *MemoryStorage) SetClientAssertionJWT(_ context.Context, jti s... method CreateAuthorizeCodeSession (line 388) | func (s *MemoryStorage) CreateAuthorizeCodeSession(_ context.Context, ... method GetAuthorizeCodeSession (line 413) | func (s *MemoryStorage) GetAuthorizeCodeSession(_ context.Context, cod... method InvalidateAuthorizeCodeSession (line 434) | func (s *MemoryStorage) InvalidateAuthorizeCodeSession(_ context.Conte... method CreateAccessTokenSession (line 457) | func (s *MemoryStorage) CreateAccessTokenSession(_ context.Context, si... method GetAccessTokenSession (line 484) | func (s *MemoryStorage) GetAccessTokenSession(_ context.Context, signa... method DeleteAccessTokenSession (line 497) | func (s *MemoryStorage) DeleteAccessTokenSession(_ context.Context, si... method CreateRefreshTokenSession (line 516) | func (s *MemoryStorage) CreateRefreshTokenSession(_ context.Context, s... method GetRefreshTokenSession (line 539) | func (s *MemoryStorage) GetRefreshTokenSession(_ context.Context, sign... method DeleteRefreshTokenSession (line 552) | func (s *MemoryStorage) DeleteRefreshTokenSession(_ context.Context, s... method RotateRefreshToken (line 565) | func (s *MemoryStorage) RotateRefreshToken(_ context.Context, requestI... method RevokeAccessToken (line 597) | func (s *MemoryStorage) RevokeAccessToken(_ context.Context, requestID... method RevokeRefreshToken (line 618) | func (s *MemoryStorage) RevokeRefreshToken(_ context.Context, requestI... method RevokeRefreshTokenMaybeGracePeriod (line 635) | func (s *MemoryStorage) RevokeRefreshTokenMaybeGracePeriod(ctx context... method CreatePKCERequestSession (line 644) | func (s *MemoryStorage) CreatePKCERequestSession(_ context.Context, si... method GetPKCERequestSession (line 667) | func (s *MemoryStorage) GetPKCERequestSession(_ context.Context, signa... method DeletePKCERequestSession (line 680) | func (s *MemoryStorage) DeletePKCERequestSession(_ context.Context, si... method StoreUpstreamTokens (line 697) | func (s *MemoryStorage) StoreUpstreamTokens(_ context.Context, session... method GetUpstreamTokens (line 769) | func (s *MemoryStorage) GetUpstreamTokens(_ context.Context, sessionID... method GetAllUpstreamTokens (line 807) | func (s *MemoryStorage) GetAllUpstreamTokens(_ context.Context, sessio... method DeleteUpstreamTokens (line 824) | func (s *MemoryStorage) DeleteUpstreamTokens(_ context.Context, sessio... method GetLatestUpstreamTokensForUser (line 863) | func (s *MemoryStorage) GetLatestUpstreamTokensForUser(_ context.Conte... method StorePendingAuthorization (line 898) | func (s *MemoryStorage) StorePendingAuthorization(_ context.Context, s... method LoadPendingAuthorization (line 941) | func (s *MemoryStorage) LoadPendingAuthorization(_ context.Context, st... method DeletePendingAuthorization (line 982) | func (s *MemoryStorage) DeletePendingAuthorization(_ context.Context, ... method CreateUser (line 1007) | func (s *MemoryStorage) CreateUser(_ context.Context, user *User) error { method GetUser (line 1033) | func (s *MemoryStorage) GetUser(_ context.Context, id string) (*User, ... method DeleteUser (line 1052) | func (s *MemoryStorage) DeleteUser(_ context.Context, id string) error { method CreateProviderIdentity (line 1080) | func (s *MemoryStorage) CreateProviderIdentity(_ context.Context, iden... method GetProviderIdentity (line 1121) | func (s *MemoryStorage) GetProviderIdentity(_ context.Context, provide... method UpdateProviderIdentityLastUsed (line 1144) | func (s *MemoryStorage) UpdateProviderIdentityLastUsed( method GetUserProviderIdentities (line 1163) | func (s *MemoryStorage) GetUserProviderIdentities(_ context.Context, u... method Stats (line 1211) | func (s *MemoryStorage) Stats() Stats { type MemoryStorageOption (line 108) | type MemoryStorageOption function WithCleanupInterval (line 111) | func WithCleanupInterval(interval time.Duration) MemoryStorageOption { function NewMemoryStorage (line 119) | func NewMemoryStorage(opts ...MemoryStorageOption) *MemoryStorage { function getExpirationFromRequester (line 307) | func getExpirationFromRequester(request fosite.Requester, tokenType fosi... function cloneUpstreamTokens (line 750) | func cloneUpstreamTokens(t *UpstreamTokens) *UpstreamTokens { function compareExpiry (line 845) | func compareExpiry(a, b time.Time) int { function providerIdentityKey (line 1001) | func providerIdentityKey(providerID, providerSubject string) string { type Stats (line 1195) | type Stats struct FILE: pkg/authserver/storage/memory_test.go type mockSession (line 36) | type mockSession struct method SetExpiresAt (line 45) | func (s *mockSession) SetExpiresAt(key fosite.TokenType, exp time.Time... method GetExpiresAt (line 46) | func (s *mockSession) GetExpiresAt(key fosite.TokenType) time.Time ... method GetUsername (line 47) | func (*mockSession) GetUsername() string ... method GetSubject (line 48) | func (s *mockSession) GetSubject() string ... method Clone (line 49) | func (s *mockSession) Clone() fosite.Session { function newMockSession (line 41) | func newMockSession() *mockSession { type mockClient (line 57) | type mockClient struct method GetID (line 67) | func (c *mockClient) GetID() string { return c.id } method GetHashedSecret (line 68) | func (c *mockClient) GetHashedSecret() []byte { return c.se... method GetRedirectURIs (line 69) | func (c *mockClient) GetRedirectURIs() []string { return c.re... method GetGrantTypes (line 70) | func (c *mockClient) GetGrantTypes() fosite.Arguments { return c.gr... method GetResponseTypes (line 71) | func (c *mockClient) GetResponseTypes() fosite.Arguments { return c.re... method GetScopes (line 72) | func (c *mockClient) GetScopes() fosite.Arguments { return c.sc... method IsPublic (line 73) | func (c *mockClient) IsPublic() bool { return c.pu... method GetAudience (line 74) | func (*mockClient) GetAudience() fosite.Arguments { return nil } type mockRequester (line 76) | type mockRequester struct method SetID (line 108) | func (r *mockRequester) SetID(id string) { r... method GetID (line 109) | func (r *mockRequester) GetID() string { r... method GetRequestedAt (line 110) | func (r *mockRequester) GetRequestedAt() time.Time { r... method GetClient (line 111) | func (r *mockRequester) GetClient() fosite.Client { r... method GetRequestedScopes (line 112) | func (r *mockRequester) GetRequestedScopes() fosite.Arguments { r... method GetRequestedAudience (line 113) | func (r *mockRequester) GetRequestedAudience() fosite.Arguments { r... method SetRequestedScopes (line 114) | func (r *mockRequester) SetRequestedScopes(s fosite.Arguments) { r... method SetRequestedAudience (line 115) | func (r *mockRequester) SetRequestedAudience(aud fosite.Arguments) { r... method AppendRequestedScope (line 116) | func (r *mockRequester) AppendRequestedScope(scope string) { method GetGrantedScopes (line 119) | func (r *mockRequester) GetGrantedScopes() fosite.Arguments { return... method GetGrantedAudience (line 120) | func (r *mockRequester) GetGrantedAudience() fosite.Arguments { return... method GrantScope (line 121) | func (r *mockRequester) GrantScope(scope string) { r.gran... method GrantAudience (line 122) | func (r *mockRequester) GrantAudience(aud string) { r.gran... method GetSession (line 123) | func (r *mockRequester) GetSession() fosite.Session { return... method SetSession (line 124) | func (r *mockRequester) SetSession(s fosite.Session) { r.sess... method GetRequestForm (line 125) | func (r *mockRequester) GetRequestForm() url.Values { return... method Merge (line 126) | func (*mockRequester) Merge(_ fosite.Requester) {} method Sanitize (line 127) | func (r *mockRequester) Sanitize(_ []string) fosite.Requester { return... function newMockRequester (line 88) | func newMockRequester(id string, client fosite.Client) *mockRequester { function newMockRequesterWithExpiration (line 97) | func newMockRequesterWithExpiration(id string, client fosite.Client, tok... function withStorage (line 131) | func withStorage(t *testing.T, fn func(context.Context, *MemoryStorage)) { function requireNotFoundError (line 139) | func requireNotFoundError(t *testing.T, err error) { function testClient (line 146) | func testClient() *mockClient { return &mockClient{id: "test-client"} } function TestNewMemoryStorage (line 150) | func TestNewMemoryStorage(t *testing.T) { function TestNewMemoryStorage_WithCleanupInterval (line 167) | func TestNewMemoryStorage_WithCleanupInterval(t *testing.T) { function TestMemoryStorage_ImplementsStorage (line 175) | func TestMemoryStorage_ImplementsStorage(t *testing.T) { function TestMemoryStorage_Client (line 182) | func TestMemoryStorage_Client(t *testing.T) { function TestMemoryStorage_RegisterClient (line 213) | func TestMemoryStorage_RegisterClient(t *testing.T) { function TestMemoryStorage_ClientAssertionJWT (line 223) | func TestMemoryStorage_ClientAssertionJWT(t *testing.T) { type tokenSessionOps (line 274) | type tokenSessionOps struct function getTokenSessionTestCases (line 282) | func getTokenSessionTestCases() []tokenSessionOps { function TestMemoryStorage_TokenSessions (line 337) | func TestMemoryStorage_TokenSessions(t *testing.T) { function TestMemoryStorage_AuthorizeCode_Invalidation (line 372) | func TestMemoryStorage_AuthorizeCode_Invalidation(t *testing.T) { function TestMemoryStorage_AccessToken_DeleteNonExistent (line 395) | func TestMemoryStorage_AccessToken_DeleteNonExistent(t *testing.T) { function TestMemoryStorage_RotateRefreshToken (line 402) | func TestMemoryStorage_RotateRefreshToken(t *testing.T) { function TestMemoryStorage_UpstreamTokens (line 429) | func TestMemoryStorage_UpstreamTokens(t *testing.T) { function TestMemoryStorage_GetLatestUpstreamTokensForUser (line 624) | func TestMemoryStorage_GetLatestUpstreamTokensForUser(t *testing.T) { function TestMemoryStorage_PendingAuthorization (line 826) | func TestMemoryStorage_PendingAuthorization(t *testing.T) { function TestMemoryStorage_CleanupExpired (line 893) | func TestMemoryStorage_CleanupExpired(t *testing.T) { function TestMemoryStorage_CleanupLoop (line 1100) | func TestMemoryStorage_CleanupLoop(t *testing.T) { function TestMemoryStorage_Stats (line 1139) | func TestMemoryStorage_Stats(t *testing.T) { function TestGetExpirationFromRequester (line 1186) | func TestGetExpirationFromRequester(t *testing.T) { function TestMemoryStorage_InputValidation (line 1224) | func TestMemoryStorage_InputValidation(t *testing.T) { function TestMemoryStorage_User (line 1290) | func TestMemoryStorage_User(t *testing.T) { function TestMemoryStorage_ProviderIdentity (line 1347) | func TestMemoryStorage_ProviderIdentity(t *testing.T) { function TestMemoryStorage_GetUserProviderIdentities (line 1437) | func TestMemoryStorage_GetUserProviderIdentities(t *testing.T) { function TestMemoryStorage_DeleteUser_CascadesAssociatedData (line 1530) | func TestMemoryStorage_DeleteUser_CascadesAssociatedData(t *testing.T) { function TestMemoryStorage_UserInputValidation (line 1594) | func TestMemoryStorage_UserInputValidation(t *testing.T) { function TestMemoryStorage_ConcurrentAccess (line 1635) | func TestMemoryStorage_ConcurrentAccess(t *testing.T) { FILE: pkg/authserver/storage/mocks/mock_storage.go type MockPendingAuthorizationStorage (line 23) | type MockPendingAuthorizationStorage struct method EXPECT (line 42) | func (m *MockPendingAuthorizationStorage) EXPECT() *MockPendingAuthori... method DeletePendingAuthorization (line 47) | func (m *MockPendingAuthorizationStorage) DeletePendingAuthorization(c... method LoadPendingAuthorization (line 61) | func (m *MockPendingAuthorizationStorage) LoadPendingAuthorization(ctx... method StorePendingAuthorization (line 76) | func (m *MockPendingAuthorizationStorage) StorePendingAuthorization(ct... type MockPendingAuthorizationStorageMockRecorder (line 30) | type MockPendingAuthorizationStorageMockRecorder struct method DeletePendingAuthorization (line 55) | func (mr *MockPendingAuthorizationStorageMockRecorder) DeletePendingAu... method LoadPendingAuthorization (line 70) | func (mr *MockPendingAuthorizationStorageMockRecorder) LoadPendingAuth... method StorePendingAuthorization (line 84) | func (mr *MockPendingAuthorizationStorageMockRecorder) StorePendingAut... function NewMockPendingAuthorizationStorage (line 35) | func NewMockPendingAuthorizationStorage(ctrl *gomock.Controller) *MockPe... type MockClientRegistry (line 90) | type MockClientRegistry struct method EXPECT (line 109) | func (m *MockClientRegistry) EXPECT() *MockClientRegistryMockRecorder { method ClientAssertionJWTValid (line 114) | func (m *MockClientRegistry) ClientAssertionJWTValid(ctx context.Conte... method GetClient (line 128) | func (m *MockClientRegistry) GetClient(ctx context.Context, id string)... method RegisterClient (line 143) | func (m *MockClientRegistry) RegisterClient(ctx context.Context, clien... method SetClientAssertionJWT (line 157) | func (m *MockClientRegistry) SetClientAssertionJWT(ctx context.Context... type MockClientRegistryMockRecorder (line 97) | type MockClientRegistryMockRecorder struct method ClientAssertionJWTValid (line 122) | func (mr *MockClientRegistryMockRecorder) ClientAssertionJWTValid(ctx,... method GetClient (line 137) | func (mr *MockClientRegistryMockRecorder) GetClient(ctx, id any) *gomo... method RegisterClient (line 151) | func (mr *MockClientRegistryMockRecorder) RegisterClient(ctx, client a... method SetClientAssertionJWT (line 165) | func (mr *MockClientRegistryMockRecorder) SetClientAssertionJWT(ctx, j... function NewMockClientRegistry (line 102) | func NewMockClientRegistry(ctrl *gomock.Controller) *MockClientRegistry { type MockUpstreamTokenStorage (line 171) | type MockUpstreamTokenStorage struct method EXPECT (line 190) | func (m *MockUpstreamTokenStorage) EXPECT() *MockUpstreamTokenStorageM... method DeleteUpstreamTokens (line 195) | func (m *MockUpstreamTokenStorage) DeleteUpstreamTokens(ctx context.Co... method GetAllUpstreamTokens (line 209) | func (m *MockUpstreamTokenStorage) GetAllUpstreamTokens(ctx context.Co... method GetLatestUpstreamTokensForUser (line 224) | func (m *MockUpstreamTokenStorage) GetLatestUpstreamTokensForUser(ctx ... method GetUpstreamTokens (line 239) | func (m *MockUpstreamTokenStorage) GetUpstreamTokens(ctx context.Conte... method StoreUpstreamTokens (line 254) | func (m *MockUpstreamTokenStorage) StoreUpstreamTokens(ctx context.Con... type MockUpstreamTokenStorageMockRecorder (line 178) | type MockUpstreamTokenStorageMockRecorder struct method DeleteUpstreamTokens (line 203) | func (mr *MockUpstreamTokenStorageMockRecorder) DeleteUpstreamTokens(c... method GetAllUpstreamTokens (line 218) | func (mr *MockUpstreamTokenStorageMockRecorder) GetAllUpstreamTokens(c... method GetLatestUpstreamTokensForUser (line 233) | func (mr *MockUpstreamTokenStorageMockRecorder) GetLatestUpstreamToken... method GetUpstreamTokens (line 248) | func (mr *MockUpstreamTokenStorageMockRecorder) GetUpstreamTokens(ctx,... method StoreUpstreamTokens (line 262) | func (mr *MockUpstreamTokenStorageMockRecorder) StoreUpstreamTokens(ct... function NewMockUpstreamTokenStorage (line 183) | func NewMockUpstreamTokenStorage(ctrl *gomock.Controller) *MockUpstreamT... type MockUpstreamTokenRefresher (line 268) | type MockUpstreamTokenRefresher struct method EXPECT (line 287) | func (m *MockUpstreamTokenRefresher) EXPECT() *MockUpstreamTokenRefres... method RefreshAndStore (line 292) | func (m *MockUpstreamTokenRefresher) RefreshAndStore(ctx context.Conte... type MockUpstreamTokenRefresherMockRecorder (line 275) | type MockUpstreamTokenRefresherMockRecorder struct method RefreshAndStore (line 301) | func (mr *MockUpstreamTokenRefresherMockRecorder) RefreshAndStore(ctx,... function NewMockUpstreamTokenRefresher (line 280) | func NewMockUpstreamTokenRefresher(ctrl *gomock.Controller) *MockUpstrea... type MockUserStorage (line 307) | type MockUserStorage struct method EXPECT (line 326) | func (m *MockUserStorage) EXPECT() *MockUserStorageMockRecorder { method CreateProviderIdentity (line 331) | func (m *MockUserStorage) CreateProviderIdentity(ctx context.Context, ... method CreateUser (line 345) | func (m *MockUserStorage) CreateUser(ctx context.Context, user *storag... method DeleteUser (line 359) | func (m *MockUserStorage) DeleteUser(ctx context.Context, id string) e... method GetProviderIdentity (line 373) | func (m *MockUserStorage) GetProviderIdentity(ctx context.Context, pro... method GetUser (line 388) | func (m *MockUserStorage) GetUser(ctx context.Context, id string) (*st... method GetUserProviderIdentities (line 403) | func (m *MockUserStorage) GetUserProviderIdentities(ctx context.Contex... method UpdateProviderIdentityLastUsed (line 418) | func (m *MockUserStorage) UpdateProviderIdentityLastUsed(ctx context.C... type MockUserStorageMockRecorder (line 314) | type MockUserStorageMockRecorder struct method CreateProviderIdentity (line 339) | func (mr *MockUserStorageMockRecorder) CreateProviderIdentity(ctx, ide... method CreateUser (line 353) | func (mr *MockUserStorageMockRecorder) CreateUser(ctx, user any) *gomo... method DeleteUser (line 367) | func (mr *MockUserStorageMockRecorder) DeleteUser(ctx, id any) *gomock... method GetProviderIdentity (line 382) | func (mr *MockUserStorageMockRecorder) GetProviderIdentity(ctx, provid... method GetUser (line 397) | func (mr *MockUserStorageMockRecorder) GetUser(ctx, id any) *gomock.Ca... method GetUserProviderIdentities (line 412) | func (mr *MockUserStorageMockRecorder) GetUserProviderIdentities(ctx, ... method UpdateProviderIdentityLastUsed (line 426) | func (mr *MockUserStorageMockRecorder) UpdateProviderIdentityLastUsed(... function NewMockUserStorage (line 319) | func NewMockUserStorage(ctrl *gomock.Controller) *MockUserStorage { type MockStorage (line 432) | type MockStorage struct method EXPECT (line 451) | func (m *MockStorage) EXPECT() *MockStorageMockRecorder { method ClientAssertionJWTValid (line 456) | func (m *MockStorage) ClientAssertionJWTValid(ctx context.Context, jti... method Close (line 470) | func (m *MockStorage) Close() error { method CreateAccessTokenSession (line 484) | func (m *MockStorage) CreateAccessTokenSession(ctx context.Context, si... method CreateAuthorizeCodeSession (line 498) | func (m *MockStorage) CreateAuthorizeCodeSession(ctx context.Context, ... method CreatePKCERequestSession (line 512) | func (m *MockStorage) CreatePKCERequestSession(ctx context.Context, si... method CreateProviderIdentity (line 526) | func (m *MockStorage) CreateProviderIdentity(ctx context.Context, iden... method CreateRefreshTokenSession (line 540) | func (m *MockStorage) CreateRefreshTokenSession(ctx context.Context, s... method CreateUser (line 554) | func (m *MockStorage) CreateUser(ctx context.Context, user *storage.Us... method DeleteAccessTokenSession (line 568) | func (m *MockStorage) DeleteAccessTokenSession(ctx context.Context, si... method DeletePKCERequestSession (line 582) | func (m *MockStorage) DeletePKCERequestSession(ctx context.Context, si... method DeletePendingAuthorization (line 596) | func (m *MockStorage) DeletePendingAuthorization(ctx context.Context, ... method DeleteRefreshTokenSession (line 610) | func (m *MockStorage) DeleteRefreshTokenSession(ctx context.Context, s... method DeleteUpstreamTokens (line 624) | func (m *MockStorage) DeleteUpstreamTokens(ctx context.Context, sessio... method DeleteUser (line 638) | func (m *MockStorage) DeleteUser(ctx context.Context, id string) error { method GetAccessTokenSession (line 652) | func (m *MockStorage) GetAccessTokenSession(ctx context.Context, signa... method GetAllUpstreamTokens (line 667) | func (m *MockStorage) GetAllUpstreamTokens(ctx context.Context, sessio... method GetAuthorizeCodeSession (line 682) | func (m *MockStorage) GetAuthorizeCodeSession(ctx context.Context, cod... method GetClient (line 697) | func (m *MockStorage) GetClient(ctx context.Context, id string) (fosit... method GetLatestUpstreamTokensForUser (line 712) | func (m *MockStorage) GetLatestUpstreamTokensForUser(ctx context.Conte... method GetPKCERequestSession (line 727) | func (m *MockStorage) GetPKCERequestSession(ctx context.Context, signa... method GetProviderIdentity (line 742) | func (m *MockStorage) GetProviderIdentity(ctx context.Context, provide... method GetRefreshTokenSession (line 757) | func (m *MockStorage) GetRefreshTokenSession(ctx context.Context, sign... method GetUpstreamTokens (line 772) | func (m *MockStorage) GetUpstreamTokens(ctx context.Context, sessionID... method GetUser (line 787) | func (m *MockStorage) GetUser(ctx context.Context, id string) (*storag... method GetUserProviderIdentities (line 802) | func (m *MockStorage) GetUserProviderIdentities(ctx context.Context, u... method Health (line 817) | func (m *MockStorage) Health(ctx context.Context) error { method InvalidateAuthorizeCodeSession (line 831) | func (m *MockStorage) InvalidateAuthorizeCodeSession(ctx context.Conte... method LoadPendingAuthorization (line 845) | func (m *MockStorage) LoadPendingAuthorization(ctx context.Context, st... method RegisterClient (line 860) | func (m *MockStorage) RegisterClient(ctx context.Context, client fosit... method RevokeAccessToken (line 874) | func (m *MockStorage) RevokeAccessToken(ctx context.Context, requestID... method RevokeRefreshToken (line 888) | func (m *MockStorage) RevokeRefreshToken(ctx context.Context, requestI... method RotateRefreshToken (line 902) | func (m *MockStorage) RotateRefreshToken(ctx context.Context, requestI... method SetClientAssertionJWT (line 916) | func (m *MockStorage) SetClientAssertionJWT(ctx context.Context, jti s... method StorePendingAuthorization (line 930) | func (m *MockStorage) StorePendingAuthorization(ctx context.Context, s... method StoreUpstreamTokens (line 944) | func (m *MockStorage) StoreUpstreamTokens(ctx context.Context, session... method UpdateProviderIdentityLastUsed (line 958) | func (m *MockStorage) UpdateProviderIdentityLastUsed(ctx context.Conte... type MockStorageMockRecorder (line 439) | type MockStorageMockRecorder struct method ClientAssertionJWTValid (line 464) | func (mr *MockStorageMockRecorder) ClientAssertionJWTValid(ctx, jti an... method Close (line 478) | func (mr *MockStorageMockRecorder) Close() *gomock.Call { method CreateAccessTokenSession (line 492) | func (mr *MockStorageMockRecorder) CreateAccessTokenSession(ctx, signa... method CreateAuthorizeCodeSession (line 506) | func (mr *MockStorageMockRecorder) CreateAuthorizeCodeSession(ctx, cod... method CreatePKCERequestSession (line 520) | func (mr *MockStorageMockRecorder) CreatePKCERequestSession(ctx, signa... method CreateProviderIdentity (line 534) | func (mr *MockStorageMockRecorder) CreateProviderIdentity(ctx, identit... method CreateRefreshTokenSession (line 548) | func (mr *MockStorageMockRecorder) CreateRefreshTokenSession(ctx, sign... method CreateUser (line 562) | func (mr *MockStorageMockRecorder) CreateUser(ctx, user any) *gomock.C... method DeleteAccessTokenSession (line 576) | func (mr *MockStorageMockRecorder) DeleteAccessTokenSession(ctx, signa... method DeletePKCERequestSession (line 590) | func (mr *MockStorageMockRecorder) DeletePKCERequestSession(ctx, signa... method DeletePendingAuthorization (line 604) | func (mr *MockStorageMockRecorder) DeletePendingAuthorization(ctx, sta... method DeleteRefreshTokenSession (line 618) | func (mr *MockStorageMockRecorder) DeleteRefreshTokenSession(ctx, sign... method DeleteUpstreamTokens (line 632) | func (mr *MockStorageMockRecorder) DeleteUpstreamTokens(ctx, sessionID... method DeleteUser (line 646) | func (mr *MockStorageMockRecorder) DeleteUser(ctx, id any) *gomock.Call { method GetAccessTokenSession (line 661) | func (mr *MockStorageMockRecorder) GetAccessTokenSession(ctx, signatur... method GetAllUpstreamTokens (line 676) | func (mr *MockStorageMockRecorder) GetAllUpstreamTokens(ctx, sessionID... method GetAuthorizeCodeSession (line 691) | func (mr *MockStorageMockRecorder) GetAuthorizeCodeSession(ctx, code, ... method GetClient (line 706) | func (mr *MockStorageMockRecorder) GetClient(ctx, id any) *gomock.Call { method GetLatestUpstreamTokensForUser (line 721) | func (mr *MockStorageMockRecorder) GetLatestUpstreamTokensForUser(ctx,... method GetPKCERequestSession (line 736) | func (mr *MockStorageMockRecorder) GetPKCERequestSession(ctx, signatur... method GetProviderIdentity (line 751) | func (mr *MockStorageMockRecorder) GetProviderIdentity(ctx, providerID... method GetRefreshTokenSession (line 766) | func (mr *MockStorageMockRecorder) GetRefreshTokenSession(ctx, signatu... method GetUpstreamTokens (line 781) | func (mr *MockStorageMockRecorder) GetUpstreamTokens(ctx, sessionID, p... method GetUser (line 796) | func (mr *MockStorageMockRecorder) GetUser(ctx, id any) *gomock.Call { method GetUserProviderIdentities (line 811) | func (mr *MockStorageMockRecorder) GetUserProviderIdentities(ctx, user... method Health (line 825) | func (mr *MockStorageMockRecorder) Health(ctx any) *gomock.Call { method InvalidateAuthorizeCodeSession (line 839) | func (mr *MockStorageMockRecorder) InvalidateAuthorizeCodeSession(ctx,... method LoadPendingAuthorization (line 854) | func (mr *MockStorageMockRecorder) LoadPendingAuthorization(ctx, state... method RegisterClient (line 868) | func (mr *MockStorageMockRecorder) RegisterClient(ctx, client any) *go... method RevokeAccessToken (line 882) | func (mr *MockStorageMockRecorder) RevokeAccessToken(ctx, requestID an... method RevokeRefreshToken (line 896) | func (mr *MockStorageMockRecorder) RevokeRefreshToken(ctx, requestID a... method RotateRefreshToken (line 910) | func (mr *MockStorageMockRecorder) RotateRefreshToken(ctx, requestID, ... method SetClientAssertionJWT (line 924) | func (mr *MockStorageMockRecorder) SetClientAssertionJWT(ctx, jti, exp... method StorePendingAuthorization (line 938) | func (mr *MockStorageMockRecorder) StorePendingAuthorization(ctx, stat... method StoreUpstreamTokens (line 952) | func (mr *MockStorageMockRecorder) StoreUpstreamTokens(ctx, sessionID,... method UpdateProviderIdentityLastUsed (line 966) | func (mr *MockStorageMockRecorder) UpdateProviderIdentityLastUsed(ctx,... function NewMockStorage (line 444) | func NewMockStorage(ctrl *gomock.Controller) *MockStorage { FILE: pkg/authserver/storage/redis.go constant DefaultDialTimeout (line 27) | DefaultDialTimeout = 5 * time.Second constant DefaultReadTimeout (line 28) | DefaultReadTimeout = 3 * time.Second constant DefaultWriteTimeout (line 29) | DefaultWriteTimeout = 3 * time.Second constant nullMarker (line 33) | nullMarker = "null" function warnOnCleanupErr (line 46) | func warnOnCleanupErr(err error, operation, key string) { type RedisConfig (line 54) | type RedisConfig struct type RedisTLSConfig (line 84) | type RedisTLSConfig struct type SentinelConfig (line 95) | type SentinelConfig struct type ACLUserConfig (line 102) | type ACLUserConfig struct type RedisStorage (line 111) | type RedisStorage struct method Health (line 323) | func (s *RedisStorage) Health(ctx context.Context) error { method Close (line 331) | func (s *RedisStorage) Close() error { method RegisterClient (line 366) | func (s *RedisStorage) RegisterClient(ctx context.Context, client fosi... method GetClient (line 396) | func (s *RedisStorage) GetClient(ctx context.Context, id string) (fosi... method ClientAssertionJWTValid (line 416) | func (s *RedisStorage) ClientAssertionJWTValid(ctx context.Context, jt... method SetClientAssertionJWT (line 433) | func (s *RedisStorage) SetClientAssertionJWT(ctx context.Context, jti ... method CreateAuthorizeCodeSession (line 451) | func (s *RedisStorage) CreateAuthorizeCodeSession(ctx context.Context,... method GetAuthorizeCodeSession (line 474) | func (s *RedisStorage) GetAuthorizeCodeSession(ctx context.Context, co... method InvalidateAuthorizeCodeSession (line 509) | func (s *RedisStorage) InvalidateAuthorizeCodeSession(ctx context.Cont... method CreateAccessTokenSession (line 537) | func (s *RedisStorage) CreateAccessTokenSession(ctx context.Context, s... method GetAccessTokenSession (line 564) | func (s *RedisStorage) GetAccessTokenSession(ctx context.Context, sign... method DeleteAccessTokenSession (line 579) | func (s *RedisStorage) DeleteAccessTokenSession(ctx context.Context, s... method CreateRefreshTokenSession (line 611) | func (s *RedisStorage) CreateRefreshTokenSession( method GetRefreshTokenSession (line 640) | func (s *RedisStorage) GetRefreshTokenSession(ctx context.Context, sig... method DeleteRefreshTokenSession (line 655) | func (s *RedisStorage) DeleteRefreshTokenSession(ctx context.Context, ... method RotateRefreshToken (line 687) | func (s *RedisStorage) RotateRefreshToken(ctx context.Context, request... method RevokeAccessToken (line 723) | func (s *RedisStorage) RevokeAccessToken(ctx context.Context, requestI... method RevokeRefreshToken (line 742) | func (s *RedisStorage) RevokeRefreshToken(ctx context.Context, request... method RevokeRefreshTokenMaybeGracePeriod (line 762) | func (s *RedisStorage) RevokeRefreshTokenMaybeGracePeriod(ctx context.... method CreatePKCERequestSession (line 771) | func (s *RedisStorage) CreatePKCERequestSession(ctx context.Context, s... method GetPKCERequestSession (line 791) | func (s *RedisStorage) GetPKCERequestSession(ctx context.Context, sign... method DeletePKCERequestSession (line 806) | func (s *RedisStorage) DeletePKCERequestSession(ctx context.Context, s... method StoreUpstreamTokens (line 1014) | func (s *RedisStorage) StoreUpstreamTokens(ctx context.Context, sessio... method GetUpstreamTokens (line 1054) | func (s *RedisStorage) GetUpstreamTokens(ctx context.Context, sessionI... method GetAllUpstreamTokens (line 1069) | func (s *RedisStorage) GetAllUpstreamTokens(ctx context.Context, sessi... method DeleteUpstreamTokens (line 1132) | func (s *RedisStorage) DeleteUpstreamTokens(ctx context.Context, sessi... method GetLatestUpstreamTokensForUser (line 1186) | func (s *RedisStorage) GetLatestUpstreamTokensForUser(ctx context.Cont... method getUpstreamTokensFromKey (line 1288) | func (s *RedisStorage) getUpstreamTokensFromKey(ctx context.Context, k... method StorePendingAuthorization (line 1349) | func (s *RedisStorage) StorePendingAuthorization(ctx context.Context, ... method LoadPendingAuthorization (line 1386) | func (s *RedisStorage) LoadPendingAuthorization(ctx context.Context, s... method DeletePendingAuthorization (line 1429) | func (s *RedisStorage) DeletePendingAuthorization(ctx context.Context,... method CreateUser (line 1455) | func (s *RedisStorage) CreateUser(ctx context.Context, user *User) err... method GetUser (line 1490) | func (s *RedisStorage) GetUser(ctx context.Context, id string) (*User,... method DeleteUser (line 1514) | func (s *RedisStorage) DeleteUser(ctx context.Context, id string) error { method CreateProviderIdentity (line 1569) | func (s *RedisStorage) CreateProviderIdentity(ctx context.Context, ide... method GetProviderIdentity (line 1627) | func (s *RedisStorage) GetProviderIdentity(ctx context.Context, provid... method UpdateProviderIdentityLastUsed (line 1669) | func (s *RedisStorage) UpdateProviderIdentityLastUsed( method GetUserProviderIdentities (line 1688) | func (s *RedisStorage) GetUserProviderIdentities(ctx context.Context, ... type storedSession (line 118) | type storedSession struct function buildTLSConfig (line 132) | func buildTLSConfig(cfg *RedisTLSConfig) (*tls.Config, error) { function newTLSDialer (line 154) | func newTLSDialer( function configureTLSDialer (line 181) | func configureTLSDialer(opts *redis.FailoverOptions, masterCfg, sentinel... function NewRedisStorage (line 211) | func NewRedisStorage(ctx context.Context, cfg RedisConfig) (*RedisStorag... function NewRedisStorageWithClient (line 281) | func NewRedisStorageWithClient(client redis.UniversalClient, keyPrefix s... function defaultSessionFactory (line 291) | func defaultSessionFactory(subject, idpSessionID, clientID string) fosit... function validateConfig (line 295) | func validateConfig(cfg *RedisConfig) error { type storedClient (line 340) | type storedClient struct type redisClient (line 352) | type redisClient struct method GetID (line 356) | func (c *redisClient) GetID() string { return c.ID } method GetHashedSecret (line 357) | func (c *redisClient) GetHashedSecret() []byte { return c.S... method GetRedirectURIs (line 358) | func (c *redisClient) GetRedirectURIs() []string { return c.R... method GetGrantTypes (line 359) | func (c *redisClient) GetGrantTypes() fosite.Arguments { return c.G... method GetResponseTypes (line 360) | func (c *redisClient) GetResponseTypes() fosite.Arguments { return c.R... method GetScopes (line 361) | func (c *redisClient) GetScopes() fosite.Arguments { return c.S... method GetAudience (line 362) | func (c *redisClient) GetAudience() fosite.Arguments { return c.A... method IsPublic (line 363) | func (c *redisClient) IsPublic() bool { return c.P... type storedUpstreamTokens (line 828) | type storedUpstreamTokens struct method toUpstreamTokens (line 842) | func (s *storedUpstreamTokens) toUpstreamTokens() *UpstreamTokens { function marshalUpstreamTokensWithTTL (line 955) | func marshalUpstreamTokensWithTTL(tokens *UpstreamTokens) ([]byte, time.... function compareExpiryInt64 (line 1235) | func compareExpiryInt64(a, b int64) int { function parseUserUpstreamEntry (line 1256) | func parseUserUpstreamEntry(val any, providerID, keyName string) (*store... function unmarshalUpstreamTokens (line 1301) | func unmarshalUpstreamTokens(data []byte) (*UpstreamTokens, error) { type storedPendingAuthorization (line 1330) | type storedPendingAuthorization struct type storedUser (line 1448) | type storedUser struct type storedProviderIdentity (line 1560) | type storedProviderIdentity struct function marshalRequester (line 1746) | func marshalRequester(request fosite.Requester) ([]byte, error) { function unmarshalRequester (line 1770) | func unmarshalRequester(ctx context.Context, data []byte, s *RedisStorag... function getTTLFromRequester (line 1805) | func getTTLFromRequester(request fosite.Requester, tokenType fosite.Toke... FILE: pkg/authserver/storage/redis_integration_test.go constant testMasterName (line 39) | testMasterName = "mymaster" constant testACLUser (line 40) | testACLUser = "thvuser" constant testACLPass (line 41) | testACLPass = "integration-test-password" constant testRedisImage (line 42) | testRedisImage = "redis:7-alpine" type redisSentinelCluster (line 49) | type redisSentinelCluster struct method waitForSentinelReady (line 206) | func (c *redisSentinelCluster) waitForSentinelReady(ctx context.Contex... method close (line 230) | func (c *redisSentinelCluster) close(ctx context.Context) error { method newTestClient (line 253) | func (c *redisSentinelCluster) newTestClient() redis.UniversalClient { method triggerFailover (line 273) | func (c *redisSentinelCluster) triggerFailover(ctx context.Context) er... method getMasterAddr (line 280) | func (c *redisSentinelCluster) getMasterAddr(ctx context.Context) (str... method waitForFailover (line 292) | func (c *redisSentinelCluster) waitForFailover(ctx context.Context, or... function newRedisSentinelCluster (line 64) | func newRedisSentinelCluster(ctx context.Context) (_ *redisSentinelClust... function startRedisNode (line 147) | func startRedisNode(ctx context.Context, networkName, alias string, repl... function startSentinel (line 168) | func startSentinel(ctx context.Context, networkName, config string) (tes... function configureACL (line 189) | func configureACL(ctx context.Context, container testcontainers.Containe... function waitForSentinel (line 216) | func waitForSentinel(ctx context.Context, addr string, deadline time.Tim... function TestMain (line 314) | func TestMain(m *testing.M) { function withIntegrationStorage (line 338) | func withIntegrationStorage(t *testing.T, fn func(context.Context, *Redi... function sanitizeTestName (line 356) | func sanitizeTestName(name string) string { function TestIntegration_ClientOperations (line 362) | func TestIntegration_ClientOperations(t *testing.T) { function TestIntegration_ClientAssertionJWT (line 385) | func TestIntegration_ClientAssertionJWT(t *testing.T) { function TestIntegration_AuthorizeCodeFlow (line 411) | func TestIntegration_AuthorizeCodeFlow(t *testing.T) { function TestIntegration_AccessTokenLifecycle (line 453) | func TestIntegration_AccessTokenLifecycle(t *testing.T) { function TestIntegration_RefreshTokenLifecycle (line 485) | func TestIntegration_RefreshTokenLifecycle(t *testing.T) { function TestIntegration_TokenRevocation (line 534) | func TestIntegration_TokenRevocation(t *testing.T) { function TestIntegration_PKCEFlow (line 588) | func TestIntegration_PKCEFlow(t *testing.T) { function TestIntegration_UpstreamTokens (line 613) | func TestIntegration_UpstreamTokens(t *testing.T) { function TestIntegration_PendingAuthorization (line 692) | func TestIntegration_PendingAuthorization(t *testing.T) { function TestIntegration_UserManagement (line 724) | func TestIntegration_UserManagement(t *testing.T) { function TestIntegration_ProviderIdentity (line 756) | func TestIntegration_ProviderIdentity(t *testing.T) { function TestIntegration_SessionRoundTrip (line 845) | func TestIntegration_SessionRoundTrip(t *testing.T) { function TestIntegration_Health (line 878) | func TestIntegration_Health(t *testing.T) { function TestIntegration_SentinelConnection (line 891) | func TestIntegration_SentinelConnection(t *testing.T) { function TestIntegration_SentinelFailover (line 912) | func TestIntegration_SentinelFailover(t *testing.T) { function TestIntegration_ACLValidCredentials (line 970) | func TestIntegration_ACLValidCredentials(t *testing.T) { function TestIntegration_ACLInvalidCredentials (line 988) | func TestIntegration_ACLInvalidCredentials(t *testing.T) { function TestIntegration_ACLKeyPatternRestriction (line 1037) | func TestIntegration_ACLKeyPatternRestriction(t *testing.T) { function TestIntegration_RealTTLExpiration (line 1057) | func TestIntegration_RealTTLExpiration(t *testing.T) { function TestIntegration_ConcurrentAccess (line 1114) | func TestIntegration_ConcurrentAccess(t *testing.T) { function TestIntegration_UnicodeInIdentifiers (line 1199) | func TestIntegration_UnicodeInIdentifiers(t *testing.T) { function TestIntegration_MigrateLegacyUpstreamData (line 1230) | func TestIntegration_MigrateLegacyUpstreamData(t *testing.T) { FILE: pkg/authserver/storage/redis_keys.go constant KeyTypeAccess (line 12) | KeyTypeAccess = "access" constant KeyTypeRefresh (line 15) | KeyTypeRefresh = "refresh" constant KeyTypeAuthCode (line 18) | KeyTypeAuthCode = "authcode" constant KeyTypePKCE (line 21) | KeyTypePKCE = "pkce" constant KeyTypeClient (line 24) | KeyTypeClient = "client" constant KeyTypeUser (line 27) | KeyTypeUser = "user" constant KeyTypeProvider (line 30) | KeyTypeProvider = "provider" constant KeyTypeUpstream (line 33) | KeyTypeUpstream = "upstream" constant KeyTypePending (line 36) | KeyTypePending = "pending" constant KeyTypeInvalidated (line 39) | KeyTypeInvalidated = "invalidated" constant KeyTypeJWT (line 42) | KeyTypeJWT = "jwt" constant KeyTypeReqIDAccess (line 45) | KeyTypeReqIDAccess = "reqid:access" constant KeyTypeReqIDRefresh (line 48) | KeyTypeReqIDRefresh = "reqid:refresh" constant KeyTypeUpstreamIdx (line 54) | KeyTypeUpstreamIdx = "upstream:idx" constant KeyTypeUserUpstream (line 57) | KeyTypeUserUpstream = "user:upstream" constant KeyTypeUserProviders (line 60) | KeyTypeUserProviders = "user:providers" function DeriveKeyPrefix (line 72) | func DeriveKeyPrefix(namespace, name string) string { function redisKey (line 81) | func redisKey(prefix, keyType, id string) string { function redisProviderKey (line 87) | func redisProviderKey(prefix, providerID, providerSubject string) string { function redisUpstreamKey (line 94) | func redisUpstreamKey(prefix, sessionID, providerName string) string { function redisSetKey (line 101) | func redisSetKey(prefix, keyType, id string) string { FILE: pkg/authserver/storage/redis_migrate.go type MigrationResult (line 19) | type MigrationResult struct function isLegacyUpstreamProviderID (line 32) | func isLegacyUpstreamProviderID(id string) bool { method MigrateLegacyUpstreamData (line 53) | func (s *RedisStorage) MigrateLegacyUpstreamData(ctx context.Context, pr... method migrateUpstreamTokenKeys (line 84) | func (s *RedisStorage) migrateUpstreamTokenKeys(ctx context.Context, pro... method migrateSingleUpstreamToken (line 136) | func (s *RedisStorage) migrateSingleUpstreamToken( method migrateProviderIdentityKeys (line 234) | func (s *RedisStorage) migrateProviderIdentityKeys( method migrateSingleProviderIdentity (line 279) | func (s *RedisStorage) migrateSingleProviderIdentity( FILE: pkg/authserver/storage/redis_test.go function newTestRedisStorage (line 29) | func newTestRedisStorage(t *testing.T) (*RedisStorage, *miniredis.Minire... function withRedisStorage (line 41) | func withRedisStorage(t *testing.T, fn func(context.Context, *RedisStora... function newRedisTestRequester (line 54) | func newRedisTestRequester(id string, client fosite.Client) fosite.Reque... function newRedisTestRequesterWithExpiration (line 70) | func newRedisTestRequesterWithExpiration(id string, client fosite.Client... function requireRedisNotFoundError (line 86) | func requireRedisNotFoundError(t *testing.T, err error) { function TestRedisConfig_Validation (line 95) | func TestRedisConfig_Validation(t *testing.T) { function TestNewRedisStorage_ConnectionFailure (line 155) | func TestNewRedisStorage_ConnectionFailure(t *testing.T) { function TestNewRedisStorage_Standalone_ConnectionFailure (line 179) | func TestNewRedisStorage_Standalone_ConnectionFailure(t *testing.T) { function TestNewRedisStorage_Standalone_WithMiniredis (line 200) | func TestNewRedisStorage_Standalone_WithMiniredis(t *testing.T) { function TestRedisStorage_Client (line 227) | func TestRedisStorage_Client(t *testing.T) { function TestRedisStorage_RegisterClient (line 259) | func TestRedisStorage_RegisterClient(t *testing.T) { function TestRedisStorage_ClientAssertionJWT (line 271) | func TestRedisStorage_ClientAssertionJWT(t *testing.T) { function TestRedisStorage_AuthorizeCode (line 300) | func TestRedisStorage_AuthorizeCode(t *testing.T) { function TestRedisStorage_AccessToken (line 380) | func TestRedisStorage_AccessToken(t *testing.T) { function TestRedisStorage_SessionRoundTrip (line 428) | func TestRedisStorage_SessionRoundTrip(t *testing.T) { function TestRedisStorage_RefreshToken (line 473) | func TestRedisStorage_RefreshToken(t *testing.T) { function TestRedisStorage_RotateRefreshToken (line 512) | func TestRedisStorage_RotateRefreshToken(t *testing.T) { function TestRedisStorage_RevokeAccessToken (line 542) | func TestRedisStorage_RevokeAccessToken(t *testing.T) { function TestRedisStorage_RevokeRefreshToken (line 564) | func TestRedisStorage_RevokeRefreshToken(t *testing.T) { function TestRedisStorage_PKCE (line 582) | func TestRedisStorage_PKCE(t *testing.T) { function TestRedisStorage_UpstreamTokens (line 623) | func TestRedisStorage_UpstreamTokens(t *testing.T) { function TestRedisStorage_MigrateLegacyUpstreamData (line 1110) | func TestRedisStorage_MigrateLegacyUpstreamData(t *testing.T) { function TestRedisStorage_PendingAuthorization (line 1310) | func TestRedisStorage_PendingAuthorization(t *testing.T) { function TestRedisStorage_User (line 1361) | func TestRedisStorage_User(t *testing.T) { function TestRedisStorage_DeleteUser_CascadesAssociatedData (line 1417) | func TestRedisStorage_DeleteUser_CascadesAssociatedData(t *testing.T) { function TestRedisStorage_ProviderIdentity (line 1486) | func TestRedisStorage_ProviderIdentity(t *testing.T) { function TestRedisStorage_GetUserProviderIdentities (line 1591) | func TestRedisStorage_GetUserProviderIdentities(t *testing.T) { function TestRedisStorage_InputValidation (line 1640) | func TestRedisStorage_InputValidation(t *testing.T) { function TestRedisStorage_UserInputValidation (line 1695) | func TestRedisStorage_UserInputValidation(t *testing.T) { function TestRedisStorage_TTLHandling (line 1736) | func TestRedisStorage_TTLHandling(t *testing.T) { function TestRedisStorage_ConcurrentAccess (line 1784) | func TestRedisStorage_ConcurrentAccess(t *testing.T) { function TestRedisStorage_ImplementsStorage (line 1862) | func TestRedisStorage_ImplementsStorage(t *testing.T) { function TestDeriveKeyPrefix (line 1869) | func TestDeriveKeyPrefix(t *testing.T) { function TestRedisKeyGeneration (line 1891) | func TestRedisKeyGeneration(t *testing.T) { function TestRedisStorage_Health (line 1915) | func TestRedisStorage_Health(t *testing.T) { function TestRedisStorage_Health_ConnectionFailure (line 1922) | func TestRedisStorage_Health_ConnectionFailure(t *testing.T) { function TestRedisStorage_GetLatestUpstreamTokensForUser (line 1940) | func TestRedisStorage_GetLatestUpstreamTokensForUser(t *testing.T) { FILE: pkg/authserver/storage/redis_tls_test.go function TestBuildTLSConfig (line 25) | func TestBuildTLSConfig(t *testing.T) { function TestRedisTLSConfig_SeparateMasterAndSentinel (line 96) | func TestRedisTLSConfig_SeparateMasterAndSentinel(t *testing.T) { function TestNewTLSDialer (line 116) | func TestNewTLSDialer(t *testing.T) { function TestConfigureTLSDialer (line 175) | func TestConfigureTLSDialer(t *testing.T) { function generateTestCACert (line 251) | func generateTestCACert(t *testing.T) (*x509.Certificate, []byte) { FILE: pkg/authserver/storage/types.go constant DefaultPendingAuthorizationTTL (line 49) | DefaultPendingAuthorizationTTL = 10 * time.Minute type UpstreamTokens (line 54) | type UpstreamTokens struct method IsExpired (line 103) | func (t *UpstreamTokens) IsExpired(now time.Time) bool { type User (line 114) | type User struct type ProviderIdentity (line 130) | type ProviderIdentity struct type PendingAuthorization (line 149) | type PendingAuthorization struct type PendingAuthorizationStorage (line 210) | type PendingAuthorizationStorage interface type ClientRegistry (line 228) | type ClientRegistry interface type UpstreamTokenStorage (line 247) | type UpstreamTokenStorage interface type UpstreamTokenRefresher (line 309) | type UpstreamTokenRefresher interface type UserStorage (line 336) | type UserStorage interface type Storage (line 398) | type Storage interface FILE: pkg/authserver/storage/types_test.go function TestUpstreamTokens_IsExpired (line 22) | func TestUpstreamTokens_IsExpired(t *testing.T) { function TestDefaultConfig (line 94) | func TestDefaultConfig(t *testing.T) { FILE: pkg/authserver/upstream/mocks/mock_provider.go type MockOAuth2Provider (line 21) | type MockOAuth2Provider struct method EXPECT (line 40) | func (m *MockOAuth2Provider) EXPECT() *MockOAuth2ProviderMockRecorder { method AuthorizationURL (line 45) | func (m *MockOAuth2Provider) AuthorizationURL(state, codeChallenge str... method ExchangeCodeForIdentity (line 65) | func (m *MockOAuth2Provider) ExchangeCodeForIdentity(ctx context.Conte... method RefreshTokens (line 80) | func (m *MockOAuth2Provider) RefreshTokens(ctx context.Context, refres... method Type (line 95) | func (m *MockOAuth2Provider) Type() upstream.ProviderType { type MockOAuth2ProviderMockRecorder (line 28) | type MockOAuth2ProviderMockRecorder struct method AuthorizationURL (line 58) | func (mr *MockOAuth2ProviderMockRecorder) AuthorizationURL(state, code... method ExchangeCodeForIdentity (line 74) | func (mr *MockOAuth2ProviderMockRecorder) ExchangeCodeForIdentity(ctx,... method RefreshTokens (line 89) | func (mr *MockOAuth2ProviderMockRecorder) RefreshTokens(ctx, refreshTo... method Type (line 103) | func (mr *MockOAuth2ProviderMockRecorder) Type() *gomock.Call { function NewMockOAuth2Provider (line 33) | func NewMockOAuth2Provider(ctrl *gomock.Controller) *MockOAuth2Provider { FILE: pkg/authserver/upstream/oauth2.go constant ProviderTypeOAuth2 (line 43) | ProviderTypeOAuth2 ProviderType = "oauth2" constant maxResponseSize (line 47) | maxResponseSize = 1 << 20 type AuthorizationOption (line 51) | type AuthorizationOption type authorizationOptions (line 53) | type authorizationOptions struct function WithAdditionalParams (line 58) | func WithAdditionalParams(params map[string]string) AuthorizationOption { type OAuth2Provider (line 69) | type OAuth2Provider interface type CommonOAuthConfig (line 96) | type CommonOAuthConfig struct method Validate (line 124) | func (c *CommonOAuthConfig) Validate() error { type OAuth2Config (line 138) | type OAuth2Config struct method Validate (line 175) | func (c *OAuth2Config) Validate() error { type TokenResponseMapping (line 160) | type TokenResponseMapping struct function validateRedirectURI (line 204) | func validateRedirectURI(uri string) error { function convertOAuth2Token (line 210) | func convertOAuth2Token(token *oauth2.Token) (*Tokens, error) { type BaseOAuth2Provider (line 243) | type BaseOAuth2Provider struct method Type (line 339) | func (*BaseOAuth2Provider) Type() ProviderType { method authorizationEndpoint (line 344) | func (p *BaseOAuth2Provider) authorizationEndpoint() string { method AuthorizationURL (line 349) | func (p *BaseOAuth2Provider) AuthorizationURL(state, codeChallenge str... method buildAuthorizationURL (line 363) | func (p *BaseOAuth2Provider) buildAuthorizationURL( method ExchangeCodeForIdentity (line 408) | func (p *BaseOAuth2Provider) ExchangeCodeForIdentity(ctx context.Conte... method exchangeCodeForTokens (line 500) | func (p *BaseOAuth2Provider) exchangeCodeForTokens(ctx context.Context... method RefreshTokens (line 551) | func (p *BaseOAuth2Provider) RefreshTokens(ctx context.Context, refres... method fetchUserInfo (line 616) | func (p *BaseOAuth2Provider) fetchUserInfo(ctx context.Context, access... type OAuth2ProviderOption (line 250) | type OAuth2ProviderOption function WithOAuth2HTTPClient (line 253) | func WithOAuth2HTTPClient(client *http.Client) OAuth2ProviderOption { function newBaseOAuth2Provider (line 264) | func newBaseOAuth2Provider(config *OAuth2Config, hostForClient string) (... function NewOAuth2Provider (line 297) | func NewOAuth2Provider(config *OAuth2Config, opts ...OAuth2ProviderOptio... constant synthesizedSubjectPrefix (line 443) | synthesizedSubjectPrefix = "tk-" function IsSynthesizedSubject (line 453) | func IsSynthesizedSubject(subject string) bool { function synthesizeSubjectFromAccessToken (line 473) | func synthesizeSubjectFromAccessToken(accessToken string) string { function synthesizeIdentity (line 488) | func synthesizeIdentity(tokens *Tokens) (*Identity, error) { type userInfo (line 598) | type userInfo struct function formatOAuth2Error (line 701) | func formatOAuth2Error(err error, prefix string) error { function newHTTPClientForHost (line 721) | func newHTTPClientForHost(host string) (*http.Client, error) { FILE: pkg/authserver/upstream/oauth2_test.go type testTokenResponse (line 34) | type testTokenResponse struct type testTokenErrorResponse (line 44) | type testTokenErrorResponse struct type mockOAuth2Server (line 51) | type mockOAuth2Server struct method handleAuthorize (line 70) | func (*mockOAuth2Server) handleAuthorize(w http.ResponseWriter, _ *htt... method handleToken (line 74) | func (m *mockOAuth2Server) handleToken(w http.ResponseWriter, r *http.... function newMockOAuth2Server (line 57) | func newMockOAuth2Server() *mockOAuth2Server { function TestNewOAuth2Provider (line 93) | func TestNewOAuth2Provider(t *testing.T) { function TestBaseOAuth2Provider_Type (line 221) | func TestBaseOAuth2Provider_Type(t *testing.T) { function TestBaseOAuth2Provider_AuthorizationURL (line 242) | func TestBaseOAuth2Provider_AuthorizationURL(t *testing.T) { function TestBaseOAuth2Provider_AuthorizationURL_NoScopes (line 336) | func TestBaseOAuth2Provider_AuthorizationURL_NoScopes(t *testing.T) { function TestBaseOAuth2Provider_exchangeCodeForTokens (line 367) | func TestBaseOAuth2Provider_exchangeCodeForTokens(t *testing.T) { function TestBaseOAuth2Provider_RefreshTokens (line 671) | func TestBaseOAuth2Provider_RefreshTokens(t *testing.T) { function TestBaseOAuth2Provider_WithOAuth2HTTPClient (line 914) | func TestBaseOAuth2Provider_WithOAuth2HTTPClient(t *testing.T) { function TestBaseOAuth2Provider_TokenTypeValidation (line 943) | func TestBaseOAuth2Provider_TokenTypeValidation(t *testing.T) { function TestBaseOAuth2Provider_NonJSONErrorResponse (line 1005) | func TestBaseOAuth2Provider_NonJSONErrorResponse(t *testing.T) { function TestBaseOAuth2Provider_IDToken (line 1038) | func TestBaseOAuth2Provider_IDToken(t *testing.T) { function Test_validateRedirectURI (line 1079) | func Test_validateRedirectURI(t *testing.T) { function TestBaseOAuth2Provider_ExchangeCodeForIdentity (line 1128) | func TestBaseOAuth2Provider_ExchangeCodeForIdentity(t *testing.T) { function TestSynthesizeSubjectFromAccessToken (line 1344) | func TestSynthesizeSubjectFromAccessToken(t *testing.T) { function TestSynthesizeIdentity (line 1382) | func TestSynthesizeIdentity(t *testing.T) { function TestIsSynthesizedSubject (line 1416) | func TestIsSynthesizedSubject(t *testing.T) { function TestBaseOAuth2Provider_fetchUserInfo (line 1473) | func TestBaseOAuth2Provider_fetchUserInfo(t *testing.T) { function TestBaseOAuth2Provider_fetchUserInfo_FieldMapping (line 1659) | func TestBaseOAuth2Provider_fetchUserInfo_FieldMapping(t *testing.T) { function TestValidateAdditionalAuthorizationParams (line 1976) | func TestValidateAdditionalAuthorizationParams(t *testing.T) { function TestAuthorizationURL_AdditionalAuthorizationParams (line 2073) | func TestAuthorizationURL_AdditionalAuthorizationParams(t *testing.T) { FILE: pkg/authserver/upstream/oidc.go constant ProviderTypeOIDC (line 24) | ProviderTypeOIDC ProviderType = "oidc" type OIDCConfig (line 28) | type OIDCConfig struct method Validate (line 37) | func (c *OIDCConfig) Validate() error { type OIDCProviderImpl (line 64) | type OIDCProviderImpl struct method Type (line 230) | func (*OIDCProviderImpl) Type() ProviderType { method ExchangeCodeForIdentity (line 238) | func (p *OIDCProviderImpl) ExchangeCodeForIdentity( method validateIDToken (line 289) | func (p *OIDCProviderImpl) validateIDToken(ctx context.Context, idToke... method supportsPKCE (line 315) | func (p *OIDCProviderImpl) supportsPKCE() bool { method AuthorizationURL (line 325) | func (p *OIDCProviderImpl) AuthorizationURL(state, codeChallenge strin... method buildOIDCParams (line 363) | func (p *OIDCProviderImpl) buildOIDCParams() map[string]string { method RefreshTokens (line 376) | func (p *OIDCProviderImpl) RefreshTokens(ctx context.Context, refreshT... type OIDCProviderOption (line 73) | type OIDCProviderOption function WithHTTPClient (line 76) | func WithHTTPClient(client *http.Client) OIDCProviderOption { function WithNonce (line 85) | func WithNonce(nonce string) AuthorizationOption { function WithForceConsentScreen (line 99) | func WithForceConsentScreen(force bool) OIDCProviderOption { function NewOIDCProvider (line 108) | func NewOIDCProvider( function validateDiscoveryDocument (line 425) | func validateDiscoveryDocument(doc *oauthproto.OIDCDiscoveryDocument, ex... function validateEndpointOrigin (line 475) | func validateEndpointOrigin(endpoint, issuer string) error { FILE: pkg/authserver/upstream/oidc_test.go constant testClientID (line 28) | testClientID = "test-client-id" constant testClientSecret (line 29) | testClientSecret = "test-client-secret" constant testRedirectURI (line 30) | testRedirectURI = "http://localhost:8080/callback" constant testIssuer (line 31) | testIssuer = "https://example.com" constant testAuthEndpoint (line 32) | testAuthEndpoint = "https://example.com/authorize" constant testTokenEndpoint (line 33) | testTokenEndpoint = "https://example.com/token" constant testJWKSURI (line 34) | testJWKSURI = "https://example.com/jwks" constant testUserinfoURL (line 35) | testUserinfoURL = "https://example.com/userinfo" type mockOIDCServer (line 39) | type mockOIDCServer struct method handleDiscovery (line 72) | func (m *mockOIDCServer) handleDiscovery(w http.ResponseWriter, _ *htt... method handleAuthorize (line 90) | func (*mockOIDCServer) handleAuthorize(w http.ResponseWriter, _ *http.... method handleToken (line 94) | func (m *mockOIDCServer) handleToken(w http.ResponseWriter, r *http.Re... method handleUserInfo (line 113) | func (*mockOIDCServer) handleUserInfo(w http.ResponseWriter, r *http.R... method handleJWKS (line 132) | func (m *mockOIDCServer) handleJWKS(w http.ResponseWriter, _ *http.Req... method signIDToken (line 155) | func (m *mockOIDCServer) signIDToken(audience, subject, nonce string, ... function newMockOIDCServer (line 47) | func newMockOIDCServer(t *testing.T) *mockOIDCServer { function TestNewOIDCProvider (line 181) | func TestNewOIDCProvider(t *testing.T) { function TestValidateDiscoveryDocument (line 435) | func TestValidateDiscoveryDocument(t *testing.T) { function TestValidateEndpointOrigin (line 477) | func TestValidateEndpointOrigin(t *testing.T) { function TestOIDCProviderImpl_ExchangeCodeForIdentity (line 508) | func TestOIDCProviderImpl_ExchangeCodeForIdentity(t *testing.T) { function TestOIDCProvider_AuthorizationURL (line 788) | func TestOIDCProvider_AuthorizationURL(t *testing.T) { function TestOIDCProvider_RefreshTokens (line 891) | func TestOIDCProvider_RefreshTokens(t *testing.T) { FILE: pkg/authserver/upstream/token_exchange.go type tokenResponseRewriter (line 23) | type tokenResponseRewriter struct method RoundTrip (line 32) | func (t *tokenResponseRewriter) RoundTrip(req *http.Request) (*http.Re... function rewriteTokenResponse (line 66) | func rewriteTokenResponse(body []byte, mapping *TokenResponseMapping) []... function wrapHTTPClientWithMapping (line 113) | func wrapHTTPClientWithMapping(client *http.Client, mapping *TokenRespon... function pathOrDefault (line 134) | func pathOrDefault(path, defaultPath string) string { FILE: pkg/authserver/upstream/token_exchange_test.go function TestRewriteTokenResponse (line 18) | func TestRewriteTokenResponse(t *testing.T) { function TestTokenResponseRewriter_TokenEndpoint (line 133) | func TestTokenResponseRewriter_TokenEndpoint(t *testing.T) { function TestTokenResponseRewriter_NonTokenEndpoint (line 179) | func TestTokenResponseRewriter_NonTokenEndpoint(t *testing.T) { function TestWrapHTTPClientWithMapping_NilMapping (line 210) | func TestWrapHTTPClientWithMapping_NilMapping(t *testing.T) { function TestTokenResponseRewriter_ErrorResponse (line 218) | func TestTokenResponseRewriter_ErrorResponse(t *testing.T) { function TestPathOrDefault (line 244) | func TestPathOrDefault(t *testing.T) { function TestOAuth2Config_Validate_TokenResponseMapping (line 251) | func TestOAuth2Config_Validate_TokenResponseMapping(t *testing.T) { FILE: pkg/authserver/upstream/tokens.go constant tokenExpirationBuffer (line 24) | tokenExpirationBuffer = 30 * time.Second type Tokens (line 29) | type Tokens struct method IsExpired (line 46) | func (t *Tokens) IsExpired() bool { method IsExpiredAt (line 53) | func (t *Tokens) IsExpiredAt(now time.Time) bool { type expiresAtLogValue (line 70) | type expiresAtLogValue method LogValue (line 73) | func (e expiresAtLogValue) LogValue() slog.Value { FILE: pkg/authserver/upstream/tokens_test.go function TestTokens_IsExpired (line 24) | func TestTokens_IsExpired(t *testing.T) { FILE: pkg/authserver/upstream/types.go type ProviderType (line 22) | type ProviderType type Identity (line 27) | type Identity struct FILE: pkg/authserver/upstream/userinfo_config.go type UserInfoFieldMapping (line 42) | type UserInfoFieldMapping struct method GetSubjectFields (line 72) | func (m *UserInfoFieldMapping) GetSubjectFields() []string { method GetNameFields (line 80) | func (m *UserInfoFieldMapping) GetNameFields() []string { method GetEmailFields (line 88) | func (m *UserInfoFieldMapping) GetEmailFields() []string { method ResolveSubject (line 121) | func (m *UserInfoFieldMapping) ResolveSubject(claims map[string]any) (... method ResolveName (line 132) | func (m *UserInfoFieldMapping) ResolveName(claims map[string]any) stri... method ResolveEmail (line 138) | func (m *UserInfoFieldMapping) ResolveEmail(claims map[string]any) str... function ResolveField (line 98) | func ResolveField(claims map[string]any, fields []string) string { type UserInfoConfig (line 145) | type UserInfoConfig struct method Validate (line 161) | func (c *UserInfoConfig) Validate() error { FILE: pkg/authserver/upstream/userinfo_config_test.go function TestUserInfoConfig_Validate (line 23) | func TestUserInfoConfig_Validate(t *testing.T) { function TestUserInfoConfig_Validate_InsecureDisableURLValidation (line 166) | func TestUserInfoConfig_Validate_InsecureDisableURLValidation(t *testing... function TestResolveField (line 192) | func TestResolveField(t *testing.T) { function TestUserInfoFieldMapping_ResolveSubject (line 284) | func TestUserInfoFieldMapping_ResolveSubject(t *testing.T) { function TestUserInfoFieldMapping_ResolveName (line 351) | func TestUserInfoFieldMapping_ResolveName(t *testing.T) { function TestUserInfoFieldMapping_ResolveEmail (line 391) | func TestUserInfoFieldMapping_ResolveEmail(t *testing.T) { function TestUserInfoFieldMapping_GetFields (line 431) | func TestUserInfoFieldMapping_GetFields(t *testing.T) { FILE: pkg/authz/annotation_cache.go type AnnotationCache (line 22) | type AnnotationCache struct method Get (line 36) | func (c *AnnotationCache) Get(toolName string) *authorizers.ToolAnnota... method Set (line 47) | func (c *AnnotationCache) Set(toolName string, annotations *authorizer... method SetFromToolsList (line 66) | func (c *AnnotationCache) SetFromToolsList(tools []mcp.Tool) { function NewAnnotationCache (line 28) | func NewAnnotationCache() *AnnotationCache { function hasAnyHint (line 85) | func hasAnyHint(ann *mcp.ToolAnnotation) bool { function convertMCPAnnotation (line 96) | func convertMCPAnnotation(ann *mcp.ToolAnnotation) *authorizers.ToolAnno... FILE: pkg/authz/annotation_cache_test.go function boolPtr (line 17) | func boolPtr(b bool) *bool { return &b } function TestAnnotationCache_Get (line 19) | func TestAnnotationCache_Get(t *testing.T) { function TestAnnotationCache_SetAndGet (line 69) | func TestAnnotationCache_SetAndGet(t *testing.T) { function TestAnnotationCache_SetFromToolsList (line 87) | func TestAnnotationCache_SetFromToolsList(t *testing.T) { function TestAnnotationCache_NilSafety (line 186) | func TestAnnotationCache_NilSafety(t *testing.T) { function TestAnnotationCache_ConcurrentAccess (line 207) | func TestAnnotationCache_ConcurrentAccess(t *testing.T) { function TestAnnotationCache_SetFromToolsListEvictsStaleEntries (line 241) | func TestAnnotationCache_SetFromToolsListEvictsStaleEntries(t *testing.T) { function TestAnnotationCache_SetOverwritesPrevious (line 264) | func TestAnnotationCache_SetOverwritesPrevious(t *testing.T) { FILE: pkg/authz/authorizers/annotations.go type ToolAnnotations (line 28) | type ToolAnnotations struct type toolAnnotationsKey (line 37) | type toolAnnotationsKey struct function WithToolAnnotations (line 40) | func WithToolAnnotations(ctx context.Context, annotations *ToolAnnotatio... function ToolAnnotationsFromContext (line 46) | func ToolAnnotationsFromContext(ctx context.Context) *ToolAnnotations { function AnnotationsToMap (line 55) | func AnnotationsToMap(annotations *ToolAnnotations) map[string]interface... FILE: pkg/authz/authorizers/annotations_test.go function boolPtr (line 13) | func boolPtr(b bool) *bool { return &b } function TestToolAnnotationsContext (line 15) | func TestToolAnnotationsContext(t *testing.T) { function TestToolAnnotationsFromContext_Empty (line 62) | func TestToolAnnotationsFromContext_Empty(t *testing.T) { function TestAnnotationsToMap (line 70) | func TestAnnotationsToMap(t *testing.T) { FILE: pkg/authz/authorizers/cedar/annotations_integration_test.go function testBoolPtr (line 17) | func testBoolPtr(b bool) *bool { return &b } function TestAuthorizeWithToolAnnotations (line 22) | func TestAuthorizeWithToolAnnotations(t *testing.T) { FILE: pkg/authz/authorizers/cedar/annotations_override_test.go function TestAnnotationAttributesCannotOverrideStandardAttributes (line 25) | func TestAnnotationAttributesCannotOverrideStandardAttributes(t *testing... FILE: pkg/authz/authorizers/cedar/core.go constant ConfigType (line 26) | ConfigType = "cedarv1" function init (line 28) | func init() { type Config (line 37) | type Config struct function ExtractConfig (line 47) | func ExtractConfig(authzConfig *authorizers.Config) (*Config, error) { function InjectUpstreamProvider (line 79) | func InjectUpstreamProvider(src *authorizers.Config, providerName string... type Factory (line 99) | type Factory struct method ValidateConfig (line 103) | func (*Factory) ValidateConfig(rawConfig json.RawMessage) error { method CreateAuthorizer (line 122) | func (*Factory) CreateAuthorizer(rawConfig json.RawMessage, serverName... type ClientIDContextKey (line 147) | type ClientIDContextKey struct type Authorizer (line 150) | type Authorizer struct method UpdatePolicies (line 314) | func (a *Authorizer) UpdatePolicies(policies []string) error { method UpdateEntities (line 339) | func (a *Authorizer) UpdateEntities(entitiesJSON string) error { method AddEntity (line 353) | func (a *Authorizer) AddEntity(entity cedar.Entity) { method RemoveEntity (line 361) | func (a *Authorizer) RemoveEntity(uid cedar.EntityUID) { method GetEntity (line 369) | func (a *Authorizer) GetEntity(uid cedar.EntityUID) (cedar.Entity, boo... method GetEntityFactory (line 378) | func (a *Authorizer) GetEntityFactory() *EntityFactory { method IsAuthorized (line 395) | func (a *Authorizer) IsAuthorized( method resolveClaims (line 483) | func (a *Authorizer) resolveClaims(identity *auth.Identity) (jwt.MapCl... method logClaimKeys (line 509) | func (a *Authorizer) logClaimKeys(source string, claims jwt.MapClaims) { method authorizeToolCall (line 603) | func (a *Authorizer) authorizeToolCall( method authorizePromptGet (line 649) | func (a *Authorizer) authorizePromptGet( method authorizeResourceRead (line 688) | func (a *Authorizer) authorizeResourceRead( method authorizeFeatureList (line 730) | func (a *Authorizer) authorizeFeatureList( method AuthorizeWithJWTClaims (line 803) | func (a *Authorizer) AuthorizeWithJWTClaims( type ConfigOptions (line 182) | type ConfigOptions struct function validateGroupEntityType (line 226) | func validateGroupEntityType(s string) error { function NewCedarAuthorizer (line 255) | func NewCedarAuthorizer(options ConfigOptions, serverName string) (autho... function parseUpstreamJWTClaims (line 525) | func parseUpstreamJWTClaims(tokenStr string) (jwt.MapClaims, error) { function extractClientIDFromClaims (line 541) | func extractClientIDFromClaims(claims jwt.MapClaims) (string, bool) { function preprocessClaims (line 553) | func preprocessClaims(claims jwt.MapClaims) map[string]interface{} { function preprocessArguments (line 564) | func preprocessArguments(arguments map[string]interface{}) map[string]in... function mergeContexts (line 585) | func mergeContexts(contextMaps ...map[string]interface{}) map[string]int... function parseCedarEntityID (line 769) | func parseCedarEntityID(entityID string) (string, string, error) { function sanitizeURIForCedar (line 779) | func sanitizeURIForCedar(uri string) string { function resolveNestedClaim (line 896) | func resolveNestedClaim(claims jwt.MapClaims, path string) interface{} { function extractGroups (line 939) | func extractGroups(claims jwt.MapClaims, claimName string) []string { function dedup (line 970) | func dedup(groups []string) []string { FILE: pkg/authz/authorizers/cedar/core_test.go function makeUnsignedJWT (line 24) | func makeUnsignedJWT(claims jwt.MapClaims) string { function TestNewCedarAuthorizer (line 34) | func TestNewCedarAuthorizer(t *testing.T) { function TestAuthorizeWithJWTClaims (line 144) | func TestAuthorizeWithJWTClaims(t *testing.T) { function TestAuthorizeWithJWTClaimsErrors (line 447) | func TestAuthorizeWithJWTClaimsErrors(t *testing.T) { function TestExtractConfig (line 558) | func TestExtractConfig(t *testing.T) { function TestExtractConfigValid (line 606) | func TestExtractConfigValid(t *testing.T) { function TestExtractConfigMissingCedarField (line 634) | func TestExtractConfigMissingCedarField(t *testing.T) { function TestFactoryValidateConfig (line 652) | func TestFactoryValidateConfig(t *testing.T) { function TestFactoryCreateAuthorizer (line 708) | func TestFactoryCreateAuthorizer(t *testing.T) { function TestUpdatePolicies (line 764) | func TestUpdatePolicies(t *testing.T) { function TestUpdateEntities (line 825) | func TestUpdateEntities(t *testing.T) { function TestEntityOperations (line 876) | func TestEntityOperations(t *testing.T) { function TestGetEntityNotFound (line 916) | func TestGetEntityNotFound(t *testing.T) { function TestIsAuthorizedErrors (line 940) | func TestIsAuthorizedErrors(t *testing.T) { function TestIsAuthorizedWithEntities (line 1029) | func TestIsAuthorizedWithEntities(t *testing.T) { function TestServerScopedPolicyWithMCPParent (line 1078) | func TestServerScopedPolicyWithMCPParent(t *testing.T) { function TestParseUpstreamJWTClaims (line 1136) | func TestParseUpstreamJWTClaims(t *testing.T) { function TestAuthorizeWithJWTClaims_UpstreamProvider (line 1222) | func TestAuthorizeWithJWTClaims_UpstreamProvider(t *testing.T) { function TestAuthorizeWithJWTClaims_GroupMembership (line 1373) | func TestAuthorizeWithJWTClaims_GroupMembership(t *testing.T) { function TestAuthorizeWithJWTClaims_TransitiveHierarchyPreserved (line 1453) | func TestAuthorizeWithJWTClaims_TransitiveHierarchyPreserved(t *testing.... function TestAuthorizeWithJWTClaims_DoesNotMutateIdentity (line 1517) | func TestAuthorizeWithJWTClaims_DoesNotMutateIdentity(t *testing.T) { function TestAuthorizeWithJWTClaims_CustomGroupClaimName (line 1559) | func TestAuthorizeWithJWTClaims_CustomGroupClaimName(t *testing.T) { function TestAuthorizeWithJWTClaims_UpstreamProviderWithGroups (line 1605) | func TestAuthorizeWithJWTClaims_UpstreamProviderWithGroups(t *testing.T) { function TestInjectUpstreamProvider (line 1732) | func TestInjectUpstreamProvider(t *testing.T) { function TestInjectUpstreamProvider_NonCedarPassThrough (line 1862) | func TestInjectUpstreamProvider_NonCedarPassThrough(t *testing.T) { function TestResolveNestedClaim (line 1878) | func TestResolveNestedClaim(t *testing.T) { function TestExtractGroups (line 2015) | func TestExtractGroups(t *testing.T) { function TestDedup (line 2096) | func TestDedup(t *testing.T) { function TestAuthorizeWithJWTClaims_DualClaim (line 2148) | func TestAuthorizeWithJWTClaims_DualClaim(t *testing.T) { function TestAuthorizeWithJWTClaims_BackwardCompat (line 2352) | func TestAuthorizeWithJWTClaims_BackwardCompat(t *testing.T) { function TestParseCedarEntityID (line 2427) | func TestParseCedarEntityID(t *testing.T) { function TestSanitizeURIForCedar (line 2506) | func TestSanitizeURIForCedar(t *testing.T) { function TestExtractClientIDFromClaims (line 2542) | func TestExtractClientIDFromClaims(t *testing.T) { function TestPreprocessClaims (line 2594) | func TestPreprocessClaims(t *testing.T) { function TestPreprocessArguments (line 2624) | func TestPreprocessArguments(t *testing.T) { function TestMergeContexts (line 2669) | func TestMergeContexts(t *testing.T) { function TestIsAuthorized_EntityMergePriority (line 2731) | func TestIsAuthorized_EntityMergePriority(t *testing.T) { function TestConfigOptionsRoleClaimNameJSON (line 2790) | func TestConfigOptionsRoleClaimNameJSON(t *testing.T) { function TestValidateGroupEntityType (line 2856) | func TestValidateGroupEntityType(t *testing.T) { function TestAuthorizeWithJWTClaims_CustomGroupEntityType (line 2938) | func TestAuthorizeWithJWTClaims_CustomGroupEntityType(t *testing.T) { function TestNewCedarAuthorizerGroupEntityTypeValidation (line 3016) | func TestNewCedarAuthorizerGroupEntityTypeValidation(t *testing.T) { function captureSlogWarn (line 3055) | func captureSlogWarn(t *testing.T, f func()) string { function TestStaleTHVGroupWarning (line 3080) | func TestStaleTHVGroupWarning(t *testing.T) { FILE: pkg/authz/authorizers/cedar/entity.go constant EntityTypeTHVGroup (line 15) | EntityTypeTHVGroup cedar.EntityType = "THVGroup" type EntityFactory (line 18) | type EntityFactory struct method CreatePrincipalEntity (line 39) | func (*EntityFactory) CreatePrincipalEntity( method CreateActionEntity (line 58) | func (*EntityFactory) CreateActionEntity( method CreateResourceEntity (line 85) | func (*EntityFactory) CreateResourceEntity( method CreateEntitiesForRequest (line 125) | func (f *EntityFactory) CreateEntitiesForRequest( function NewEntityFactory (line 27) | func NewEntityFactory(groupEntityType cedar.EntityType) *EntityFactory { function convertMapToCedarRecord (line 185) | func convertMapToCedarRecord(data map[string]interface{}) cedar.Record { function convertToCedarValue (line 204) | func convertToCedarValue(v interface{}) cedar.Value { function convertBoolToCedar (line 227) | func convertBoolToCedar(val bool) cedar.Value { function convertFloatToCedar (line 235) | func convertFloatToCedar(val float64) cedar.Value { function convertInterfaceArrayToCedar (line 244) | func convertInterfaceArrayToCedar(val []interface{}) cedar.Value { function convertArrayItemToCedar (line 256) | func convertArrayItemToCedar(item interface{}) cedar.Value { function convertStringArrayToCedar (line 274) | func convertStringArrayToCedar(val []string) cedar.Value { FILE: pkg/authz/authorizers/cedar/entity_test.go function TestCreatePrincipalEntity_Parents (line 16) | func TestCreatePrincipalEntity_Parents(t *testing.T) { function TestCreatePrincipalEntity_NoGroupEntities (line 83) | func TestCreatePrincipalEntity_NoGroupEntities(t *testing.T) { function TestCreateResourceEntity_Parents (line 100) | func TestCreateResourceEntity_Parents(t *testing.T) { function TestCreateResourceEntity_NamePreservation (line 169) | func TestCreateResourceEntity_NamePreservation(t *testing.T) { function TestCreateEntitiesForRequest_GroupsAsParents (line 231) | func TestCreateEntitiesForRequest_GroupsAsParents(t *testing.T) { function TestCreateEntitiesForRequest_CustomGroupEntityType (line 304) | func TestCreateEntitiesForRequest_CustomGroupEntityType(t *testing.T) { function TestCreateCedarEntities (line 340) | func TestCreateCedarEntities(t *testing.T) { function TestCreateEntitiesForRequest_MCPParent (line 510) | func TestCreateEntitiesForRequest_MCPParent(t *testing.T) { FILE: pkg/authz/authorizers/cedar/record_test.go function TestConvertMapToCedarRecord (line 15) | func TestConvertMapToCedarRecord(t *testing.T) { FILE: pkg/authz/authorizers/config.go type ConfigType (line 19) | type ConfigType type Config (line 26) | type Config struct method UnmarshalJSON (line 40) | func (c *Config) UnmarshalJSON(data []byte) error { method MarshalJSON (line 60) | func (c *Config) MarshalJSON() ([]byte, error) { method RawConfig (line 78) | func (c *Config) RawConfig() json.RawMessage { method Validate (line 130) | func (c *Config) Validate() error { function LoadConfig (line 84) | func LoadConfig(path string) (*Config, error) { function NewConfig (line 165) | func NewConfig(fullConfig interface{}) (*Config, error) { FILE: pkg/authz/authorizers/config_test.go constant testConfigType (line 18) | testConfigType = "test-config-type" type testFactory (line 21) | type testFactory struct method ValidateConfig (line 23) | func (*testFactory) ValidateConfig(rawConfig json.RawMessage) error { method CreateAuthorizer (line 30) | func (*testFactory) CreateAuthorizer(_ json.RawMessage, _ string) (Aut... type testAuthorizer (line 34) | type testAuthorizer struct method AuthorizeWithJWTClaims (line 36) | func (*testAuthorizer) AuthorizeWithJWTClaims( function init (line 46) | func init() { function TestConfigUnmarshalJSON (line 53) | func TestConfigUnmarshalJSON(t *testing.T) { function TestConfigMarshalJSON (line 105) | func TestConfigMarshalJSON(t *testing.T) { function TestConfigRawConfig (line 156) | func TestConfigRawConfig(t *testing.T) { function TestLoadConfig (line 169) | func TestLoadConfig(t *testing.T) { function TestLoadConfigPathTraversal (line 268) | func TestLoadConfigPathTraversal(t *testing.T) { function TestLoadConfigNonExistentFile (line 307) | func TestLoadConfigNonExistentFile(t *testing.T) { function TestConfigValidate (line 315) | func TestConfigValidate(t *testing.T) { function TestNewConfig (line 392) | func TestNewConfig(t *testing.T) { function TestNewConfigWithInvalidInput (line 446) | func TestNewConfigWithInvalidInput(t *testing.T) { FILE: pkg/authz/authorizers/core.go type MCPFeature (line 15) | type MCPFeature constant MCPFeatureTool (line 19) | MCPFeatureTool MCPFeature = "tool" constant MCPFeaturePrompt (line 21) | MCPFeaturePrompt MCPFeature = "prompt" constant MCPFeatureResource (line 23) | MCPFeatureResource MCPFeature = "resource" type MCPOperation (line 32) | type MCPOperation constant MCPOperationList (line 36) | MCPOperationList MCPOperation = "list" constant MCPOperationGet (line 38) | MCPOperationGet MCPOperation = "get" constant MCPOperationCall (line 40) | MCPOperationCall MCPOperation = "call" constant MCPOperationRead (line 42) | MCPOperationRead MCPOperation = "read" type Authorizer (line 48) | type Authorizer interface FILE: pkg/authz/authorizers/http/claim_mapper.go type ClaimMapper (line 9) | type ClaimMapper interface type MPEClaimMapper (line 20) | type MPEClaimMapper struct method MapClaims (line 33) | func (*MPEClaimMapper) MapClaims(claims map[string]any) map[string]any { type StandardClaimMapper (line 89) | type StandardClaimMapper struct method MapClaims (line 97) | func (*StandardClaimMapper) MapClaims(claims map[string]any) map[strin... FILE: pkg/authz/authorizers/http/claim_mapper_test.go function TestMPEClaimMapper_MapClaims (line 11) | func TestMPEClaimMapper_MapClaims(t *testing.T) { function TestStandardClaimMapper_MapClaims (line 199) | func TestStandardClaimMapper_MapClaims(t *testing.T) { FILE: pkg/authz/authorizers/http/config.go constant ConfigType (line 13) | ConfigType = "httpv1" type Config (line 18) | type Config struct type ConfigOptions (line 25) | type ConfigOptions struct method Validate (line 75) | func (c *ConfigOptions) Validate() error { method GetContextConfig (line 102) | func (c *ConfigOptions) GetContextConfig() ContextConfig { method GetClaimMapping (line 111) | func (c *ConfigOptions) GetClaimMapping() string { method CreateClaimMapper (line 116) | func (c *ConfigOptions) CreateClaimMapper() (ClaimMapper, error) { type ContextConfig (line 42) | type ContextConfig struct type ConnectionConfig (line 54) | type ConnectionConfig struct function parseConfig (line 66) | func parseConfig(rawConfig json.RawMessage) (*Config, error) { FILE: pkg/authz/authorizers/http/config_test.go function TestConfigOptions_Validate (line 12) | func TestConfigOptions_Validate(t *testing.T) { function TestParseConfig (line 114) | func TestParseConfig(t *testing.T) { function TestConfigOptions_GetClaimMapping (line 163) | func TestConfigOptions_GetClaimMapping(t *testing.T) { function TestConfigOptions_CreateClaimMapper (line 199) | func TestConfigOptions_CreateClaimMapper(t *testing.T) { FILE: pkg/authz/authorizers/http/core.go function init (line 16) | func init() { type Factory (line 22) | type Factory struct method ValidateConfig (line 25) | func (*Factory) ValidateConfig(rawConfig json.RawMessage) error { method CreateAuthorizer (line 39) | func (*Factory) CreateAuthorizer(rawConfig json.RawMessage, serverName... type pdp (line 58) | type pdp interface type Authorizer (line 64) | type Authorizer struct method AuthorizeWithJWTClaims (line 101) | func (a *Authorizer) AuthorizeWithJWTClaims( method Close (line 144) | func (a *Authorizer) Close() error { function NewAuthorizer (line 74) | func NewAuthorizer(config ConfigOptions, serverName string) (*Authorizer... function enrichPORCWithAnnotations (line 160) | func enrichPORCWithAnnotations(porc PORC, annotationMap map[string]inter... FILE: pkg/authz/authorizers/http/core_test.go function TestFactory_ValidateConfig (line 18) | func TestFactory_ValidateConfig(t *testing.T) { function TestFactory_CreateAuthorizer (line 89) | func TestFactory_CreateAuthorizer(t *testing.T) { function TestAuthorizer_AuthorizeWithJWTClaims (line 153) | func TestAuthorizer_AuthorizeWithJWTClaims(t *testing.T) { function TestAuthorizer_AuthorizeWithJWTClaims_NoIdentity (line 282) | func TestAuthorizer_AuthorizeWithJWTClaims_NoIdentity(t *testing.T) { function TestFactoryRegistration (line 317) | func TestFactoryRegistration(t *testing.T) { FILE: pkg/authz/authorizers/http/enrichment_test.go function TestEnrichPORCWithAnnotations (line 13) | func TestEnrichPORCWithAnnotations(t *testing.T) { FILE: pkg/authz/authorizers/http/http_client.go constant defaultTimeout (line 21) | defaultTimeout = 30 constant decisionPath (line 24) | decisionPath = "/decision" type DecisionResponse (line 28) | type DecisionResponse struct type Client (line 33) | type Client struct method Authorize (line 90) | func (c *Client) Authorize(ctx context.Context, porc PORC, probe bool)... method Close (line 166) | func (c *Client) Close() error { function NewClient (line 39) | func NewClient(config *ConnectionConfig) (*Client, error) { FILE: pkg/authz/authorizers/http/http_client_test.go function TestNewClient (line 15) | func TestNewClient(t *testing.T) { function TestHTTPClient_Authorize (line 105) | func TestHTTPClient_Authorize(t *testing.T) { function TestHTTPClient_Authorize_InvalidJSON (line 219) | func TestHTTPClient_Authorize_InvalidJSON(t *testing.T) { function TestHTTPClient_Close (line 250) | func TestHTTPClient_Close(t *testing.T) { function TestHTTPClient_Authorize_PORCValidation (line 264) | func TestHTTPClient_Authorize_PORCValidation(t *testing.T) { function TestHTTPClient_Authorize_Timeout (line 325) | func TestHTTPClient_Authorize_Timeout(t *testing.T) { function TestHTTPClient_Authorize_ContextCancellation (line 363) | func TestHTTPClient_Authorize_ContextCancellation(t *testing.T) { FILE: pkg/authz/authorizers/http/integration_test.go function TestClaimMapperIntegration (line 18) | func TestClaimMapperIntegration(t *testing.T) { FILE: pkg/authz/authorizers/http/porc.go type PORC (line 14) | type PORC type Principal (line 17) | type Principal type Context (line 20) | type Context type PORCBuilder (line 24) | type PORCBuilder struct method Build (line 46) | func (b *PORCBuilder) Build( method buildPrincipal (line 96) | func (b *PORCBuilder) buildPrincipal(claims map[string]interface{}) ma... method buildOperation (line 107) | func (*PORCBuilder) buildOperation(feature authorizers.MCPFeature, ope... method buildResource (line 117) | func (b *PORCBuilder) buildResource(feature authorizers.MCPFeature, re... method buildContext (line 141) | func (b *PORCBuilder) buildContext( function NewPORCBuilder (line 32) | func NewPORCBuilder(serverID string, contextConfig ContextConfig, claimM... function buildPORC (line 72) | func buildPORC( FILE: pkg/authz/authorizers/http/porc_test.go function TestBuildPORC (line 13) | func TestBuildPORC(t *testing.T) { function defaultContextConfig (line 109) | func defaultContextConfig() ContextConfig { function defaultClaimMapper (line 117) | func defaultClaimMapper() ClaimMapper { function TestBuildPrincipal (line 121) | func TestBuildPrincipal(t *testing.T) { function TestBuildOperation (line 245) | func TestBuildOperation(t *testing.T) { function TestBuildResource (line 272) | func TestBuildResource(t *testing.T) { function TestBuildContext (line 297) | func TestBuildContext(t *testing.T) { function TestBuildContext_ConfigOptions (line 366) | func TestBuildContext_ConfigOptions(t *testing.T) { FILE: pkg/authz/authorizers/registry.go type AuthorizerFactory (line 16) | type AuthorizerFactory interface function Register (line 35) | func Register(configType string, factory AuthorizerFactory) { function GetFactory (line 47) | func GetFactory(configType string) AuthorizerFactory { function IsRegistered (line 55) | func IsRegistered(configType string) bool { function RegisteredTypes (line 64) | func RegisteredTypes() []string { FILE: pkg/authz/authorizers/registry_test.go type mockFactory (line 15) | type mockFactory struct method ValidateConfig (line 21) | func (f *mockFactory) ValidateConfig(_ json.RawMessage) error { method CreateAuthorizer (line 25) | func (f *mockFactory) CreateAuthorizer(_ json.RawMessage, _ string) (A... type mockAuthorizer (line 33) | type mockAuthorizer struct method AuthorizeWithJWTClaims (line 35) | func (*mockAuthorizer) AuthorizeWithJWTClaims( function TestGetFactory (line 45) | func TestGetFactory(t *testing.T) { function TestIsRegistered (line 53) | func TestIsRegistered(t *testing.T) { function TestRegisteredTypes (line 60) | func TestRegisteredTypes(t *testing.T) { function TestRegisterNewType (line 69) | func TestRegisterNewType(t *testing.T) { function TestRegisterPanicsOnDuplicate (line 105) | func TestRegisterPanicsOnDuplicate(t *testing.T) { FILE: pkg/authz/config.go function CreateMiddlewareFromConfig (line 32) | func CreateMiddlewareFromConfig( function GetMiddlewareFromFile (line 54) | func GetMiddlewareFromFile(serverName, path string, passThroughTools map... FILE: pkg/authz/config_test.go function mustNewConfig (line 23) | func mustNewConfig(t *testing.T, fullConfig interface{}) *Config { function TestLoadConfig (line 30) | func TestLoadConfig(t *testing.T) { function TestLoadConfigLegacyFormat (line 74) | func TestLoadConfigLegacyFormat(t *testing.T) { function TestLoadConfigPathTraversal (line 116) | func TestLoadConfigPathTraversal(t *testing.T) { function TestValidateConfig (line 168) | func TestValidateConfig(t *testing.T) { function TestCreateMiddleware (line 253) | func TestCreateMiddleware(t *testing.T) { function TestNewConfig (line 312) | func TestNewConfig(t *testing.T) { function TestGetMiddlewareFromFile (line 364) | func TestGetMiddlewareFromFile(t *testing.T) { function TestCreateMiddlewareFromConfigErrors (line 425) | func TestCreateMiddlewareFromConfigErrors(t *testing.T) { FILE: pkg/authz/integration_test.go function makeUnsignedJWT (line 26) | func makeUnsignedJWT(t *testing.T, claims jwt.MapClaims) string { function TestIntegrationListFiltering (line 36) | func TestIntegrationListFiltering(t *testing.T) { function TestIntegrationNonListOperations (line 339) | func TestIntegrationNonListOperations(t *testing.T) { function TestIntegrationGroupBasedListFiltering (line 462) | func TestIntegrationGroupBasedListFiltering(t *testing.T) { function TestIntegrationGroupBasedNonListOperations (line 709) | func TestIntegrationGroupBasedNonListOperations(t *testing.T) { function TestIntegrationTransitiveGroupHierarchy (line 878) | func TestIntegrationTransitiveGroupHierarchy(t *testing.T) { function TestIntegrationUpstreamProviderGroupAuth (line 975) | func TestIntegrationUpstreamProviderGroupAuth(t *testing.T) { function TestIntegrationPrimaryUpstreamProviderClaimAttributeAccess (line 1088) | func TestIntegrationPrimaryUpstreamProviderClaimAttributeAccess(t *testi... FILE: pkg/authz/middleware.go type featureOperation (line 26) | type featureOperation struct function shouldSkipInitialAuthorization (line 86) | func shouldSkipInitialAuthorization(r *http.Request) bool { function shouldSkipSubsequentAuthorization (line 102) | func shouldSkipSubsequentAuthorization(method string) bool { function handleUnauthorized (line 112) | func handleUnauthorized(w http.ResponseWriter, msgID interface{}, err er... function Middleware (line 157) | func Middleware(a authorizers.Authorizer, next http.Handler, passThrough... function authorizeAndServe (line 234) | func authorizeAndServe( function handleToolsCall (line 266) | func handleToolsCall( constant MiddlewareType (line 308) | MiddlewareType = "authorization" type FactoryMiddlewareParams (line 312) | type FactoryMiddlewareParams struct type FactoryMiddleware (line 318) | type FactoryMiddleware struct method Handler (line 323) | func (m *FactoryMiddleware) Handler() types.MiddlewareFunction { method Close (line 328) | func (*FactoryMiddleware) Close() error { function CreateMiddleware (line 334) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... FILE: pkg/authz/middleware_test.go type stubAuthorizer (line 34) | type stubAuthorizer struct method AuthorizeWithJWTClaims (line 41) | func (s *stubAuthorizer) AuthorizeWithJWTClaims( function TestMiddleware (line 53) | func TestMiddleware(t *testing.T) { function TestMiddlewareWithGETRequest (line 438) | func TestMiddlewareWithGETRequest(t *testing.T) { function TestFactoryCreateMiddleware (line 474) | func TestFactoryCreateMiddleware(t *testing.T) { function TestMiddlewareToolsListTestkit (line 704) | func TestMiddlewareToolsListTestkit(t *testing.T) { function TestMiddlewareToolsCallTestkit (line 879) | func TestMiddlewareToolsCallTestkit(t *testing.T) { function TestMiddlewareOptimizerMetaTools (line 1043) | func TestMiddlewareOptimizerMetaTools(t *testing.T) { function TestMiddlewareOptimizerCallToolJSONRoundTrip (line 1145) | func TestMiddlewareOptimizerCallToolJSONRoundTrip(t *testing.T) { function TestConvertToJSONRPC2ID (line 1207) | func TestConvertToJSONRPC2ID(t *testing.T) { function TestAuthorizeAndServe (line 1280) | func TestAuthorizeAndServe(t *testing.T) { function TestHandleToolsCall (line 1361) | func TestHandleToolsCall(t *testing.T) { FILE: pkg/authz/response_filter.go type ResponseFilteringWriter (line 27) | type ResponseFilteringWriter struct method Write (line 60) | func (rfw *ResponseFilteringWriter) Write(data []byte) (int, error) { method WriteHeader (line 65) | func (rfw *ResponseFilteringWriter) WriteHeader(statusCode int) { method FlushAndFilter (line 71) | func (rfw *ResponseFilteringWriter) FlushAndFilter() error { method Flush (line 125) | func (rfw *ResponseFilteringWriter) Flush() { method processJSONResponse (line 132) | func (rfw *ResponseFilteringWriter) processJSONResponse(rawResponse []... method processSSEResponse (line 163) | func (rfw *ResponseFilteringWriter) processSSEResponse(rawResponse []b... method filterListResponse (line 258) | func (rfw *ResponseFilteringWriter) filterListResponse(response *jsonr... method filterToolsResponse (line 286) | func (rfw *ResponseFilteringWriter) filterToolsResponse(response *json... method filterPromptsResponse (line 346) | func (rfw *ResponseFilteringWriter) filterPromptsResponse(response *js... method filterResourcesResponse (line 407) | func (rfw *ResponseFilteringWriter) filterResourcesResponse(response *... method writeErrorResponse (line 468) | func (rfw *ResponseFilteringWriter) writeErrorResponse(id jsonrpc2.ID,... method filterFindToolResponse (line 500) | func (rfw *ResponseFilteringWriter) filterFindToolResponse(response *j... function NewResponseFilteringWriter (line 43) | func NewResponseFilteringWriter( function requiresResponseFiltering (line 250) | func requiresResponseFiltering(method string) bool { FILE: pkg/authz/response_filter_test.go function buildFindToolJSONRPCResponse (line 33) | func buildFindToolJSONRPCResponse(t *testing.T, tools []mcp.Tool) []byte { function decodeFindToolOutput (line 59) | func decodeFindToolOutput(t *testing.T, body []byte) optimizer.FindToolO... function TestFindToolResponseFilter (line 83) | func TestFindToolResponseFilter(t *testing.T) { function TestResponseFilteringWriter (line 231) | func TestResponseFilteringWriter(t *testing.T) { function TestResponseFilteringWriter_NonListOperations (line 427) | func TestResponseFilteringWriter_NonListOperations(t *testing.T) { function TestResponseFilteringWriter_ErrorResponse (line 476) | func TestResponseFilteringWriter_ErrorResponse(t *testing.T) { function TestResponseFilteringWriter_ContentLengthMismatch (line 527) | func TestResponseFilteringWriter_ContentLengthMismatch(t *testing.T) { function TestOptimizerPassThroughToolsInResponseFilter (line 721) | func TestOptimizerPassThroughToolsInResponseFilter(t *testing.T) { FILE: pkg/authz/tool_filter.go function filterToolsByPolicy (line 19) | func filterToolsByPolicy(ctx context.Context, a authorizers.Authorizer, ... function authorizeToolCall (line 64) | func authorizeToolCall( FILE: pkg/authz/tool_filter_test.go type mockAuthorizer (line 23) | type mockAuthorizer struct method AuthorizeWithJWTClaims (line 41) | func (m *mockAuthorizer) AuthorizeWithJWTClaims( type mockResult (line 30) | type mockResult struct type mockCall (line 35) | type mockCall struct function makeTool (line 60) | func makeTool(name string, ann *mcp.ToolAnnotation) mcp.Tool { function TestFilterToolsByPolicy (line 68) | func TestFilterToolsByPolicy(t *testing.T) { function TestFilterToolsByPolicy_CallsAuthorizerCorrectly (line 149) | func TestFilterToolsByPolicy_CallsAuthorizerCorrectly(t *testing.T) { function cedarCtx (line 166) | func cedarCtx(t *testing.T) context.Context { function TestFilterToolsByPolicy_WithCedarAuthorizer (line 176) | func TestFilterToolsByPolicy_WithCedarAuthorizer(t *testing.T) { function TestAuthorizeToolCall_WithCedarAuthorizer (line 217) | func TestAuthorizeToolCall_WithCedarAuthorizer(t *testing.T) { function TestAuthorizeToolCall_WithArguments (line 245) | func TestAuthorizeToolCall_WithArguments(t *testing.T) { function TestAuthorizeToolCall (line 291) | func TestAuthorizeToolCall(t *testing.T) { FILE: pkg/cache/validating_cache.go type ValidatingCache (line 33) | type ValidatingCache struct function New (line 57) | func New[K comparable, V any]( method getHit (line 91) | func (c *ValidatingCache[K, V]) getHit(key K, val V) (V, bool) { method Get (line 124) | func (c *ValidatingCache[K, V]) Get(key K) (V, bool) { method Set (line 175) | func (c *ValidatingCache[K, V]) Set(key K, value V) { method Len (line 182) | func (c *ValidatingCache[K, V]) Len() int { function sameEntry (line 191) | func sameEntry[V any](a, b V) bool { FILE: pkg/cache/validating_cache_test.go function newStringCache (line 19) | func newStringCache( function alwaysAliveCheck (line 28) | func alwaysAliveCheck(_ string, _ string) error { return nil } function TestValidatingCache_New_PanicsOnZeroCapacity (line 34) | func TestValidatingCache_New_PanicsOnZeroCapacity(t *testing.T) { function TestValidatingCache_New_PanicsOnNegativeCapacity (line 41) | func TestValidatingCache_New_PanicsOnNegativeCapacity(t *testing.T) { function TestValidatingCache_New_PanicsOnNilLoad (line 48) | func TestValidatingCache_New_PanicsOnNilLoad(t *testing.T) { function TestValidatingCache_New_PanicsOnNilCheck (line 55) | func TestValidatingCache_New_PanicsOnNilCheck(t *testing.T) { function TestValidatingCache_CacheMiss_CallsLoad (line 66) | func TestValidatingCache_CacheMiss_CallsLoad(t *testing.T) { function TestValidatingCache_CacheMiss_StoresResult (line 85) | func TestValidatingCache_CacheMiss_StoresResult(t *testing.T) { function TestValidatingCache_CacheMiss_LoadError_ReturnsNotFound (line 103) | func TestValidatingCache_CacheMiss_LoadError_ReturnsNotFound(t *testing.... function TestValidatingCache_CacheHit_AliveCheck_ReturnsCached (line 122) | func TestValidatingCache_CacheHit_AliveCheck_ReturnsCached(t *testing.T) { function TestValidatingCache_CacheHit_Expired_EvictsAndCallsOnEvict (line 138) | func TestValidatingCache_CacheHit_Expired_EvictsAndCallsOnEvict(t *testi... function TestValidatingCache_CacheHit_Expired_EntryRemovedFromCache (line 162) | func TestValidatingCache_CacheHit_Expired_EntryRemovedFromCache(t *testi... function TestValidatingCache_CacheHit_TransientCheckError_ReturnsCached (line 190) | func TestValidatingCache_CacheHit_TransientCheckError_ReturnsCached(t *t... function TestValidatingCache_Set_StoresValue (line 209) | func TestValidatingCache_Set_StoresValue(t *testing.T) { function TestValidatingCache_Set_UpdatesExisting (line 225) | func TestValidatingCache_Set_UpdatesExisting(t *testing.T) { function TestValidatingCache_LRU_EvictsLeastRecentlyUsed (line 245) | func TestValidatingCache_LRU_EvictsLeastRecentlyUsed(t *testing.T) { function TestValidatingCache_LRU_GetRefreshesMRUPosition (line 277) | func TestValidatingCache_LRU_GetRefreshesMRUPosition(t *testing.T) { function TestValidatingCache_LRU_SetRefreshesMRUPosition (line 306) | func TestValidatingCache_LRU_SetRefreshesMRUPosition(t *testing.T) { function TestValidatingCache_LRU_CapacityOne (line 332) | func TestValidatingCache_LRU_CapacityOne(t *testing.T) { function TestValidatingCache_LRU_LargeCapacityNoEviction (line 357) | func TestValidatingCache_LRU_LargeCapacityNoEviction(t *testing.T) { function TestValidatingCache_LRU_Len (line 375) | func TestValidatingCache_LRU_Len(t *testing.T) { function TestValidatingCache_Singleflight_SetBeforeLoadReturns (line 399) | func TestValidatingCache_Singleflight_SetBeforeLoadReturns(t *testing.T) { function TestValidatingCache_Singleflight_DeduplicatesConcurrentLivenessChecks (line 456) | func TestValidatingCache_Singleflight_DeduplicatesConcurrentLivenessChec... function TestValidatingCache_Singleflight_DeduplicatesConcurrentMisses (line 539) | func TestValidatingCache_Singleflight_DeduplicatesConcurrentMisses(t *te... FILE: pkg/certs/validation.go function ValidateCACertificate (line 15) | func ValidateCACertificate(certData []byte) error { FILE: pkg/certs/validation_test.go function TestValidateCACertificate (line 13) | func TestValidateCACertificate(t *testing.T) { FILE: pkg/cli/tools_override.go type toolsOverrideJSON (line 19) | type toolsOverrideJSON struct function LoadToolsOverride (line 24) | func LoadToolsOverride(path string) (*map[string]runner.ToolOverride, er... FILE: pkg/cli/tools_override_test.go function TestLoadToolsOverride (line 17) | func TestLoadToolsOverride(t *testing.T) { function TestLoadToolsOverride_FileNotFound (line 193) | func TestLoadToolsOverride_FileNotFound(t *testing.T) { FILE: pkg/client/config.go constant defaultURLFieldName (line 27) | defaultURLFieldName = "url" constant httpTransportLabel (line 29) | httpTransportLabel = "http" constant skillsDirName (line 30) | skillsDirName = "skills" type ClientApp (line 38) | type ClientApp type LLMClientApp (line 44) | type LLMClientApp constant RooCode (line 48) | RooCode ClientApp = "roo-code" constant Cline (line 50) | Cline ClientApp = "cline" constant Cursor (line 52) | Cursor ClientApp = "cursor" constant VSCodeInsider (line 54) | VSCodeInsider ClientApp = "vscode-insider" constant VSCode (line 56) | VSCode ClientApp = "vscode" constant ClaudeCode (line 58) | ClaudeCode ClientApp = "claude-code" constant Windsurf (line 60) | Windsurf ClientApp = "windsurf" constant WindsurfJetBrains (line 62) | WindsurfJetBrains ClientApp = "windsurf-jetbrains" constant AmpCli (line 64) | AmpCli ClientApp = "amp-cli" constant AmpVSCode (line 66) | AmpVSCode ClientApp = "amp-vscode" constant AmpCursor (line 68) | AmpCursor ClientApp = "amp-cursor" constant AmpVSCodeInsider (line 70) | AmpVSCodeInsider ClientApp = "amp-vscode-insider" constant AmpWindsurf (line 72) | AmpWindsurf ClientApp = "amp-windsurf" constant LMStudio (line 74) | LMStudio ClientApp = "lm-studio" constant Goose (line 76) | Goose ClientApp = "goose" constant Trae (line 78) | Trae ClientApp = "trae" constant Continue (line 80) | Continue ClientApp = "continue" constant OpenCode (line 82) | OpenCode ClientApp = "opencode" constant Kiro (line 84) | Kiro ClientApp = "kiro" constant Antigravity (line 86) | Antigravity ClientApp = "antigravity" constant Zed (line 88) | Zed ClientApp = "zed" constant GeminiCli (line 90) | GeminiCli ClientApp = "gemini-cli" constant VSCodeServer (line 92) | VSCodeServer ClientApp = "vscode-server" constant MistralVibe (line 94) | MistralVibe ClientApp = "mistral-vibe" constant Codex (line 96) | Codex ClientApp = "codex" constant KimiCli (line 98) | KimiCli ClientApp = "kimi-cli" constant Factory (line 100) | Factory ClientApp = "factory" constant Xcode (line 108) | Xcode LLMClientApp = "xcode" type Extension (line 112) | type Extension constant JSON (line 116) | JSON Extension = "json" constant YAML (line 118) | YAML Extension = "yaml" constant TOML (line 120) | TOML Extension = "toml" type YAMLStorageType (line 124) | type YAMLStorageType constant YAMLStorageTypeMap (line 128) | YAMLStorageTypeMap YAMLStorageType = "map" constant YAMLStorageTypeArray (line 130) | YAMLStorageTypeArray YAMLStorageType = "array" type TOMLStorageType (line 134) | type TOMLStorageType constant TOMLStorageTypeMap (line 139) | TOMLStorageTypeMap TOMLStorageType = "map" constant TOMLStorageTypeArray (line 142) | TOMLStorageTypeArray TOMLStorageType = "array" type Platform (line 146) | type Platform constant PlatformLinux (line 150) | PlatformLinux Platform = "linux" constant PlatformDarwin (line 152) | PlatformDarwin Platform = "darwin" constant PlatformWindows (line 154) | PlatformWindows Platform = "windows" type LLMGatewayKeySpec (line 168) | type LLMGatewayKeySpec struct type clientAppConfig (line 175) | type clientAppConfig struct function extractServersKeyFromConfig (line 230) | func extractServersKeyFromConfig(cfg *clientAppConfig) string { function extractURLLabelFromConfig (line 237) | func extractURLLabelFromConfig(cfg *clientAppConfig) string { function GetAllClients (line 975) | func GetAllClients() []ClientApp { function IsValidClient (line 990) | func IsValidClient(clientType string) bool { function GetClientDescription (line 1001) | func GetClientDescription(clientType ClientApp) string { function GetClientListFormatted (line 1012) | func GetClientListFormatted() string { function GetClientListCSV (line 1033) | func GetClientListCSV() string { type ConfigFile (line 1043) | type ConfigFile struct function FindClientConfig (line 1051) | func FindClientConfig(clientType ClientApp) (*ConfigFile, error) { method FindClientConfig (line 1060) | func (cm *ClientManager) FindClientConfig(clientType ClientApp) (*Config... function FindRegisteredClientConfigs (line 1080) | func FindRegisteredClientConfigs(ctx context.Context) ([]ConfigFile, err... method FindRegisteredClientConfigs (line 1089) | func (cm *ClientManager) FindRegisteredClientConfigs(ctx context.Context... function CreateClientConfig (line 1122) | func CreateClientConfig(clientType ClientApp) (*ConfigFile, error) { method CreateClientConfig (line 1131) | func (cm *ClientManager) CreateClientConfig(clientType ClientApp) (*Conf... function Upsert (line 1183) | func Upsert(cf ConfigFile, name string, url string, transportType string... method Upsert (line 1192) | func (cm *ClientManager) Upsert(cf ConfigFile, name string, url string, ... function buildMCPServer (line 1206) | func buildMCPServer(url, transportType string, clientCfg *clientAppConfi... method retrieveConfigFileMetadata (line 1240) | func (cm *ClientManager) retrieveConfigFileMetadata(clientType ClientApp... function buildConfigFilePath (line 1302) | func buildConfigFilePath(settingsFile string, relPath []string, platform... function validateConfigFileExists (line 1312) | func validateConfigFileExists(path string) error { function validateConfigFileFormat (line 1319) | func validateConfigFileFormat(cf *ConfigFile) error { FILE: pkg/client/config_editor.go type ConfigUpdater (line 56) | type ConfigUpdater interface type MCPServer (line 68) | type MCPServer struct type JSONConfigUpdater (line 80) | type JSONConfigUpdater struct method Upsert (line 86) | func (jcu *JSONConfigUpdater) Upsert(serverName string, data MCPServer... method Remove (line 132) | func (jcu *JSONConfigUpdater) Remove(serverName string) error { type YAMLConfigUpdater (line 183) | type YAMLConfigUpdater struct method Upsert (line 189) | func (ycu *YAMLConfigUpdater) Upsert(serverName string, data MCPServer... method Remove (line 238) | func (ycu *YAMLConfigUpdater) Remove(serverName string) error { function readTOMLConfig (line 284) | func readTOMLConfig(path string) (map[string]any, error) { function writeTOMLConfig (line 303) | func writeTOMLConfig(path string, config map[string]any) error { function extractURLFromMCPServer (line 318) | func extractURLFromMCPServer(data MCPServer) string { function convertToAnySlice (line 334) | func convertToAnySlice(v any) []any { type TOMLConfigUpdater (line 353) | type TOMLConfigUpdater struct method Upsert (line 361) | func (tcu *TOMLConfigUpdater) Upsert(serverName string, data MCPServer... method Remove (line 383) | func (tcu *TOMLConfigUpdater) Remove(serverName string) error { method getServersArray (line 417) | func (tcu *TOMLConfigUpdater) getServersArray(config map[string]any) [... method upsertServerEntry (line 430) | func (tcu *TOMLConfigUpdater) upsertServerEntry(servers []any, serverN... method filterOutServer (line 443) | func (tcu *TOMLConfigUpdater) filterOutServer(servers []any, serverNam... method buildServerEntry (line 460) | func (tcu *TOMLConfigUpdater) buildServerEntry(serverName string, data... type TOMLMapConfigUpdater (line 481) | type TOMLMapConfigUpdater struct method Upsert (line 488) | func (tmu *TOMLMapConfigUpdater) Upsert(serverName string, data MCPSer... method Remove (line 515) | func (tmu *TOMLMapConfigUpdater) Remove(serverName string) error { method getServersMap (line 551) | func (tmu *TOMLMapConfigUpdater) getServersMap(config map[string]any) ... method buildServerEntry (line 564) | func (tmu *TOMLMapConfigUpdater) buildServerEntry(data MCPServer) map[... function ensurePathExists (line 591) | func ensurePathExists(content []byte, path string) []byte { FILE: pkg/client/config_editor_test.go function TestUpsertMCPServer (line 21) | func TestUpsertMCPServer(t *testing.T) { function TestRemoveMCPServer (line 118) | func TestRemoveMCPServer(t *testing.T) { function setupEmptyTestConfig (line 182) | func setupEmptyTestConfig(t *testing.T, testName string) (string, string) { function getMCPServerFromFile (line 208) | func getMCPServerFromFile(t *testing.T, configPath string, key string) M... function TestEnsurePathExists (line 227) | func TestEnsurePathExists(t *testing.T) { function TestYAMLConfigUpdaterUpsert (line 287) | func TestYAMLConfigUpdaterUpsert(t *testing.T) { function TestYAMLConfigUpdaterRemove (line 419) | func TestYAMLConfigUpdaterRemove(t *testing.T) { function setupEmptyTestYAMLConfig (line 532) | func setupEmptyTestYAMLConfig(t *testing.T, testName string) (string, st... function setupExistingTestYAMLConfig (line 551) | func setupExistingTestYAMLConfig(t *testing.T, testName string) (string,... constant testServerName (line 587) | testServerName = "testServer" function TestTOMLConfigUpdaterUpsert (line 589) | func TestTOMLConfigUpdaterUpsert(t *testing.T) { function TestTOMLConfigUpdaterRemove (line 784) | func TestTOMLConfigUpdaterRemove(t *testing.T) { function setupEmptyTestTOMLConfig (line 904) | func setupEmptyTestTOMLConfig(t *testing.T, testName string) (string, st... function setupExistingTestTOMLConfig (line 923) | func setupExistingTestTOMLConfig(t *testing.T, testName string) (string,... function countOccurrences (line 948) | func countOccurrences(s, substr string) int { function indexOf (line 963) | func indexOf(s, substr string) int { function TestTOMLMapConfigUpdaterUpsert (line 972) | func TestTOMLMapConfigUpdaterUpsert(t *testing.T) { function TestTOMLMapConfigUpdaterRemove (line 1189) | func TestTOMLMapConfigUpdaterRemove(t *testing.T) { function setupExistingTestTOMLMapConfig (line 1306) | func setupExistingTestTOMLMapConfig(t *testing.T, testName string) (stri... FILE: pkg/client/config_test.go constant testValidJSON (line 27) | testValidJSON = `{"mcpServers": {}, "mcp": {"servers": {}}}` constant testValidYAML (line 28) | testValidYAML = `extensions: {}` constant testValidTOML (line 29) | testValidTOML = `` function createMockClientConfigs (line 32) | func createMockClientConfigs() []clientAppConfig { function CreateTestConfigProvider (line 233) | func CreateTestConfigProvider(t *testing.T, cfg *config.Config) (config.... function TestFindClientConfigs (line 262) | func TestFindClientConfigs(t *testing.T) { // Can't run in parallel beca... function initializeTest (line 339) | func initializeTest(t *testing.T) *bytes.Buffer { function TestSuccessfulClientConfigOperations (line 365) | func TestSuccessfulClientConfigOperations(t *testing.T) { function createTestConfigFilesWithConfigs (line 575) | func createTestConfigFilesWithConfigs(t *testing.T, homeDir string, clie... function TestCreateClientConfig (line 602) | func TestCreateClientConfig(t *testing.T) { function TestCreateTOMLClientConfig (line 835) | func TestCreateTOMLClientConfig(t *testing.T) { function TestUpsertWithDynamicUrlFieldMapping (line 947) | func TestUpsertWithDynamicUrlFieldMapping(t *testing.T) { function TestBuildMCPServer (line 1154) | func TestBuildMCPServer(t *testing.T) { function TestGetAllClients (line 1290) | func TestGetAllClients(t *testing.T) { function TestLLMGatewayOnlyExcludedFromClientListAndValidation (line 1329) | func TestLLMGatewayOnlyExcludedFromClientListAndValidation(t *testing.T) { function TestIsValidClient (line 1350) | func TestIsValidClient(t *testing.T) { function TestGetClientDescription (line 1404) | func TestGetClientDescription(t *testing.T) { function TestGetClientListFormatted (line 1447) | func TestGetClientListFormatted(t *testing.T) { function TestGetClientListCSV (line 1485) | func TestGetClientListCSV(t *testing.T) { FILE: pkg/client/converter.go type YAMLConverter (line 11) | type YAMLConverter interface type GenericYAMLConverter (line 18) | type GenericYAMLConverter struct method ConvertFromMCPServer (line 38) | func (g *GenericYAMLConverter) ConvertFromMCPServer(serverName string,... method UpsertEntry (line 71) | func (g *GenericYAMLConverter) UpsertEntry(config interface{}, serverN... method upsertMapEntry (line 99) | func (g *GenericYAMLConverter) upsertMapEntry( method upsertArrayEntry (line 113) | func (g *GenericYAMLConverter) upsertArrayEntry( method RemoveEntry (line 152) | func (g *GenericYAMLConverter) RemoveEntry(config interface{}, serverN... method removeMapEntry (line 169) | func (g *GenericYAMLConverter) removeMapEntry(configMap map[string]int... method removeArrayEntry (line 180) | func (g *GenericYAMLConverter) removeArrayEntry(configMap map[string]i... function NewGenericYAMLConverter (line 27) | func NewGenericYAMLConverter(cfg *clientAppConfig) *GenericYAMLConverter { FILE: pkg/client/converter_test.go constant invalidConfig (line 14) | invalidConfig = "invalid" constant testServer1 (line 15) | testServer1 = "server1" constant testServer2 (line 16) | testServer2 = "server2" function createGooseConfig (line 20) | func createGooseConfig() *clientAppConfig { function createContinueConfig (line 39) | func createContinueConfig() *clientAppConfig { function TestGenericYAMLConverter_ConvertFromMCPServer_Goose (line 53) | func TestGenericYAMLConverter_ConvertFromMCPServer_Goose(t *testing.T) { function TestGenericYAMLConverter_ConvertFromMCPServer_Continue (line 117) | func TestGenericYAMLConverter_ConvertFromMCPServer_Continue(t *testing.T) { function TestGenericYAMLConverter_UpsertEntry_MapStorage (line 162) | func TestGenericYAMLConverter_UpsertEntry_MapStorage(t *testing.T) { function TestGenericYAMLConverter_UpsertEntry_InvalidEntry (line 259) | func TestGenericYAMLConverter_UpsertEntry_InvalidEntry(t *testing.T) { function TestGenericYAMLConverter_UpsertEntry_MapStorage_InvalidServers (line 278) | func TestGenericYAMLConverter_UpsertEntry_MapStorage_InvalidServers(t *t... function TestGenericYAMLConverter_UpsertEntry_ArrayStorage (line 308) | func TestGenericYAMLConverter_UpsertEntry_ArrayStorage(t *testing.T) { function TestGenericYAMLConverter_RemoveEntry_MapStorage (line 376) | func TestGenericYAMLConverter_RemoveEntry_MapStorage(t *testing.T) { function TestGenericYAMLConverter_RemoveEntry_ArrayStorage (line 443) | func TestGenericYAMLConverter_RemoveEntry_ArrayStorage(t *testing.T) { function TestGenericYAMLConverter_UpsertEntry_ArrayStorage_TypedMapArray (line 553) | func TestGenericYAMLConverter_UpsertEntry_ArrayStorage_TypedMapArray(t *... FILE: pkg/client/discovery.go type ClientManager (line 21) | type ClientManager struct method IsClientInstalled (line 87) | func (cm *ClientManager) IsClientInstalled(clientType ClientApp) bool { method GetClientStatus (line 103) | func (cm *ClientManager) GetClientStatus(ctx context.Context) ([]Clien... function NewClientManager (line 30) | func NewClientManager() (*ClientManager, error) { function NewTestClientManager (line 52) | func NewTestClientManager( type ClientAppStatus (line 70) | type ClientAppStatus struct function GetClientStatus (line 145) | func GetClientStatus(ctx context.Context) ([]ClientAppStatus, error) { function buildConfigDirectoryPath (line 153) | func buildConfigDirectoryPath(relPath []string, platformPrefix map[Platf... FILE: pkg/client/discovery_test.go function createTestClientIntegrations (line 23) | func createTestClientIntegrations() []clientAppConfig { function createTestConfigProvider (line 50) | func createTestConfigProvider(t *testing.T, cfg *config.Config) (config.... function TestGetClientStatus (line 78) | func TestGetClientStatus(t *testing.T) { function TestGetClientStatus_Sorting (line 166) | func TestGetClientStatus_Sorting(t *testing.T) { function TestIsClientInstalled (line 203) | func TestIsClientInstalled(t *testing.T) { function TestGetClientStatus_WithGroups (line 263) | func TestGetClientStatus_WithGroups(t *testing.T) { FILE: pkg/client/filter.go function FilterClientsAlreadyRegistered (line 20) | func FilterClientsAlreadyRegistered( function isClientRegisteredInAllGroups (line 37) | func isClientRegisteredInAllGroups(clientName string, selectedGroups []*... FILE: pkg/client/filter_test.go function TestFilterClientsAlreadyRegistered (line 14) | func TestFilterClientsAlreadyRegistered(t *testing.T) { FILE: pkg/client/llm_gateway.go constant llmPlaceholderAPIKey (line 21) | llmPlaceholderAPIKey = "thv-proxy" type llmPatchOp (line 25) | type llmPatchOp struct method ConfigureLLMGateway (line 37) | func (cm *ClientManager) ConfigureLLMGateway(clientType ClientApp, cfg l... function applyLLMGatewayKeys (line 82) | func applyLLMGatewayKeys(v *hujson.Value, specs []LLMGatewayKeySpec, cfg... function removeLLMKey (line 116) | func removeLLMKey(v *hujson.Value, ptr, filePath string, standardized []... function addLLMKey (line 131) | func addLLMKey(v *hujson.Value, ptr, value, filePath string) error { method RevertLLMGateway (line 149) | func (cm *ClientManager) RevertLLMGateway(clientType ClientApp, configPa... method IsLLMGatewaySupported (line 208) | func (cm *ClientManager) IsLLMGatewaySupported(clientType ClientApp) bool { method LLMGatewayModeFor (line 214) | func (cm *ClientManager) LLMGatewayModeFor(clientType ClientApp) string { method DetectedLLMGatewayClients (line 229) | func (cm *ClientManager) DetectedLLMGatewayClients() []ClientApp { method buildLLMSettingsPath (line 252) | func (cm *ClientManager) buildLLMSettingsPath(cfg *clientAppConfig) stri... function llmValueForSpec (line 264) | func llmValueForSpec(valueField string, cfg llmgateway.ApplyConfig) stri... function ensureLLMAncestors (line 293) | func ensureLLMAncestors(v *hujson.Value, ptr, filePath string) error { function jsonPointerExists (line 328) | func jsonPointerExists(data []byte, pointer string) bool { function readOrInit (line 349) | func readOrInit(path string) ([]byte, error) { FILE: pkg/client/llm_gateway_test.go constant fakeLLMBinary (line 20) | fakeLLMBinary = "fake-llm-tool" function TestRealClientConfigs_ConfigureAndRevert (line 30) | func TestRealClientConfigs_ConfigureAndRevert(t *testing.T) { function newLLMManager (line 139) | func newLLMManager(t *testing.T, clientType ClientApp, mode, dir string,... function TestConfigureLLMGateway_DeepNestedKey (line 159) | func TestConfigureLLMGateway_DeepNestedKey(t *testing.T) { function TestIsLLMGatewaySupported (line 183) | func TestIsLLMGatewaySupported(t *testing.T) { function TestLLMGatewayModeFor (line 191) | func TestLLMGatewayModeFor(t *testing.T) { function TestDetectedLLMGatewayClients_DirAbsent (line 201) | func TestDetectedLLMGatewayClients_DirAbsent(t *testing.T) { function TestDetectedLLMGatewayClients_DirPresent (line 209) | func TestDetectedLLMGatewayClients_DirPresent(t *testing.T) { function TestConfigureLLMGateway_CreatesFile (line 221) | func TestConfigureLLMGateway_CreatesFile(t *testing.T) { function TestConfigureLLMGateway_PreservesExistingKeys (line 241) | func TestConfigureLLMGateway_PreservesExistingKeys(t *testing.T) { function TestConfigureLLMGateway_JSONCPreservesExistingParent (line 263) | func TestConfigureLLMGateway_JSONCPreservesExistingParent(t *testing.T) { function TestConfigureLLMGateway_UnsupportedClient (line 297) | func TestConfigureLLMGateway_UnsupportedClient(t *testing.T) { function TestConfigureLLMGateway_Idempotent (line 307) | func TestConfigureLLMGateway_Idempotent(t *testing.T) { function TestRevertLLMGateway_RemovesKey (line 328) | func TestRevertLLMGateway_RemovesKey(t *testing.T) { function TestRevertLLMGateway_MissingFile (line 346) | func TestRevertLLMGateway_MissingFile(t *testing.T) { function TestRevertLLMGateway_MissingDir (line 355) | func TestRevertLLMGateway_MissingDir(t *testing.T) { function TestRevertLLMGateway_EmptyFile (line 364) | func TestRevertLLMGateway_EmptyFile(t *testing.T) { function TestRevertLLMGateway_UnsupportedClient (line 376) | func TestRevertLLMGateway_UnsupportedClient(t *testing.T) { function TestConfigureLLMGateway_ProxyMode (line 388) | func TestConfigureLLMGateway_ProxyMode(t *testing.T) { function TestDetectedLLMGatewayClients_DirOnly (line 413) | func TestDetectedLLMGatewayClients_DirOnly(t *testing.T) { function TestDetectedLLMGatewayClients_BinaryAndDirExist (line 440) | func TestDetectedLLMGatewayClients_BinaryAndDirExist(t *testing.T) { function TestDetectedLLMGatewayClients_DirExistsButBinaryAbsent (line 467) | func TestDetectedLLMGatewayClients_DirExistsButBinaryAbsent(t *testing.T) { function TestDetectedLLMGatewayClients_NeitherDirNorBinary (line 493) | func TestDetectedLLMGatewayClients_NeitherDirNorBinary(t *testing.T) { function TestRealClientConfigs_LLMBinaryNames (line 516) | func TestRealClientConfigs_LLMBinaryNames(t *testing.T) { function newTLSTestManager (line 544) | func newTLSTestManager(t *testing.T) (*ClientManager, string) { function TestConfigureLLMGateway_TLSSkipVerify_WritesNodeEnv (line 559) | func TestConfigureLLMGateway_TLSSkipVerify_WritesNodeEnv(t *testing.T) { function TestConfigureLLMGateway_TLSSkipVerify_NotSet_DoesNotWriteNodeEnv (line 578) | func TestConfigureLLMGateway_TLSSkipVerify_NotSet_DoesNotWriteNodeEnv(t ... function TestConfigureLLMGateway_TLSSkipVerify_ClearRemovesKey (line 596) | func TestConfigureLLMGateway_TLSSkipVerify_ClearRemovesKey(t *testing.T) { function countSubstring (line 628) | func countSubstring(s, substr string) int { FILE: pkg/client/manager.go type Client (line 20) | type Client struct type RegisteredClient (line 25) | type RegisteredClient struct type Manager (line 33) | type Manager interface type defaultManager (line 46) | type defaultManager struct method SetConfigProvider (line 93) | func (m *defaultManager) SetConfigProvider(provider config.Provider) { method ListClients (line 97) | func (m *defaultManager) ListClients(ctx context.Context) ([]Registere... method RegisterClients (line 144) | func (m *defaultManager) RegisterClients(clients []Client, workloads [... method UnregisterClients (line 155) | func (m *defaultManager) UnregisterClients(_ context.Context, clients ... method AddServerToClients (line 168) | func (m *defaultManager) AddServerToClients( method RemoveServerFromClients (line 190) | func (m *defaultManager) RemoveServerFromClients(ctx context.Context, ... method addWorkloadsToClient (line 209) | func (m *defaultManager) addWorkloadsToClient(clientType ClientApp, wo... method removeWorkloadsFromClient (line 232) | func (m *defaultManager) removeWorkloadsFromClient(clientType ClientAp... method removeServerFromClient (line 250) | func (*defaultManager) removeServerFromClient(clientName ClientApp, se... method updateClientWithServer (line 266) | func (*defaultManager) updateClientWithServer(clientName, serverName, ... method getTargetClients (line 291) | func (m *defaultManager) getTargetClients(ctx context.Context, serverN... function NewManager (line 53) | func NewManager(ctx context.Context) (Manager, error) { function NewManagerWithProvider (line 73) | func NewManagerWithProvider(ctx context.Context, configProvider config.P... FILE: pkg/client/mocks/mock_manager.go type MockManager (line 22) | type MockManager struct method EXPECT (line 41) | func (m *MockManager) EXPECT() *MockManagerMockRecorder { method AddServerToClients (line 46) | func (m *MockManager) AddServerToClients(ctx context.Context, serverNa... method ListClients (line 60) | func (m *MockManager) ListClients(ctx context.Context) ([]client.Regis... method RegisterClients (line 75) | func (m *MockManager) RegisterClients(clients []client.Client, workloa... method RemoveServerFromClients (line 89) | func (m *MockManager) RemoveServerFromClients(ctx context.Context, ser... method UnregisterClients (line 103) | func (m *MockManager) UnregisterClients(ctx context.Context, clients [... type MockManagerMockRecorder (line 29) | type MockManagerMockRecorder struct method AddServerToClients (line 54) | func (mr *MockManagerMockRecorder) AddServerToClients(ctx, serverName,... method ListClients (line 69) | func (mr *MockManagerMockRecorder) ListClients(ctx any) *gomock.Call { method RegisterClients (line 83) | func (mr *MockManagerMockRecorder) RegisterClients(clients, workloads ... method RemoveServerFromClients (line 97) | func (mr *MockManagerMockRecorder) RemoveServerFromClients(ctx, server... method UnregisterClients (line 111) | func (mr *MockManagerMockRecorder) UnregisterClients(ctx, clients, wor... function NewMockManager (line 34) | func NewMockManager(ctrl *gomock.Controller) *MockManager { FILE: pkg/client/skills.go method SupportsSkills (line 31) | func (cm *ClientManager) SupportsSkills(clientType ClientApp) bool { method ListSkillSupportingClients (line 37) | func (cm *ClientManager) ListSkillSupportingClients() []ClientApp { method GetSkillPath (line 58) | func (cm *ClientManager) GetSkillPath( function DetectProjectRoot (line 86) | func DetectProjectRoot(startDir string) (string, error) { method lookupClientAppConfig (line 114) | func (cm *ClientManager) lookupClientAppConfig(clientType ClientApp) *cl... method buildSkillsGlobalPath (line 123) | func (cm *ClientManager) buildSkillsGlobalPath(cfg *clientAppConfig, ski... function buildSkillsProjectPath (line 137) | func buildSkillsProjectPath(cfg *clientAppConfig, skillName string, proj... FILE: pkg/client/skills_test.go function testSkillClientIntegrations (line 19) | func testSkillClientIntegrations() []clientAppConfig { constant testHomeDir (line 145) | testHomeDir = "/fake/home" function newTestSkillManager (line 147) | func newTestSkillManager() *ClientManager { function TestSupportsSkills (line 151) | func TestSupportsSkills(t *testing.T) { function TestListSkillSupportingClients (line 190) | func TestListSkillSupportingClients(t *testing.T) { function TestGetSkillPath (line 206) | func TestGetSkillPath(t *testing.T) { function TestDetectProjectRoot (line 599) | func TestDetectProjectRoot(t *testing.T) { function TestLookupClientAppConfig (line 640) | func TestLookupClientAppConfig(t *testing.T) { function TestPlatformPrefixKeysAreValid (line 677) | func TestPlatformPrefixKeysAreValid(t *testing.T) { FILE: pkg/client/test_support.go type LLMTestEntry (line 9) | type LLMTestEntry struct function LLMTestIntegrations (line 23) | func LLMTestIntegrations(entries []LLMTestEntry) []clientAppConfig { FILE: pkg/config/buildauthfile.go constant BuildAuthFileSecretPrefix (line 13) | BuildAuthFileSecretPrefix = "BUILD_AUTH_FILE_" function ValidateBuildAuthFileName (line 23) | func ValidateBuildAuthFileName(name string) error { function BuildAuthFileSecretName (line 35) | func BuildAuthFileSecretName(fileType string) string { function markBuildAuthFileConfigured (line 41) | func markBuildAuthFileConfigured(p Provider, name string) error { function isBuildAuthFileConfigured (line 57) | func isBuildAuthFileConfigured(p Provider, name string) bool { function getConfiguredBuildAuthFiles (line 69) | func getConfiguredBuildAuthFiles(p Provider) []string { function unsetBuildAuthFile (line 84) | func unsetBuildAuthFile(p Provider, name string) error { function unsetAllBuildAuthFiles (line 96) | func unsetAllBuildAuthFiles(p Provider) error { FILE: pkg/config/buildauthfile_test.go function TestValidateBuildAuthFileName (line 11) | func TestValidateBuildAuthFileName(t *testing.T) { function TestBuildAuthFileSecretName (line 44) | func TestBuildAuthFileSecretName(t *testing.T) { function TestMarkBuildAuthFileConfigured (line 68) | func TestMarkBuildAuthFileConfigured(t *testing.T) { function TestIsBuildAuthFileConfigured (line 121) | func TestIsBuildAuthFileConfigured(t *testing.T) { function TestGetConfiguredBuildAuthFiles (line 149) | func TestGetConfiguredBuildAuthFiles(t *testing.T) { function TestUnsetBuildAuthFile (line 198) | func TestUnsetBuildAuthFile(t *testing.T) { function TestUnsetBuildAuthFile_NotExist (line 226) | func TestUnsetBuildAuthFile_NotExist(t *testing.T) { function TestUnsetAllBuildAuthFiles (line 240) | func TestUnsetAllBuildAuthFiles(t *testing.T) { function TestUnsetAllBuildAuthFiles_Empty (line 282) | func TestUnsetAllBuildAuthFiles_Empty(t *testing.T) { function TestMarkBuildAuthFileConfigured_UpdateExisting (line 296) | func TestMarkBuildAuthFileConfigured_UpdateExisting(t *testing.T) { function TestSupportedAuthFiles (line 321) | func TestSupportedAuthFiles(t *testing.T) { FILE: pkg/config/buildenv.go constant errInvalidEnvKeyFormat (line 14) | errInvalidEnvKeyFormat = "invalid environment variable name: %s (must m... constant errReservedEnvKey (line 15) | errReservedEnvKey = "environment variable name %s is reserved and ... constant errInvalidEnvValueChars (line 16) | errInvalidEnvValueChars = "environment variable value contains potential... function ValidateBuildEnvKey (line 40) | func ValidateBuildEnvKey(key string) error { function ValidateBuildEnvValue (line 54) | func ValidateBuildEnvValue(value string) error { function ValidateBuildEnvEntry (line 82) | func ValidateBuildEnvEntry(key, value string) error { function checkBuildEnvKeyConflict (line 90) | func checkBuildEnvKeyConflict(p Provider, key string) error { function setBuildEnv (line 118) | func setBuildEnv(p Provider, key, value string) error { function getBuildEnv (line 138) | func getBuildEnv(p Provider, key string) (value string, exists bool) { function getAllBuildEnv (line 148) | func getAllBuildEnv(p Provider) map[string]string { function unsetBuildEnv (line 162) | func unsetBuildEnv(p Provider, key string) error { function unsetAllBuildEnv (line 172) | func unsetAllBuildEnv(p Provider) error { function setBuildEnvFromSecret (line 180) | func setBuildEnvFromSecret(p Provider, key, secretName string) error { function getBuildEnvFromSecret (line 201) | func getBuildEnvFromSecret(p Provider, key string) (secretName string, e... function getAllBuildEnvFromSecrets (line 211) | func getAllBuildEnvFromSecrets(p Provider) map[string]string { function unsetBuildEnvFromSecret (line 224) | func unsetBuildEnvFromSecret(p Provider, key string) error { function setBuildEnvFromShell (line 234) | func setBuildEnvFromShell(p Provider, key string) error { function checkBuildEnvKeyConflictExcludingShell (line 257) | func checkBuildEnvKeyConflictExcludingShell(p Provider, key string) error { function getBuildEnvFromShell (line 278) | func getBuildEnvFromShell(p Provider, key string) bool { function getAllBuildEnvFromShell (line 289) | func getAllBuildEnvFromShell(p Provider) []string { function unsetBuildEnvFromShell (line 300) | func unsetBuildEnvFromShell(p Provider, key string) error { FILE: pkg/config/buildenv_test.go function TestValidateBuildEnvKey (line 11) | func TestValidateBuildEnvKey(t *testing.T) { function TestValidateBuildEnvValue (line 60) | func TestValidateBuildEnvValue(t *testing.T) { function TestValidateBuildEnvEntry (line 107) | func TestValidateBuildEnvEntry(t *testing.T) { function TestSetBuildEnvFromSecret (line 160) | func TestSetBuildEnvFromSecret(t *testing.T) { function TestSetBuildEnvFromShell (line 216) | func TestSetBuildEnvFromShell(t *testing.T) { function TestCheckBuildEnvKeyConflict (line 265) | func TestCheckBuildEnvKeyConflict(t *testing.T) { function TestGetAllBuildEnvFromSecrets (line 336) | func TestGetAllBuildEnvFromSecrets(t *testing.T) { function TestGetAllBuildEnvFromShell (line 376) | func TestGetAllBuildEnvFromShell(t *testing.T) { function TestUnsetBuildEnvFromSecret (line 410) | func TestUnsetBuildEnvFromSecret(t *testing.T) { function TestUnsetBuildEnvFromShell (line 444) | func TestUnsetBuildEnvFromShell(t *testing.T) { function TestSetBuildEnvFromShell_Duplicate (line 478) | func TestSetBuildEnvFromShell_Duplicate(t *testing.T) { FILE: pkg/config/cacert.go function setCACert (line 21) | func setCACert(provider Provider, certPath string) error { function getCACert (line 58) | func getCACert(provider Provider) (certPath string, exists bool, accessi... function unsetCACert (line 81) | func unsetCACert(provider Provider) error { FILE: pkg/config/cacert_test.go constant validCACertificate (line 15) | validCACertificate = `-----BEGIN CERTIFICATE----- function TestCACertOperations (line 37) | func TestCACertOperations(t *testing.T) { function TestProviderInterfaceCACert (line 201) | func TestProviderInterfaceCACert(t *testing.T) { FILE: pkg/config/config.go constant lockTimeout (line 29) | lockTimeout = 1 * time.Second type Config (line 32) | type Config struct method save (line 305) | func (c *Config) save() error { method saveToPath (line 311) | func (c *Config) saveToPath(configPath string) error { constant RegistryAuthTypeOAuth (line 56) | RegistryAuthTypeOAuth = "oauth" type RegistryAuth (line 59) | type RegistryAuth struct type Secrets (line 75) | type Secrets struct method GetProviderType (line 103) | func (s *Secrets) GetProviderType() (secrets.ProviderType, error) { method GetProviderTypeWithEnv (line 129) | func (s *Secrets) GetProviderTypeWithEnv(envReader env.Reader) (secret... function validateProviderType (line 81) | func validateProviderType(provider string) (secrets.ProviderType, error) { type Clients (line 165) | type Clients struct function createNewConfigWithDefaults (line 178) | func createNewConfigWithDefaults() Config { function applyBackwardCompatibility (line 194) | func applyBackwardCompatibility(config *Config) error { function LoadOrCreateConfig (line 226) | func LoadOrCreateConfig() (*Config, error) { function LoadOrCreateConfigWithDefaultPath (line 233) | func LoadOrCreateConfigWithDefaultPath() (*Config, error) { function LoadOrCreateConfigWithPath (line 244) | func LoadOrCreateConfigWithPath(configPath string) (*Config, error) { function LoadOrCreateConfigFromPath (line 254) | func LoadOrCreateConfigFromPath(configPath string) (*Config, error) { function UpdateConfig (line 334) | func UpdateConfig(updateFn func(*Config) error) error { function UpdateConfigAtPath (line 342) | func UpdateConfigAtPath(configPath string, updateFn func(*Config) error)... type OpenTelemetryConfig (line 395) | type OpenTelemetryConfig struct function getRuntimeConfig (line 407) | func getRuntimeConfig(provider Provider, transportType string) (*templat... function setRuntimeConfig (line 424) | func setRuntimeConfig(provider Provider, transportType string, runtimeCo... FILE: pkg/config/config_test.go function SetupTestConfig (line 22) | func SetupTestConfig(t *testing.T, configContent *Config) (string, strin... function TestLoadOrCreateConfig (line 47) | func TestLoadOrCreateConfig(t *testing.T) { function TestSave (line 98) | func TestSave(t *testing.T) { function TestRegistryURLConfig (line 147) | func TestRegistryURLConfig(t *testing.T) { function TestUpdateConfigAtPath_CallbackError (line 264) | func TestUpdateConfigAtPath_CallbackError(t *testing.T) { function TestSecrets_GetProviderType_EnvironmentVariable (line 285) | func TestSecrets_GetProviderType_EnvironmentVariable(t *testing.T) { FILE: pkg/config/errors.go type RegistryError (line 23) | type RegistryError struct method Error (line 32) | func (e *RegistryError) Error() string { method Unwrap (line 36) | func (e *RegistryError) Unwrap() error { method IsTimeout (line 41) | func (e *RegistryError) IsTimeout() bool { method IsUnreachable (line 46) | func (e *RegistryError) IsUnreachable() bool { method IsValidationFailed (line 51) | func (e *RegistryError) IsValidationFailed() bool { FILE: pkg/config/errors_test.go function TestRegistryError (line 16) | func TestRegistryError(t *testing.T) { function TestRegistryErrorUnwrap (line 77) | func TestRegistryErrorUnwrap(t *testing.T) { function TestClassifyNetworkError (line 90) | func TestClassifyNetworkError(t *testing.T) { type timeoutError (line 167) | type timeoutError struct method Error (line 171) | func (e *timeoutError) Error() string { return e.err } method Timeout (line 172) | func (*timeoutError) Timeout() bool { return true } method Temporary (line 173) | func (*timeoutError) Temporary() bool { return false } FILE: pkg/config/factory.go type ProviderFactory (line 8) | type ProviderFactory function RegisterProviderFactory (line 16) | func RegisterProviderFactory(f ProviderFactory) { FILE: pkg/config/factory_test.go type stubProvider (line 14) | type stubProvider struct function TestRegisterProviderFactory_NoFactoryRegistered (line 19) | func TestRegisterProviderFactory_NoFactoryRegistered(t *testing.T) { function TestRegisterProviderFactory_ReturnsNonNilProvider (line 33) | func TestRegisterProviderFactory_ReturnsNonNilProvider(t *testing.T) { function TestRegisterProviderFactory_ReturnsNil_FallsThrough (line 50) | func TestRegisterProviderFactory_ReturnsNil_FallsThrough(t *testing.T) { function TestRegisterProviderFactory_SecondCallWins (line 66) | func TestRegisterProviderFactory_SecondCallWins(t *testing.T) { function TestRegisterProviderFactory_FactoryOverridesKubernetesDetection (line 88) | func TestRegisterProviderFactory_FactoryOverridesKubernetesDetection(t *... FILE: pkg/config/interface.go type Provider (line 14) | type Provider interface type DefaultProvider (line 63) | type DefaultProvider struct method GetConfig (line 71) | func (*DefaultProvider) GetConfig() *Config { method UpdateConfig (line 76) | func (*DefaultProvider) UpdateConfig(updateFn func(*Config) error) err... method LoadOrCreateConfig (line 81) | func (*DefaultProvider) LoadOrCreateConfig() (*Config, error) { method SetRegistryURL (line 86) | func (d *DefaultProvider) SetRegistryURL(registryURL string, allowPriv... method SetRegistryAPI (line 91) | func (d *DefaultProvider) SetRegistryAPI(apiURL string, allowPrivateRe... method SetRegistryFile (line 96) | func (d *DefaultProvider) SetRegistryFile(registryPath string) error { method UnsetRegistry (line 101) | func (d *DefaultProvider) UnsetRegistry() error { method GetRegistryConfig (line 106) | func (d *DefaultProvider) GetRegistryConfig() (url, localPath string, ... method SetCACert (line 111) | func (d *DefaultProvider) SetCACert(certPath string) error { method GetCACert (line 116) | func (d *DefaultProvider) GetCACert() (certPath string, exists bool, a... method UnsetCACert (line 121) | func (d *DefaultProvider) UnsetCACert() error { method SetBuildEnv (line 126) | func (d *DefaultProvider) SetBuildEnv(key, value string) error { method GetBuildEnv (line 131) | func (d *DefaultProvider) GetBuildEnv(key string) (value string, exist... method GetAllBuildEnv (line 136) | func (d *DefaultProvider) GetAllBuildEnv() map[string]string { method UnsetBuildEnv (line 141) | func (d *DefaultProvider) UnsetBuildEnv(key string) error { method UnsetAllBuildEnv (line 146) | func (d *DefaultProvider) UnsetAllBuildEnv() error { method SetBuildEnvFromSecret (line 151) | func (d *DefaultProvider) SetBuildEnvFromSecret(key, secretName string... method GetBuildEnvFromSecret (line 156) | func (d *DefaultProvider) GetBuildEnvFromSecret(key string) (secretNam... method GetAllBuildEnvFromSecrets (line 161) | func (d *DefaultProvider) GetAllBuildEnvFromSecrets() map[string]string { method UnsetBuildEnvFromSecret (line 166) | func (d *DefaultProvider) UnsetBuildEnvFromSecret(key string) error { method SetBuildEnvFromShell (line 171) | func (d *DefaultProvider) SetBuildEnvFromShell(key string) error { method GetBuildEnvFromShell (line 176) | func (d *DefaultProvider) GetBuildEnvFromShell(key string) bool { method GetAllBuildEnvFromShell (line 181) | func (d *DefaultProvider) GetAllBuildEnvFromShell() []string { method UnsetBuildEnvFromShell (line 186) | func (d *DefaultProvider) UnsetBuildEnvFromShell(key string) error { method MarkBuildAuthFileConfigured (line 191) | func (d *DefaultProvider) MarkBuildAuthFileConfigured(name string) err... method IsBuildAuthFileConfigured (line 196) | func (d *DefaultProvider) IsBuildAuthFileConfigured(name string) bool { method GetConfiguredBuildAuthFiles (line 201) | func (d *DefaultProvider) GetConfiguredBuildAuthFiles() []string { method UnsetBuildAuthFile (line 206) | func (d *DefaultProvider) UnsetBuildAuthFile(name string) error { method UnsetAllBuildAuthFiles (line 211) | func (d *DefaultProvider) UnsetAllBuildAuthFiles() error { method GetRuntimeConfig (line 216) | func (d *DefaultProvider) GetRuntimeConfig(transportType string) (*tem... method SetRuntimeConfig (line 221) | func (d *DefaultProvider) SetRuntimeConfig(transportType string, confi... function NewDefaultProvider (line 66) | func NewDefaultProvider() *DefaultProvider { type PathProvider (line 226) | type PathProvider struct method GetConfig (line 236) | func (p *PathProvider) GetConfig() *Config { method UpdateConfig (line 247) | func (p *PathProvider) UpdateConfig(updateFn func(*Config) error) error { method LoadOrCreateConfig (line 252) | func (p *PathProvider) LoadOrCreateConfig() (*Config, error) { method SetRegistryURL (line 257) | func (p *PathProvider) SetRegistryURL(registryURL string, allowPrivate... method SetRegistryAPI (line 262) | func (p *PathProvider) SetRegistryAPI(apiURL string, allowPrivateRegis... method SetRegistryFile (line 267) | func (p *PathProvider) SetRegistryFile(registryPath string) error { method UnsetRegistry (line 272) | func (p *PathProvider) UnsetRegistry() error { method GetRegistryConfig (line 277) | func (p *PathProvider) GetRegistryConfig() (url, localPath string, all... method SetCACert (line 282) | func (p *PathProvider) SetCACert(certPath string) error { method GetCACert (line 287) | func (p *PathProvider) GetCACert() (certPath string, exists bool, acce... method UnsetCACert (line 292) | func (p *PathProvider) UnsetCACert() error { method SetBuildEnv (line 297) | func (p *PathProvider) SetBuildEnv(key, value string) error { method GetBuildEnv (line 302) | func (p *PathProvider) GetBuildEnv(key string) (value string, exists b... method GetAllBuildEnv (line 307) | func (p *PathProvider) GetAllBuildEnv() map[string]string { method UnsetBuildEnv (line 312) | func (p *PathProvider) UnsetBuildEnv(key string) error { method UnsetAllBuildEnv (line 317) | func (p *PathProvider) UnsetAllBuildEnv() error { method SetBuildEnvFromSecret (line 322) | func (p *PathProvider) SetBuildEnvFromSecret(key, secretName string) e... method GetBuildEnvFromSecret (line 327) | func (p *PathProvider) GetBuildEnvFromSecret(key string) (secretName s... method GetAllBuildEnvFromSecrets (line 332) | func (p *PathProvider) GetAllBuildEnvFromSecrets() map[string]string { method UnsetBuildEnvFromSecret (line 337) | func (p *PathProvider) UnsetBuildEnvFromSecret(key string) error { method SetBuildEnvFromShell (line 342) | func (p *PathProvider) SetBuildEnvFromShell(key string) error { method GetBuildEnvFromShell (line 347) | func (p *PathProvider) GetBuildEnvFromShell(key string) bool { method GetAllBuildEnvFromShell (line 352) | func (p *PathProvider) GetAllBuildEnvFromShell() []string { method UnsetBuildEnvFromShell (line 357) | func (p *PathProvider) UnsetBuildEnvFromShell(key string) error { method MarkBuildAuthFileConfigured (line 362) | func (p *PathProvider) MarkBuildAuthFileConfigured(name string) error { method IsBuildAuthFileConfigured (line 367) | func (p *PathProvider) IsBuildAuthFileConfigured(name string) bool { method GetConfiguredBuildAuthFiles (line 372) | func (p *PathProvider) GetConfiguredBuildAuthFiles() []string { method UnsetBuildAuthFile (line 377) | func (p *PathProvider) UnsetBuildAuthFile(name string) error { method UnsetAllBuildAuthFiles (line 382) | func (p *PathProvider) UnsetAllBuildAuthFiles() error { method GetRuntimeConfig (line 387) | func (p *PathProvider) GetRuntimeConfig(transportType string) (*templa... method SetRuntimeConfig (line 392) | func (p *PathProvider) SetRuntimeConfig(transportType string, config *... function NewPathProvider (line 231) | func NewPathProvider(configPath string) *PathProvider { type KubernetesProvider (line 398) | type KubernetesProvider struct method GetConfig (line 406) | func (*KubernetesProvider) GetConfig() *Config { method UpdateConfig (line 412) | func (*KubernetesProvider) UpdateConfig(_ func(*Config) error) error { method LoadOrCreateConfig (line 417) | func (*KubernetesProvider) LoadOrCreateConfig() (*Config, error) { method SetRegistryURL (line 423) | func (*KubernetesProvider) SetRegistryURL(_ string, _ bool) error { method SetRegistryAPI (line 428) | func (*KubernetesProvider) SetRegistryAPI(_ string, _ bool) error { method SetRegistryFile (line 433) | func (*KubernetesProvider) SetRegistryFile(_ string) error { method UnsetRegistry (line 438) | func (*KubernetesProvider) UnsetRegistry() error { method GetRegistryConfig (line 443) | func (*KubernetesProvider) GetRegistryConfig() (url, localPath string,... method SetCACert (line 448) | func (*KubernetesProvider) SetCACert(_ string) error { method GetCACert (line 453) | func (*KubernetesProvider) GetCACert() (certPath string, exists bool, ... method UnsetCACert (line 458) | func (*KubernetesProvider) UnsetCACert() error { method SetBuildEnv (line 463) | func (*KubernetesProvider) SetBuildEnv(_, _ string) error { method GetBuildEnv (line 468) | func (*KubernetesProvider) GetBuildEnv(_ string) (value string, exists... method GetAllBuildEnv (line 473) | func (*KubernetesProvider) GetAllBuildEnv() map[string]string { method UnsetBuildEnv (line 478) | func (*KubernetesProvider) UnsetBuildEnv(_ string) error { method UnsetAllBuildEnv (line 483) | func (*KubernetesProvider) UnsetAllBuildEnv() error { method SetBuildEnvFromSecret (line 488) | func (*KubernetesProvider) SetBuildEnvFromSecret(_, _ string) error { method GetBuildEnvFromSecret (line 493) | func (*KubernetesProvider) GetBuildEnvFromSecret(_ string) (secretName... method GetAllBuildEnvFromSecrets (line 498) | func (*KubernetesProvider) GetAllBuildEnvFromSecrets() map[string]stri... method UnsetBuildEnvFromSecret (line 503) | func (*KubernetesProvider) UnsetBuildEnvFromSecret(_ string) error { method SetBuildEnvFromShell (line 508) | func (*KubernetesProvider) SetBuildEnvFromShell(_ string) error { method GetBuildEnvFromShell (line 513) | func (*KubernetesProvider) GetBuildEnvFromShell(_ string) bool { method GetAllBuildEnvFromShell (line 518) | func (*KubernetesProvider) GetAllBuildEnvFromShell() []string { method UnsetBuildEnvFromShell (line 523) | func (*KubernetesProvider) UnsetBuildEnvFromShell(_ string) error { method MarkBuildAuthFileConfigured (line 528) | func (*KubernetesProvider) MarkBuildAuthFileConfigured(_ string) error { method IsBuildAuthFileConfigured (line 533) | func (*KubernetesProvider) IsBuildAuthFileConfigured(_ string) bool { method GetConfiguredBuildAuthFiles (line 538) | func (*KubernetesProvider) GetConfiguredBuildAuthFiles() []string { method UnsetBuildAuthFile (line 543) | func (*KubernetesProvider) UnsetBuildAuthFile(_ string) error { method UnsetAllBuildAuthFiles (line 548) | func (*KubernetesProvider) UnsetAllBuildAuthFiles() error { method GetRuntimeConfig (line 553) | func (*KubernetesProvider) GetRuntimeConfig(_ string) (*templates.Runt... method SetRuntimeConfig (line 558) | func (*KubernetesProvider) SetRuntimeConfig(_ string, _ *templates.Run... function NewKubernetesProvider (line 401) | func NewKubernetesProvider() *KubernetesProvider { function NewProvider (line 566) | func NewProvider() Provider { FILE: pkg/config/interface_test.go function TestNewDefaultProvider (line 16) | func TestNewDefaultProvider(t *testing.T) { function TestNewPathProvider (line 23) | func TestNewPathProvider(t *testing.T) { function TestNewKubernetesProvider (line 32) | func TestNewKubernetesProvider(t *testing.T) { function TestDefaultProvider (line 39) | func TestDefaultProvider(t *testing.T) { function TestPathProvider (line 94) | func TestPathProvider(t *testing.T) { function TestKubernetesProvider (line 182) | func TestKubernetesProvider(t *testing.T) { function TestNewProvider (line 243) | func TestNewProvider(t *testing.T) { function TestProviderRegistryOperations (line 271) | func TestProviderRegistryOperations(t *testing.T) { function TestProviderBuildEnvOperations (line 355) | func TestProviderBuildEnvOperations(t *testing.T) { FILE: pkg/config/mocks/mock_provider.go type MockProvider (line 21) | type MockProvider struct method EXPECT (line 40) | func (m *MockProvider) EXPECT() *MockProviderMockRecorder { method GetAllBuildEnv (line 45) | func (m *MockProvider) GetAllBuildEnv() map[string]string { method GetAllBuildEnvFromSecrets (line 59) | func (m *MockProvider) GetAllBuildEnvFromSecrets() map[string]string { method GetAllBuildEnvFromShell (line 73) | func (m *MockProvider) GetAllBuildEnvFromShell() []string { method GetBuildEnv (line 87) | func (m *MockProvider) GetBuildEnv(key string) (string, bool) { method GetBuildEnvFromSecret (line 102) | func (m *MockProvider) GetBuildEnvFromSecret(key string) (string, bool) { method GetBuildEnvFromShell (line 117) | func (m *MockProvider) GetBuildEnvFromShell(key string) bool { method GetCACert (line 131) | func (m *MockProvider) GetCACert() (string, bool, bool) { method GetConfig (line 147) | func (m *MockProvider) GetConfig() *config.Config { method GetConfiguredBuildAuthFiles (line 161) | func (m *MockProvider) GetConfiguredBuildAuthFiles() []string { method GetRegistryConfig (line 175) | func (m *MockProvider) GetRegistryConfig() (string, string, bool, stri... method GetRuntimeConfig (line 192) | func (m *MockProvider) GetRuntimeConfig(transportType string) (*templa... method IsBuildAuthFileConfigured (line 207) | func (m *MockProvider) IsBuildAuthFileConfigured(name string) bool { method LoadOrCreateConfig (line 221) | func (m *MockProvider) LoadOrCreateConfig() (*config.Config, error) { method MarkBuildAuthFileConfigured (line 236) | func (m *MockProvider) MarkBuildAuthFileConfigured(name string) error { method SetBuildEnv (line 250) | func (m *MockProvider) SetBuildEnv(key, value string) error { method SetBuildEnvFromSecret (line 264) | func (m *MockProvider) SetBuildEnvFromSecret(key, secretName string) e... method SetBuildEnvFromShell (line 278) | func (m *MockProvider) SetBuildEnvFromShell(key string) error { method SetCACert (line 292) | func (m *MockProvider) SetCACert(certPath string) error { method SetRegistryAPI (line 306) | func (m *MockProvider) SetRegistryAPI(apiURL string, allowPrivateRegis... method SetRegistryFile (line 320) | func (m *MockProvider) SetRegistryFile(registryPath string) error { method SetRegistryURL (line 334) | func (m *MockProvider) SetRegistryURL(registryURL string, allowPrivate... method SetRuntimeConfig (line 348) | func (m *MockProvider) SetRuntimeConfig(transportType string, arg1 *te... method UnsetAllBuildAuthFiles (line 362) | func (m *MockProvider) UnsetAllBuildAuthFiles() error { method UnsetAllBuildEnv (line 376) | func (m *MockProvider) UnsetAllBuildEnv() error { method UnsetBuildAuthFile (line 390) | func (m *MockProvider) UnsetBuildAuthFile(name string) error { method UnsetBuildEnv (line 404) | func (m *MockProvider) UnsetBuildEnv(key string) error { method UnsetBuildEnvFromSecret (line 418) | func (m *MockProvider) UnsetBuildEnvFromSecret(key string) error { method UnsetBuildEnvFromShell (line 432) | func (m *MockProvider) UnsetBuildEnvFromShell(key string) error { method UnsetCACert (line 446) | func (m *MockProvider) UnsetCACert() error { method UnsetRegistry (line 460) | func (m *MockProvider) UnsetRegistry() error { method UpdateConfig (line 474) | func (m *MockProvider) UpdateConfig(updateFn func(*config.Config) erro... type MockProviderMockRecorder (line 28) | type MockProviderMockRecorder struct method GetAllBuildEnv (line 53) | func (mr *MockProviderMockRecorder) GetAllBuildEnv() *gomock.Call { method GetAllBuildEnvFromSecrets (line 67) | func (mr *MockProviderMockRecorder) GetAllBuildEnvFromSecrets() *gomoc... method GetAllBuildEnvFromShell (line 81) | func (mr *MockProviderMockRecorder) GetAllBuildEnvFromShell() *gomock.... method GetBuildEnv (line 96) | func (mr *MockProviderMockRecorder) GetBuildEnv(key any) *gomock.Call { method GetBuildEnvFromSecret (line 111) | func (mr *MockProviderMockRecorder) GetBuildEnvFromSecret(key any) *go... method GetBuildEnvFromShell (line 125) | func (mr *MockProviderMockRecorder) GetBuildEnvFromShell(key any) *gom... method GetCACert (line 141) | func (mr *MockProviderMockRecorder) GetCACert() *gomock.Call { method GetConfig (line 155) | func (mr *MockProviderMockRecorder) GetConfig() *gomock.Call { method GetConfiguredBuildAuthFiles (line 169) | func (mr *MockProviderMockRecorder) GetConfiguredBuildAuthFiles() *gom... method GetRegistryConfig (line 186) | func (mr *MockProviderMockRecorder) GetRegistryConfig() *gomock.Call { method GetRuntimeConfig (line 201) | func (mr *MockProviderMockRecorder) GetRuntimeConfig(transportType any... method IsBuildAuthFileConfigured (line 215) | func (mr *MockProviderMockRecorder) IsBuildAuthFileConfigured(name any... method LoadOrCreateConfig (line 230) | func (mr *MockProviderMockRecorder) LoadOrCreateConfig() *gomock.Call { method MarkBuildAuthFileConfigured (line 244) | func (mr *MockProviderMockRecorder) MarkBuildAuthFileConfigured(name a... method SetBuildEnv (line 258) | func (mr *MockProviderMockRecorder) SetBuildEnv(key, value any) *gomoc... method SetBuildEnvFromSecret (line 272) | func (mr *MockProviderMockRecorder) SetBuildEnvFromSecret(key, secretN... method SetBuildEnvFromShell (line 286) | func (mr *MockProviderMockRecorder) SetBuildEnvFromShell(key any) *gom... method SetCACert (line 300) | func (mr *MockProviderMockRecorder) SetCACert(certPath any) *gomock.Ca... method SetRegistryAPI (line 314) | func (mr *MockProviderMockRecorder) SetRegistryAPI(apiURL, allowPrivat... method SetRegistryFile (line 328) | func (mr *MockProviderMockRecorder) SetRegistryFile(registryPath any) ... method SetRegistryURL (line 342) | func (mr *MockProviderMockRecorder) SetRegistryURL(registryURL, allowP... method SetRuntimeConfig (line 356) | func (mr *MockProviderMockRecorder) SetRuntimeConfig(transportType, ar... method UnsetAllBuildAuthFiles (line 370) | func (mr *MockProviderMockRecorder) UnsetAllBuildAuthFiles() *gomock.C... method UnsetAllBuildEnv (line 384) | func (mr *MockProviderMockRecorder) UnsetAllBuildEnv() *gomock.Call { method UnsetBuildAuthFile (line 398) | func (mr *MockProviderMockRecorder) UnsetBuildAuthFile(name any) *gomo... method UnsetBuildEnv (line 412) | func (mr *MockProviderMockRecorder) UnsetBuildEnv(key any) *gomock.Call { method UnsetBuildEnvFromSecret (line 426) | func (mr *MockProviderMockRecorder) UnsetBuildEnvFromSecret(key any) *... method UnsetBuildEnvFromShell (line 440) | func (mr *MockProviderMockRecorder) UnsetBuildEnvFromShell(key any) *g... method UnsetCACert (line 454) | func (mr *MockProviderMockRecorder) UnsetCACert() *gomock.Call { method UnsetRegistry (line 468) | func (mr *MockProviderMockRecorder) UnsetRegistry() *gomock.Call { method UpdateConfig (line 482) | func (mr *MockProviderMockRecorder) UpdateConfig(updateFn any) *gomock... function NewMockProvider (line 33) | func NewMockProvider(ctrl *gomock.Controller) *MockProvider { FILE: pkg/config/registry.go constant RegistryTypeFile (line 28) | RegistryTypeFile = "file" constant RegistryTypeURL (line 30) | RegistryTypeURL = "url" constant RegistryTypeAPI (line 32) | RegistryTypeAPI = "api" constant RegistryTypeDefault (line 34) | RegistryTypeDefault = "default" function DetectRegistryType (line 38) | func DetectRegistryType(input string, allowPrivateIPs bool) (registryTyp... function probeRegistryURL (line 63) | func probeRegistryURL(url string, allowPrivateIPs bool) string { function isValidAPIResponse (line 120) | func isValidAPIResponse(resp *http.Response) bool { function isValidRegistryJSON (line 157) | func isValidRegistryJSON(client *http.Client, url string) error { function classifyNetworkError (line 188) | func classifyNetworkError(err error) error { function setRegistryURL (line 225) | func setRegistryURL(provider Provider, registryURL string, allowPrivateR... function setRegistryFile (line 281) | func setRegistryFile(provider Provider, registryPath string) error { function validateRegistryFileStructure (line 328) | func validateRegistryFileStructure(path string) error { function setRegistryAPI (line 352) | func setRegistryAPI(provider Provider, apiURL string, allowPrivateRegist... function unsetRegistry (line 405) | func unsetRegistry(provider Provider) error { function getRegistryConfig (line 420) | func getRegistryConfig(provider Provider) (url, localPath string, allowP... FILE: pkg/config/registry_test.go constant testAPIEndpoint (line 17) | testAPIEndpoint = "/v0.1/servers" function TestDetectRegistryType (line 19) | func TestDetectRegistryType(t *testing.T) { //nolint:tparallel,parallelt... function TestIsValidRegistryJSON (line 152) | func TestIsValidRegistryJSON(t *testing.T) { function TestValidateRegistryFileStructure_UpstreamFormat (line 281) | func TestValidateRegistryFileStructure_UpstreamFormat(t *testing.T) { function TestIsValidRegistryJSON_UpstreamFormat (line 359) | func TestIsValidRegistryJSON_UpstreamFormat(t *testing.T) { function TestProbeRegistryURL (line 417) | func TestProbeRegistryURL(t *testing.T) { //nolint:tparallel,paralleltes... FILE: pkg/config/singleton.go function SetSingletonConfig (line 19) | func SetSingletonConfig(cfg *Config) { function ResetSingleton (line 26) | func ResetSingleton() { function getSingletonConfig (line 34) | func getSingletonConfig() *Config { FILE: pkg/config/validation.go constant errFileNotFound (line 20) | errFileNotFound = "file not found or not accessible: %w" constant errFileRead (line 21) | errFileRead = "failed to read file: %w" constant errInvalidJSON (line 22) | errInvalidJSON = "invalid JSON format: %w" constant errInvalidURL (line 23) | errInvalidURL = "invalid URL format: %w" constant errInvalidURLScheme (line 24) | errInvalidURLScheme = "URL must start with %s://" constant errJSONExtensionOnly (line 25) | errJSONExtensionOnly = "file must be a JSON file (*.json)" constant errAbsolutePathResolve (line 26) | errAbsolutePathResolve = "failed to resolve absolute path: %w" function validateFilePath (line 32) | func validateFilePath(path string) (string, error) { function validateFileExists (line 44) | func validateFileExists(path string) error { function readFile (line 53) | func readFile(path string) ([]byte, error) { function validateJSONFile (line 64) | func validateJSONFile(path string) error { function validateURLScheme (line 88) | func validateURLScheme(rawURL string, allowInsecure bool) (*neturl.URL, ... function makeAbsolutePath (line 110) | func makeAbsolutePath(path string) (string, error) { FILE: pkg/config/validation_test.go function TestValidateFilePath (line 15) | func TestValidateFilePath(t *testing.T) { function TestValidateFileExists (line 82) | func TestValidateFileExists(t *testing.T) { function TestReadFile (line 132) | func TestReadFile(t *testing.T) { function TestValidateJSONFile (line 189) | func TestValidateJSONFile(t *testing.T) { function TestValidateURLScheme (line 286) | func TestValidateURLScheme(t *testing.T) { function TestMakeAbsolutePath (line 371) | func TestMakeAbsolutePath(t *testing.T) { FILE: pkg/container/docker/client.go constant DnsImage (line 43) | DnsImage = "dockurr/dnsmasq:latest" constant RuntimeName (line 46) | RuntimeName = "docker" function IsAvailable (line 49) | func IsAvailable() bool { constant ToolhiveAuxiliaryWorkloadLabel (line 59) | ToolhiveAuxiliaryWorkloadLabel = "toolhive-auxiliary-workload" constant LabelValueTrue (line 60) | LabelValueTrue = "true" type dockerAPI (line 65) | type dockerAPI interface type deployOps (line 83) | type deployOps interface type Client (line 129) | type Client struct method createEgressSquidContainer (line 161) | func (c *Client) createEgressSquidContainer( method DeployWorkload (line 184) | func (c *Client) DeployWorkload( method ListWorkloads (line 338) | func (c *Client) ListWorkloads(ctx context.Context) ([]runtime.Contain... method StopWorkload (line 396) | func (c *Client) StopWorkload(ctx context.Context, workloadName string... method RemoveWorkload (line 445) | func (c *Client) RemoveWorkload(ctx context.Context, workloadName stri... method GetWorkloadLogs (line 484) | func (c *Client) GetWorkloadLogs(ctx context.Context, workloadName str... method IsWorkloadRunning (line 542) | func (c *Client) IsWorkloadRunning(ctx context.Context, workloadName s... method GetWorkloadInfo (line 557) | func (c *Client) GetWorkloadInfo(ctx context.Context, workloadName str... method AttachToWorkload (line 612) | func (c *Client) AttachToWorkload(ctx context.Context, workloadName st... method IsRunning (line 656) | func (c *Client) IsRunning(ctx context.Context) error { method addReadOnlyMounts (line 669) | func (*Client) addReadOnlyMounts( method addReadWriteMounts (line 707) | func (*Client) addReadWriteMounts( method getPermissionConfigFromProfile (line 828) | func (c *Client) getPermissionConfigFromProfile( method findExistingContainer (line 866) | func (c *Client) findExistingContainer(ctx context.Context, name strin... method handleExistingContainer (line 1104) | func (c *Client) handleExistingContainer( method createNetwork (line 1144) | func (c *Client) createNetwork( method getDockerBridgeGatewayIP (line 1185) | func (c *Client) getDockerBridgeGatewayIP(ctx context.Context) string { method deleteNetwork (line 1201) | func (c *Client) deleteNetwork(ctx context.Context, name string) error { method removeContainer (line 1232) | func (c *Client) removeContainer(ctx context.Context, containerID stri... method removeProxyContainers (line 1248) | func (c *Client) removeProxyContainers( method createContainer (line 1363) | func (c *Client) createContainer( method createDnsContainer (line 1420) | func (c *Client) createDnsContainer(ctx context.Context, dnsContainerN... method createMcpContainer (line 1482) | func (c *Client) createMcpContainer( method createIngressContainer (line 1581) | func (c *Client) createIngressContainer(ctx context.Context, container... method createExternalNetworks (line 1638) | func (c *Client) createExternalNetworks(ctx context.Context) error { method stopProxyContainer (line 1693) | func (c *Client) stopProxyContainer(ctx context.Context, containerName... method deleteNetworks (line 1707) | func (c *Client) deleteNetworks(ctx context.Context, containerName str... method findContainerByLabel (line 1752) | func (c *Client) findContainerByLabel(ctx context.Context, workloadNam... method findContainerByExactName (line 1788) | func (c *Client) findContainerByExactName(ctx context.Context, workloa... method inspectContainerByName (line 1820) | func (c *Client) inspectContainerByName(ctx context.Context, workloadN... function NewClient (line 139) | func NewClient(ctx context.Context) (*Client, error) { function addIgnoreOverlays (line 759) | func addIgnoreOverlays(config *runtime.PermissionConfig, sourceDir, cont... function convertRelativePathToAbsolute (line 804) | func convertRelativePathToAbsolute(source string, mountDecl permissions.... function compareBasicConfig (line 892) | func compareBasicConfig(existing *container.InspectResponse, desired *co... function compareEnvVars (line 930) | func compareEnvVars(existingEnv, desiredEnv []string) bool { function envSliceToMap (line 947) | func envSliceToMap(env []string) map[string]string { function compareLabels (line 959) | func compareLabels(existingLabels, desiredLabels map[string]string) bool { function compareHostConfig (line 971) | func compareHostConfig(existing *container.InspectResponse, desired *con... function compareStringSlices (line 1004) | func compareStringSlices(existing, desired []string) bool { function compareMounts (line 1017) | func compareMounts(existing *container.InspectResponse, desired *contain... function comparePortConfig (line 1040) | func comparePortConfig(existing *container.InspectResponse, desired *con... function compareContainerConfig (line 1073) | func compareContainerConfig( function convertEnvVars (line 1296) | func convertEnvVars(envVars map[string]string) []string { function convertMounts (line 1305) | func convertMounts(mounts []runtime.Mount) []mount.Mount { function setupExposedPorts (line 1320) | func setupExposedPorts(config *container.Config, exposedPorts map[string... function setupPortBindings (line 1338) | func setupPortBindings(hostConfig *container.HostConfig, portBindings ma... function addEgressEnvVars (line 1567) | func addEgressEnvVars(envVars map[string]string, egressContainerName str... function extractFirstPort (line 1619) | func extractFirstPort(options *runtime.DeployWorkloadOptions) (int, erro... function generatePortBindings (line 1648) | func generatePortBindings(labels map[string]string, function dockerToDomainStatus (line 1734) | func dockerToDomainStatus(status string) runtime.WorkloadStatus { FILE: pkg/container/docker/client_config_test.go function TestSetupExposedPorts_SetsPorts (line 18) | func TestSetupExposedPorts_SetsPorts(t *testing.T) { function TestSetupExposedPorts_EmptyNoChange (line 41) | func TestSetupExposedPorts_EmptyNoChange(t *testing.T) { function TestSetupPortBindings_SetsBindings (line 51) | func TestSetupPortBindings_SetsBindings(t *testing.T) { function TestConvertMounts_BindMounts (line 76) | func TestConvertMounts_BindMounts(t *testing.T) { function TestCompareEnvVars_SubsetMatches (line 97) | func TestCompareEnvVars_SubsetMatches(t *testing.T) { function TestCompareLabels_SubsetMatches (line 112) | func TestCompareLabels_SubsetMatches(t *testing.T) { function TestCompareHostConfig_EqualAndMismatch (line 122) | func TestCompareHostConfig_EqualAndMismatch(t *testing.T) { function TestComparePortConfig_EqualAndMismatch (line 153) | func TestComparePortConfig_EqualAndMismatch(t *testing.T) { function TestCompareContainerConfig_AllMatch (line 190) | func TestCompareContainerConfig_AllMatch(t *testing.T) { FILE: pkg/container/docker/client_create_test.go function TestCreateMcpContainer_Isolated_WiresConfigAndNetworks (line 21) | func TestCreateMcpContainer_Isolated_WiresConfigAndNetworks(t *testing.T) { function TestCreateMcpContainer_NonIsolated_UsesExternalNetwork (line 125) | func TestCreateMcpContainer_NonIsolated_UsesExternalNetwork(t *testing.T) { function TestCreateContainer_CreateAndStart_New (line 163) | func TestCreateContainer_CreateAndStart_New(t *testing.T) { function TestCreateContainer_ReuseExisting_WhenConfigMatchesAndStartIfStopped (line 207) | func TestCreateContainer_ReuseExisting_WhenConfigMatchesAndStartIfStoppe... function TestCreateContainer_Mismatch_RemovesAndRecreates (line 256) | func TestCreateContainer_Mismatch_RemovesAndRecreates(t *testing.T) { function TestCreateMcpContainer_InvalidExposedPort_ReturnsError (line 309) | func TestCreateMcpContainer_InvalidExposedPort_ReturnsError(t *testing.T) { function TestCreateMcpContainer_InvalidPortBinding_ReturnsError (line 349) | func TestCreateMcpContainer_InvalidPortBinding_ReturnsError(t *testing.T) { function TestCreateMcpContainer_NoAdditionalDNS_DNSNotSet (line 391) | func TestCreateMcpContainer_NoAdditionalDNS_DNSNotSet(t *testing.T) { function TestCreateContainer_ListError_Propagates (line 429) | func TestCreateContainer_ListError_Propagates(t *testing.T) { function TestCreateContainer_InspectError_Propagates (line 445) | func TestCreateContainer_InspectError_Propagates(t *testing.T) { function TestCreateContainer_StartExistingError_Wrapped (line 466) | func TestCreateContainer_StartExistingError_Wrapped(t *testing.T) { function TestCreateContainer_CreateError_Wrapped (line 497) | func TestCreateContainer_CreateError_Wrapped(t *testing.T) { function TestCreateContainer_StartError_Wrapped (line 517) | func TestCreateContainer_StartError_Wrapped(t *testing.T) { function TestCreateContainer_RemoveError_Propagates (line 540) | func TestCreateContainer_RemoveError_Propagates(t *testing.T) { FILE: pkg/container/docker/client_deploy_test.go type fakeDeployOps (line 20) | type fakeDeployOps struct method createExternalNetworks (line 64) | func (f *fakeDeployOps) createExternalNetworks(_ context.Context) error { method createNetwork (line 69) | func (f *fakeDeployOps) createNetwork(_ context.Context, name string, ... method createDnsContainer (line 78) | func (f *fakeDeployOps) createDnsContainer(_ context.Context, _ string... method createEgressSquidContainer (line 83) | func (f *fakeDeployOps) createEgressSquidContainer(_ context.Context, ... method createMcpContainer (line 89) | func (f *fakeDeployOps) createMcpContainer( method createIngressContainer (line 120) | func (f *fakeDeployOps) createIngressContainer(_ context.Context, _ st... function newClientWithOps (line 129) | func newClientWithOps(ops deployOps) *Client { function opsToFakeDockerAPI (line 137) | func opsToFakeDockerAPI() dockerAPI { function TestDeployWorkload_Stdio_IsolatedNetwork_SkipsIngressAndSetsEgressEnv (line 141) | func TestDeployWorkload_Stdio_IsolatedNetwork_SkipsIngressAndSetsEgressE... function TestDeployWorkload_SSE_IsolatedNetwork_ReturnsIngressPortAndPassesDNS (line 201) | func TestDeployWorkload_SSE_IsolatedNetwork_ReturnsIngressPortAndPassesD... function TestDeployWorkload_NoIsolation_ReturnsPortFromBindingsAndSkipsAuxContainers (line 241) | func TestDeployWorkload_NoIsolation_ReturnsPortFromBindingsAndSkipsAuxCo... function TestDeployWorkload_AllowDockerGateway_ForwardedToEgress (line 287) | func TestDeployWorkload_AllowDockerGateway_ForwardedToEgress(t *testing.... function TestDeployWorkload_UnsupportedTransport_PropagatesError (line 315) | func TestDeployWorkload_UnsupportedTransport_PropagatesError(t *testing.... FILE: pkg/container/docker/client_final_port_linux.go function calculateFinalPort (line 8) | func calculateFinalPort(hostPort int, firstPortInt int, networkName stri... FILE: pkg/container/docker/client_final_port_other.go function calculateFinalPort (line 8) | func calculateFinalPort(hostPort int, _ int, _ string) int { FILE: pkg/container/docker/client_helpers_test.go function TestDockerToDomainStatus (line 16) | func TestDockerToDomainStatus(t *testing.T) { function TestExtractFirstPort (line 43) | func TestExtractFirstPort(t *testing.T) { function TestGeneratePortBindings_AuxiliaryKeepsHostPort (line 70) | func TestGeneratePortBindings_AuxiliaryKeepsHostPort(t *testing.T) { function TestGeneratePortBindings_NonAuxiliaryAssignsRandomPortAndMutatesFirstBinding (line 90) | func TestGeneratePortBindings_NonAuxiliaryAssignsRandomPortAndMutatesFir... function TestGeneratePortBindings_NonAuxiliaryKeepsExplicitHostPort (line 121) | func TestGeneratePortBindings_NonAuxiliaryKeepsExplicitHostPort(t *testi... function TestGeneratePortBindings_NonAuxiliaryAssignsRandomPortForZero (line 139) | func TestGeneratePortBindings_NonAuxiliaryAssignsRandomPortForZero(t *te... function TestAddEgressEnvVars_SetsAll (line 158) | func TestAddEgressEnvVars_SetsAll(t *testing.T) { function TestAddEgressEnvVars_PreservesExistingAndOverrides (line 173) | func TestAddEgressEnvVars_PreservesExistingAndOverrides(t *testing.T) { FILE: pkg/container/docker/client_info_test.go function TestGetWorkloadInfo_MapsInspectResponseToDomain (line 19) | func TestGetWorkloadInfo_MapsInspectResponseToDomain(t *testing.T) { function TestIsWorkloadRunning_TrueWhenDockerReportsRunning (line 84) | func TestIsWorkloadRunning_TrueWhenDockerReportsRunning(t *testing.T) { function TestGetWorkloadInfo_PortParseAndCreatedFallback (line 132) | func TestGetWorkloadInfo_PortParseAndCreatedFallback(t *testing.T) { FILE: pkg/container/docker/client_list_test.go function TestListWorkloads_FiltersAuxiliaryAndMapsFields (line 18) | func TestListWorkloads_FiltersAuxiliaryAndMapsFields(t *testing.T) { FILE: pkg/container/docker/client_partial_match_test.go function TestFindExistingContainer_RejectsPartialMatches (line 18) | func TestFindExistingContainer_RejectsPartialMatches(t *testing.T) { function TestFindContainerByExactName_RejectsPartialMatches (line 126) | func TestFindContainerByExactName_RejectsPartialMatches(t *testing.T) { function TestPartialMatchingPrevention_IntegrationScenarios (line 246) | func TestPartialMatchingPrevention_IntegrationScenarios(t *testing.T) { FILE: pkg/container/docker/client_stop_test.go function TestStopWorkload_NotRunning_ReturnsNil (line 17) | func TestStopWorkload_NotRunning_ReturnsNil(t *testing.T) { function TestStopWorkload_Running_CallsContainerStop (line 69) | func TestStopWorkload_Running_CallsContainerStop(t *testing.T) { function TestStopWorkload_NotFound_ReturnsNil (line 116) | func TestStopWorkload_NotFound_ReturnsNil(t *testing.T) { FILE: pkg/container/docker/mocks_test.go type fakeDockerAPI (line 17) | type fakeDockerAPI struct method ContainerList (line 28) | func (f *fakeDockerAPI) ContainerList(ctx context.Context, options con... method ContainerInspect (line 35) | func (f *fakeDockerAPI) ContainerInspect(ctx context.Context, id strin... method ContainerStop (line 42) | func (f *fakeDockerAPI) ContainerStop(ctx context.Context, containerID... method ContainerCreate (line 49) | func (f *fakeDockerAPI) ContainerCreate(ctx context.Context, config *c... method ContainerStart (line 56) | func (f *fakeDockerAPI) ContainerStart(ctx context.Context, containerI... method ContainerRemove (line 63) | func (f *fakeDockerAPI) ContainerRemove(ctx context.Context, container... type fakeImageManager (line 71) | type fakeImageManager struct method BuildImage (line 76) | func (f *fakeImageManager) BuildImage(_ context.Context, _, image stri... method ImageExists (line 81) | func (f *fakeImageManager) ImageExists(_ context.Context, image string... method PullImage (line 85) | func (f *fakeImageManager) PullImage(_ context.Context, image string) ... method hasImageAvailable (line 97) | func (f *fakeImageManager) hasImageAvailable(image string) bool { method hasImagePulled (line 106) | func (f *fakeImageManager) hasImagePulled(image string) bool { method makeImagePulled (line 114) | func (f *fakeImageManager) makeImagePulled(imageName string) { FILE: pkg/container/docker/register.go function init (line 12) | func init() { FILE: pkg/container/docker/sdk/client_unix.go function newPlatformClient (line 26) | func newPlatformClient(socketPath string) (*http.Client, []client.Opt) { function findPlatformContainerSocket (line 47) | func findPlatformContainerSocket(rt runtime.Type) (string, runtime.Type,... function findPodmanSocket (line 104) | func findPodmanSocket() (string, error) { function findDockerSocket (line 175) | func findDockerSocket() (string, error) { function findColimaSocket (line 250) | func findColimaSocket() (string, error) { FILE: pkg/container/docker/sdk/client_unix_test.go function clearSocketEnv (line 22) | func clearSocketEnv(t *testing.T) { function redirectSystemDockerSocket (line 32) | func redirectSystemDockerSocket(t *testing.T) { function TestFindDockerSocket_DockerDesktopOnLinux (line 39) | func TestFindDockerSocket_DockerDesktopOnLinux(t *testing.T) { function TestFindPlatformContainerSocket_DockerEnvOverrideWins (line 56) | func TestFindPlatformContainerSocket_DockerEnvOverrideWins(t *testing.T) { function TestFindPlatformContainerSocket_NotFound (line 79) | func TestFindPlatformContainerSocket_NotFound(t *testing.T) { FILE: pkg/container/docker/sdk/client_windows.go constant DockerDesktopWindowsPipePath (line 28) | DockerDesktopWindowsPipePath = `\\.\pipe\docker_engine` constant PodmanDesktopWindowsPipePath (line 31) | PodmanDesktopWindowsPipePath = `\\.\pipe\podman-api` constant pipeConnectionTimeout (line 35) | pipeConnectionTimeout = 2 * time.Second function newPlatformClient (line 38) | func newPlatformClient(pipePath string) (*http.Client, []client.Opt) { function findPlatformContainerSocket (line 62) | func findPlatformContainerSocket(rt runtime.Type) (string, runtime.Type,... FILE: pkg/container/docker/sdk/factory.go constant DockerSocketEnv (line 25) | DockerSocketEnv = "TOOLHIVE_DOCKER_SOCKET" constant PodmanSocketEnv (line 27) | PodmanSocketEnv = "TOOLHIVE_PODMAN_SOCKET" constant ColimaSocketEnv (line 29) | ColimaSocketEnv = "TOOLHIVE_COLIMA_SOCKET" constant PodmanSocketPath (line 35) | PodmanSocketPath = "/var/run/podman/podman.sock" constant PodmanXDGRuntimeSocketPath (line 37) | PodmanXDGRuntimeSocketPath = "podman/podman.sock" constant DockerSocketPath (line 39) | DockerSocketPath = "/var/run/docker.sock" constant DockerDesktopMacSocketPath (line 41) | DockerDesktopMacSocketPath = ".docker/run/docker.sock" constant DockerDesktopLinuxSocketPath (line 45) | DockerDesktopLinuxSocketPath = ".docker/desktop/docker.sock" constant RancherDesktopMacSocketPath (line 47) | RancherDesktopMacSocketPath = ".rd/docker.sock" constant OrbStackMacSocketPath (line 49) | OrbStackMacSocketPath = ".orbstack/run/docker.sock" constant ColimaDesktopMacSocketPath (line 51) | ColimaDesktopMacSocketPath = ".colima/default/docker.sock" function NewDockerClient (line 57) | func NewDockerClient(ctx context.Context) (*client.Client, string, runti... function newClientWithSocketPath (line 92) | func newClientWithSocketPath(ctx context.Context, socketPath string) (*c... function findContainerSocket (line 112) | func findContainerSocket(rt runtime.Type) (string, runtime.Type, error) { FILE: pkg/container/docker/squid.go constant defaultSquidImage (line 22) | defaultSquidImage = "ghcr.io/stacklok/toolhive/egress-proxy:latest" constant dockerGatewayHostname (line 28) | dockerGatewayHostname = "host.docker.internal" constant dockerAltGatewayHostname (line 29) | dockerAltGatewayHostname = "gateway.docker.internal" constant dockerDefaultBridgeGatewayIP (line 30) | dockerDefaultBridgeGatewayIP = "172.17.0.1" type proxyDirection (line 33) | type proxyDirection constant proxyIngress (line 36) | proxyIngress proxyDirection = iota constant proxyEgress (line 37) | proxyEgress function createIngressSquidContainer (line 41) | func createIngressSquidContainer( function createEgressSquidContainer (line 72) | func createEgressSquidContainer( function createSquidContainer (line 102) | func createSquidContainer( function writeDockerGatewayDenyRules (line 199) | func writeDockerGatewayDenyRules(sb *strings.Builder, gatewayIP string) { function createTempEgressSquidConf (line 210) | func createTempEgressSquidConf( function writeCommonConfig (line 259) | func writeCommonConfig(sb *strings.Builder, hostnameBase string, directi... function writeOutboundACLs (line 284) | func writeOutboundACLs(sb *strings.Builder, outbound *permissions.Outbou... function writeHttpAccessRules (line 302) | func writeHttpAccessRules(sb *strings.Builder, outbound *permissions.Out... function getSquidImage (line 316) | func getSquidImage() string { function createTempIngressSquidConf (line 323) | func createTempIngressSquidConf( function writeIngressProxyConfig (line 359) | func writeIngressProxyConfig( FILE: pkg/container/docker/squid_test.go function TestCreateSquidContainer_Basics (line 24) | func TestCreateSquidContainer_Basics(t *testing.T) { function TestCreateTempEgressSquidConf_AllowAllWhenNil (line 88) | func TestCreateTempEgressSquidConf_AllowAllWhenNil(t *testing.T) { function TestCreateTempEgressSquidConf_AllowAllWhenInsecure (line 118) | func TestCreateTempEgressSquidConf_AllowAllWhenInsecure(t *testing.T) { function TestCreateTempEgressSquidConf_WithACLs (line 153) | func TestCreateTempEgressSquidConf_WithACLs(t *testing.T) { function TestCreateTempIngressSquidConf_Basics (line 192) | func TestCreateTempIngressSquidConf_Basics(t *testing.T) { function TestCreateTempIngressSquidConf_WithOverrideHosts (line 216) | func TestCreateTempIngressSquidConf_WithOverrideHosts(t *testing.T) { function TestCreateTempIngressSquidConf_EmptyInboundHosts (line 259) | func TestCreateTempIngressSquidConf_EmptyInboundHosts(t *testing.T) { function TestCreateTempEgressSquidConf_DockerGatewayBlocking (line 295) | func TestCreateTempEgressSquidConf_DockerGatewayBlocking(t *testing.T) { function TestGetSquidImage (line 405) | func TestGetSquidImage(t *testing.T) { function TestTempFilesWrittenToSystemTempDir (line 427) | func TestTempFilesWrittenToSystemTempDir(t *testing.T) { FILE: pkg/container/factory.go type Factory (line 20) | type Factory struct method Register (line 47) | func (f *Factory) Register(info *runtime.Info) error { method Unregister (line 66) | func (f *Factory) Unregister(name string) { method GetRuntime (line 73) | func (f *Factory) GetRuntime(name string) (*runtime.Info, bool) { method ListRuntimes (line 81) | func (f *Factory) ListRuntimes() map[string]*runtime.Info { method ListAvailableRuntimes (line 93) | func (f *Factory) ListAvailableRuntimes() map[string]*runtime.Info { method Create (line 109) | func (f *Factory) Create(ctx context.Context) (runtime.Runtime, error) { method CreateWithRuntimeName (line 115) | func (f *Factory) CreateWithRuntimeName(ctx context.Context, runtimeNa... method autoDetectRuntime (line 185) | func (f *Factory) autoDetectRuntime() (string, *runtime.Info) { method Clear (line 211) | func (f *Factory) Clear() { method getRuntimeFromEnv (line 220) | func (*Factory) getRuntimeFromEnv() string { function NewFactory (line 28) | func NewFactory() *Factory { function NewFactoryFromRegistry (line 34) | func NewFactoryFromRegistry(reg *runtime.Registry) *Factory { function NewMonitor (line 158) | func NewMonitor(rt runtime.Runtime, containerName string) runtime.Monitor { function CheckRuntimeAvailable (line 164) | func CheckRuntimeAvailable() error { FILE: pkg/container/factory_test.go function noopInit (line 16) | func noopInit(_ context.Context) (runtime.Runtime, error) { function TestNewFactoryFromRegistry_SeedsFromRegistry (line 20) | func TestNewFactoryFromRegistry_SeedsFromRegistry(t *testing.T) { function TestNewFactoryFromRegistry_EmptyRegistryYieldsEmptyFactory (line 35) | func TestNewFactoryFromRegistry_EmptyRegistryYieldsEmptyFactory(t *testi... function TestAutoDetectRuntime_RespectsPriority (line 43) | func TestAutoDetectRuntime_RespectsPriority(t *testing.T) { function TestAutoDetectRuntime_SkipsUnavailable (line 67) | func TestAutoDetectRuntime_SkipsUnavailable(t *testing.T) { function TestAutoDetectRuntime_NilDetectorMeansAvailable (line 87) | func TestAutoDetectRuntime_NilDetectorMeansAvailable(t *testing.T) { function TestAutoDetectRuntime_NoneAvailable (line 103) | func TestAutoDetectRuntime_NoneAvailable(t *testing.T) { FILE: pkg/container/images/image.go type ImageManager (line 19) | type ImageManager interface function NewImageManager (line 32) | func NewImageManager(ctx context.Context) ImageManager { type NoopImageManager (line 50) | type NoopImageManager struct method ImageExists (line 53) | func (*NoopImageManager) ImageExists(_ context.Context, _ string) (boo... method PullImage (line 58) | func (*NoopImageManager) PullImage(_ context.Context, _ string) error { method BuildImage (line 63) | func (*NoopImageManager) BuildImage(_ context.Context, _, _ string) er... FILE: pkg/container/images/keychain.go type envKeychain (line 14) | type envKeychain struct method Resolve (line 17) | func (*envKeychain) Resolve(target authn.Resource) (authn.Authenticato... type compositeKeychain (line 45) | type compositeKeychain struct method Resolve (line 50) | func (c *compositeKeychain) Resolve(target authn.Resource) (authn.Auth... function NewCompositeKeychain (line 69) | func NewCompositeKeychain() authn.Keychain { FILE: pkg/container/images/registry.go type RegistryImageManager (line 31) | type RegistryImageManager struct method ImageExists (line 70) | func (r *RegistryImageManager) ImageExists(_ context.Context, imageNam... method PullImage (line 87) | func (r *RegistryImageManager) PullImage(ctx context.Context, imageNam... method BuildImage (line 140) | func (r *RegistryImageManager) BuildImage(ctx context.Context, context... method WithKeychain (line 145) | func (r *RegistryImageManager) WithKeychain(keychain authn.Keychain) *... method WithPlatform (line 151) | func (r *RegistryImageManager) WithPlatform(platform *v1.Platform) *Re... function NewRegistryImageManager (line 39) | func NewRegistryImageManager(dockerClient *client.Client) *RegistryImage... function getDefaultPlatform (line 62) | func getDefaultPlatform() *v1.Platform { function buildDockerImage (line 157) | func buildDockerImage(ctx context.Context, dockerClient *client.Client, ... function createTarFromDir (line 221) | func createTarFromDir(srcDir string, writer io.Writer) error { function parseBuildOutput (line 286) | func parseBuildOutput(reader io.Reader, writer io.Writer) error { FILE: pkg/container/kubernetes/client.go constant UnknownStatus (line 45) | UnknownStatus = "unknown" constant mcpContainerName (line 47) | mcpContainerName = "mcp" constant defaultNamespace (line 49) | defaultNamespace = "default" constant serviceFieldManager (line 51) | serviceFieldManager = "toolhive-container-manager" constant RunConfigMCPServerGenerationAnnotation (line 60) | RunConfigMCPServerGenerationAnnotation = "toolhive.stacklok.dev/mcpserve... constant RuntimeName (line 64) | RuntimeName = "kubernetes" constant attachRetryTimeout (line 71) | attachRetryTimeout = 90 * time.Second constant attachMaxRetryInterval (line 74) | attachMaxRetryInterval = 15 * time.Second constant attachInitialRetryInterval (line 77) | attachInitialRetryInterval = 1 * time.Second type Client (line 81) | type Client struct method AttachToWorkload (line 155) | func (c *Client) AttachToWorkload(ctx context.Context, workloadName st... method GetWorkloadLogs (line 277) | func (c *Client) GetWorkloadLogs(ctx context.Context, workloadName str... method DeployWorkload (line 343) | func (c *Client) DeployWorkload(ctx context.Context, method applyStatefulSet (line 462) | func (c *Client) applyStatefulSet( method shouldSkipStatefulSetApply (line 495) | func (c *Client) shouldSkipStatefulSetApply( method ensureBackendServices (line 552) | func (c *Client) ensureBackendServices( method GetWorkloadInfo (line 587) | func (c *Client) GetWorkloadInfo(ctx context.Context, workloadName str... method IsWorkloadRunning (line 655) | func (c *Client) IsWorkloadRunning(ctx context.Context, workloadName s... method ListWorkloads (line 673) | func (c *Client) ListWorkloads(ctx context.Context) ([]runtime.Contain... method RemoveWorkload (line 741) | func (c *Client) RemoveWorkload(ctx context.Context, workloadName stri... method StopWorkload (line 762) | func (*Client) StopWorkload(_ context.Context, _ string) error { method IsRunning (line 768) | func (c *Client) IsRunning(ctx context.Context) error { method applyService (line 1048) | func (c *Client) applyService( method createHeadlessService (line 1129) | func (c *Client) createHeadlessService( method createMCPService (line 1153) | func (c *Client) createMCPService( method getCurrentNamespace (line 1537) | func (c *Client) getCurrentNamespace() string { function NewClient (line 100) | func NewClient(_ context.Context) (*Client, error) { function IsAvailable (line 111) | func IsAvailable() bool { function NewClientWithConfig (line 117) | func NewClientWithConfig(clientset kubernetes.Interface, config *rest.Co... function NewClientWithConfigAndPlatformDetector (line 128) | func NewClientWithConfigAndPlatformDetector( function runConfigGeneration (line 453) | func runConfigGeneration(options *runtime.DeployWorkloadOptions) int64 { function buildStatefulSetSpec (line 533) | func buildStatefulSetSpec( function isStatefulSetReady (line 787) | func isStatefulSetReady(desiredGeneration int64, currentSts *appsv1.Stat... function waitForStatefulSetReady (line 800) | func waitForStatefulSetReady( function parsePortString (line 853) | func parsePortString(portStr string) (int, error) { function configureContainerPorts (line 864) | func configureContainerPorts( function validatePortNumber (line 929) | func validatePortNumber(portNum int) error { function createServicePortConfig (line 937) | func createServicePortConfig(portNum int) *corev1apply.ServicePortApplyC... function processExposedPorts (line 948) | func processExposedPorts( function createServicePorts (line 973) | func createServicePorts(options *runtime.DeployWorkloadOptions) ([]*core... type serviceConfig (line 1032) | type serviceConfig struct constant mcpServiceSessionAffinityTimeout (line 1148) | mcpServiceSessionAffinityTimeout int32 = 1800 function extractPortMappingsFromPod (line 1173) | func extractPortMappingsFromPod(pod *corev1.Pod) []runtime.PortMapping { function transportTypeRequiresBackendServices (line 1190) | func transportTypeRequiresBackendServices(transportType string) bool { function extractPortMappingsFromService (line 1195) | func extractPortMappingsFromService(service *corev1.Service, existingPor... function applyPodTemplatePatch (line 1228) | func applyPodTemplatePatch( function createPodTemplateFromPatch (line 1271) | func createPodTemplateFromPatch(patchJSON string) (*corev1apply.PodTempl... function ensurePodTemplateConfig (line 1290) | func ensurePodTemplateConfig( function getMCPContainer (line 1367) | func getMCPContainer( function ensureObjectMetaApplyConfigurationExists (line 1390) | func ensureObjectMetaApplyConfigurationExists( function configureContainer (line 1403) | func configureContainer( function configureMCPContainer (line 1483) | func configureMCPContainer( FILE: pkg/container/kubernetes/client_test.go type mockPlatformDetector (line 35) | type mockPlatformDetector struct method DetectPlatform (line 40) | func (m *mockPlatformDetector) DetectPlatform(_ *rest.Config) (Platfor... function TestCreateContainerWithPodTemplatePatch (line 45) | func TestCreateContainerWithPodTemplatePatch(t *testing.T) { function TestCreatePodTemplateFromPatch (line 289) | func TestCreatePodTemplateFromPatch(t *testing.T) { function TestEnsurePodTemplateConfig (line 373) | func TestEnsurePodTemplateConfig(t *testing.T) { function TestGetMCPContainer (line 422) | func TestGetMCPContainer(t *testing.T) { function TestConfigureMCPContainer (line 491) | func TestConfigureMCPContainer(t *testing.T) { function TestCreateContainerWithMCP (line 621) | func TestCreateContainerWithMCP(t *testing.T) { function TestDeployWorkloadCreatesBackendServices (line 792) | func TestDeployWorkloadCreatesBackendServices(t *testing.T) { function TestAttachToWorkloadExitFunc (line 899) | func TestAttachToWorkloadExitFunc(t *testing.T) { function TestClientExitFuncDefaultsToNil (line 933) | func TestClientExitFuncDefaultsToNil(t *testing.T) { function TestAttachToWorkloadNoPodFound (line 947) | func TestAttachToWorkloadNoPodFound(t *testing.T) { function TestAttachRetryConstants (line 972) | func TestAttachRetryConstants(t *testing.T) { function TestApplyPodTemplatePatchAnnotations (line 992) | func TestApplyPodTemplatePatchAnnotations(t *testing.T) { function Test_isStatefulSetReady (line 1103) | func Test_isStatefulSetReady(t *testing.T) { function TestDeployWorkloadBackendReplicas (line 1281) | func TestDeployWorkloadBackendReplicas(t *testing.T) { function TestDeployWorkload_RunConfigMCPServerGenerationGate (line 1372) | func TestDeployWorkload_RunConfigMCPServerGenerationGate(t *testing.T) { FILE: pkg/container/kubernetes/common.go type Platform (line 20) | type Platform method String (line 30) | func (p Platform) String() string { constant PlatformKubernetes (line 24) | PlatformKubernetes Platform = iota constant PlatformOpenShift (line 26) | PlatformOpenShift type PlatformDetector (line 42) | type PlatformDetector interface type DefaultPlatformDetector (line 47) | type DefaultPlatformDetector struct method DetectPlatform (line 63) | func (d *DefaultPlatformDetector) DetectPlatform(config *rest.Config) ... constant defaultRetries (line 56) | defaultRetries = 10 constant defaultRetryInterval (line 59) | defaultRetryInterval = 3 * time.Second function NewDefaultPlatformDetector (line 126) | func NewDefaultPlatformDetector() PlatformDetector { FILE: pkg/container/kubernetes/common_test.go function TestPlatformString (line 13) | func TestPlatformString(t *testing.T) { function TestNewDefaultPlatformDetector (line 47) | func TestNewDefaultPlatformDetector(t *testing.T) { function TestDefaultPlatformDetector_DetectPlatform (line 55) | func TestDefaultPlatformDetector_DetectPlatform(t *testing.T) { FILE: pkg/container/kubernetes/configmap.go type RunConfigMapReader (line 22) | type RunConfigMapReader interface type ConfigMapReader (line 30) | type ConfigMapReader struct method GetRunConfigMap (line 61) | func (c *ConfigMapReader) GetRunConfigMap(ctx context.Context, configM... function NewConfigMapReaderWithClient (line 36) | func NewConfigMapReaderWithClient(clientset kubernetes.Interface) *Confi... function NewConfigMapReader (line 46) | func NewConfigMapReader() (*ConfigMapReader, error) { function parseConfigMapRef (line 88) | func parseConfigMapRef(ref string) (namespace, name string, err error) { FILE: pkg/container/kubernetes/configmap_test.go function TestNewConfigMapReaderWithClient (line 19) | func TestNewConfigMapReaderWithClient(t *testing.T) { function TestNewConfigMapReader (line 53) | func TestNewConfigMapReader(t *testing.T) { function TestConfigMapReader_GetRunConfigMap (line 75) | func TestConfigMapReader_GetRunConfigMap(t *testing.T) { function TestConfigMapReader_GetRunConfigMap_ContextCancellation (line 297) | func TestConfigMapReader_GetRunConfigMap_ContextCancellation(t *testing.... function TestConfigMapReader_InterfaceCompliance (line 332) | func TestConfigMapReader_InterfaceCompliance(t *testing.T) { function TestConfigMapReader_MultipleCallsWithSameClient (line 353) | func TestConfigMapReader_MultipleCallsWithSameClient(t *testing.T) { function generateLargeJSON (line 405) | func generateLargeJSON() string { FILE: pkg/container/kubernetes/mocks/mock_configmap.go type MockRunConfigMapReader (line 20) | type MockRunConfigMapReader struct method EXPECT (line 39) | func (m *MockRunConfigMapReader) EXPECT() *MockRunConfigMapReaderMockR... method GetRunConfigMap (line 44) | func (m *MockRunConfigMapReader) GetRunConfigMap(ctx context.Context, ... type MockRunConfigMapReaderMockRecorder (line 27) | type MockRunConfigMapReaderMockRecorder struct method GetRunConfigMap (line 53) | func (mr *MockRunConfigMapReaderMockRecorder) GetRunConfigMap(ctx, con... function NewMockRunConfigMapReader (line 32) | func NewMockRunConfigMapReader(ctrl *gomock.Controller) *MockRunConfigMa... FILE: pkg/container/kubernetes/register.go function init (line 12) | func init() { FILE: pkg/container/kubernetes/security.go type SecurityContextBuilder (line 15) | type SecurityContextBuilder struct method BuildPodSecurityContext (line 27) | func (b *SecurityContextBuilder) BuildPodSecurityContext() *corev1.Pod... method BuildContainerSecurityContext (line 57) | func (b *SecurityContextBuilder) BuildContainerSecurityContext() *core... method BuildPodSecurityContextApplyConfiguration (line 94) | func (b *SecurityContextBuilder) BuildPodSecurityContextApplyConfigura... method BuildContainerSecurityContextApplyConfiguration (line 125) | func (b *SecurityContextBuilder) BuildContainerSecurityContextApplyCon... function NewSecurityContextBuilder (line 20) | func NewSecurityContextBuilder(platform Platform) *SecurityContextBuilder { FILE: pkg/container/kubernetes/security_test.go function TestNewSecurityContextBuilder (line 14) | func TestNewSecurityContextBuilder(t *testing.T) { function TestSecurityContextBuilder_BuildPodSecurityContext_Kubernetes (line 41) | func TestSecurityContextBuilder_BuildPodSecurityContext_Kubernetes(t *te... function TestSecurityContextBuilder_BuildPodSecurityContext_OpenShift (line 66) | func TestSecurityContextBuilder_BuildPodSecurityContext_OpenShift(t *tes... function TestSecurityContextBuilder_BuildContainerSecurityContext_Kubernetes (line 88) | func TestSecurityContextBuilder_BuildContainerSecurityContext_Kubernetes... function TestSecurityContextBuilder_BuildContainerSecurityContext_OpenShift (line 120) | func TestSecurityContextBuilder_BuildContainerSecurityContext_OpenShift(... function TestSecurityContextBuilder_ConsistentBehavior (line 154) | func TestSecurityContextBuilder_ConsistentBehavior(t *testing.T) { FILE: pkg/container/name.go function GetOrGenerateContainerName (line 16) | func GetOrGenerateContainerName(containerName, image string) (string, st... function generateContainerBaseName (line 32) | func generateContainerBaseName(image string) string { function appendTimestamp (line 82) | func appendTimestamp(baseName string) string { FILE: pkg/container/name_test.go function TestGenerateContainerBaseName (line 12) | func TestGenerateContainerBaseName(t *testing.T) { FILE: pkg/container/runtime/errors.go type ContainerError (line 35) | type ContainerError struct method Error (line 45) | func (e *ContainerError) Error() string { method Unwrap (line 61) | func (e *ContainerError) Unwrap() error { function NewContainerError (line 66) | func NewContainerError(err error, containerID, message string) *Containe... function IsContainerNotFound (line 75) | func IsContainerNotFound(err error) bool { FILE: pkg/container/runtime/errors_test.go function TestContainerError_Error (line 15) | func TestContainerError_Error(t *testing.T) { function TestContainerError_Unwrap (line 65) | func TestContainerError_Unwrap(t *testing.T) { function TestNewContainerError (line 83) | func TestNewContainerError(t *testing.T) { function TestIsContainerNotFound (line 94) | func TestIsContainerNotFound(t *testing.T) { FILE: pkg/container/runtime/mocks/mock_runtime.go type MockDeployer (line 23) | type MockDeployer struct method EXPECT (line 42) | func (m *MockDeployer) EXPECT() *MockDeployerMockRecorder { method AttachToWorkload (line 47) | func (m *MockDeployer) AttachToWorkload(ctx context.Context, workloadN... method DeployWorkload (line 63) | func (m *MockDeployer) DeployWorkload(ctx context.Context, image, name... method IsWorkloadRunning (line 78) | func (m *MockDeployer) IsWorkloadRunning(ctx context.Context, workload... method StopWorkload (line 93) | func (m *MockDeployer) StopWorkload(ctx context.Context, workloadName ... type MockDeployerMockRecorder (line 30) | type MockDeployerMockRecorder struct method AttachToWorkload (line 57) | func (mr *MockDeployerMockRecorder) AttachToWorkload(ctx, workloadName... method DeployWorkload (line 72) | func (mr *MockDeployerMockRecorder) DeployWorkload(ctx, image, name, c... method IsWorkloadRunning (line 87) | func (mr *MockDeployerMockRecorder) IsWorkloadRunning(ctx, workloadNam... method StopWorkload (line 101) | func (mr *MockDeployerMockRecorder) StopWorkload(ctx, workloadName any... function NewMockDeployer (line 35) | func NewMockDeployer(ctrl *gomock.Controller) *MockDeployer { type MockRuntime (line 107) | type MockRuntime struct method EXPECT (line 126) | func (m *MockRuntime) EXPECT() *MockRuntimeMockRecorder { method AttachToWorkload (line 131) | func (m *MockRuntime) AttachToWorkload(ctx context.Context, workloadNa... method DeployWorkload (line 147) | func (m *MockRuntime) DeployWorkload(ctx context.Context, image, name ... method GetWorkloadInfo (line 162) | func (m *MockRuntime) GetWorkloadInfo(ctx context.Context, workloadNam... method GetWorkloadLogs (line 177) | func (m *MockRuntime) GetWorkloadLogs(ctx context.Context, workloadNam... method IsRunning (line 192) | func (m *MockRuntime) IsRunning(ctx context.Context) error { method IsWorkloadRunning (line 206) | func (m *MockRuntime) IsWorkloadRunning(ctx context.Context, workloadN... method ListWorkloads (line 221) | func (m *MockRuntime) ListWorkloads(ctx context.Context) ([]runtime.Co... method RemoveWorkload (line 236) | func (m *MockRuntime) RemoveWorkload(ctx context.Context, workloadName... method StopWorkload (line 250) | func (m *MockRuntime) StopWorkload(ctx context.Context, workloadName s... type MockRuntimeMockRecorder (line 114) | type MockRuntimeMockRecorder struct method AttachToWorkload (line 141) | func (mr *MockRuntimeMockRecorder) AttachToWorkload(ctx, workloadName ... method DeployWorkload (line 156) | func (mr *MockRuntimeMockRecorder) DeployWorkload(ctx, image, name, co... method GetWorkloadInfo (line 171) | func (mr *MockRuntimeMockRecorder) GetWorkloadInfo(ctx, workloadName a... method GetWorkloadLogs (line 186) | func (mr *MockRuntimeMockRecorder) GetWorkloadLogs(ctx, workloadName, ... method IsRunning (line 200) | func (mr *MockRuntimeMockRecorder) IsRunning(ctx any) *gomock.Call { method IsWorkloadRunning (line 215) | func (mr *MockRuntimeMockRecorder) IsWorkloadRunning(ctx, workloadName... method ListWorkloads (line 230) | func (mr *MockRuntimeMockRecorder) ListWorkloads(ctx any) *gomock.Call { method RemoveWorkload (line 244) | func (mr *MockRuntimeMockRecorder) RemoveWorkload(ctx, workloadName an... method StopWorkload (line 258) | func (mr *MockRuntimeMockRecorder) StopWorkload(ctx, workloadName any)... function NewMockRuntime (line 119) | func NewMockRuntime(ctrl *gomock.Controller) *MockRuntime { type MockMonitor (line 264) | type MockMonitor struct method EXPECT (line 283) | func (m *MockMonitor) EXPECT() *MockMonitorMockRecorder { method StartMonitoring (line 288) | func (m *MockMonitor) StartMonitoring(ctx context.Context) (<-chan err... method StopMonitoring (line 303) | func (m *MockMonitor) StopMonitoring() { type MockMonitorMockRecorder (line 271) | type MockMonitorMockRecorder struct method StartMonitoring (line 297) | func (mr *MockMonitorMockRecorder) StartMonitoring(ctx any) *gomock.Ca... method StopMonitoring (line 309) | func (mr *MockMonitorMockRecorder) StopMonitoring() *gomock.Call { function NewMockMonitor (line 276) | func NewMockMonitor(ctrl *gomock.Controller) *MockMonitor { FILE: pkg/container/runtime/monitor.go type WorkloadMonitor (line 14) | type WorkloadMonitor struct method StartMonitoring (line 36) | func (m *WorkloadMonitor) StartMonitoring(ctx context.Context) (<-chan... method StopMonitoring (line 70) | func (m *WorkloadMonitor) StopMonitoring() { method monitor (line 84) | func (m *WorkloadMonitor) monitor(ctx context.Context) { function NewMonitor (line 26) | func NewMonitor(rt Runtime, containerName string) Monitor { FILE: pkg/container/runtime/monitor_test.go function TestNewMonitor_Constructs (line 20) | func TestNewMonitor_Constructs(t *testing.T) { function TestWorkloadMonitor_StartMonitoring_WhenRunningStarts (line 32) | func TestWorkloadMonitor_StartMonitoring_WhenRunningStarts(t *testing.T) { function TestWorkloadMonitor_StartMonitoring_WhenNotRunningErrors (line 65) | func TestWorkloadMonitor_StartMonitoring_WhenNotRunningErrors(t *testing... function TestWorkloadMonitor_StartMonitoring_RuntimeErrorBubblesUp (line 84) | func TestWorkloadMonitor_StartMonitoring_RuntimeErrorBubblesUp(t *testin... function TestWorkloadMonitor_StopMonitoring_NotRunningIsNoop (line 103) | func TestWorkloadMonitor_StopMonitoring_NotRunningIsNoop(t *testing.T) { function TestWorkloadMonitor_StartStop_TerminatesQuickly (line 117) | func TestWorkloadMonitor_StartStop_TerminatesQuickly(t *testing.T) { function TestWorkloadMonitor_ContainerExitsUnexpectedly (line 157) | func TestWorkloadMonitor_ContainerExitsUnexpectedly(t *testing.T) { function TestWorkloadMonitor_ContainerRemoved (line 197) | func TestWorkloadMonitor_ContainerRemoved(t *testing.T) { function TestWorkloadMonitor_ContainerRestarted (line 232) | func TestWorkloadMonitor_ContainerRestarted(t *testing.T) { function TestWorkloadMonitor_ContextCanceled (line 271) | func TestWorkloadMonitor_ContextCanceled(t *testing.T) { function TestWorkloadMonitor_RuntimeErrorDuringPollingContinues (line 309) | func TestWorkloadMonitor_RuntimeErrorDuringPollingContinues(t *testing.T) { FILE: pkg/container/runtime/registry.go type Registry (line 15) | type Registry struct method Register (line 30) | func (r *Registry) Register(info *Info) { method Get (line 54) | func (r *Registry) Get(name string) *Info { method IsRegistered (line 67) | func (r *Registry) IsRegistered(name string) bool { method All (line 76) | func (r *Registry) All() []*Info { method ByPriority (line 91) | func (r *Registry) ByPriority() []*Info { function NewRegistry (line 21) | func NewRegistry() *Registry { function RegisterRuntime (line 109) | func RegisterRuntime(info *Info) { function GetRegisteredRuntime (line 114) | func GetRegisteredRuntime(name string) *Info { function IsRuntimeRegistered (line 119) | func IsRuntimeRegistered(name string) bool { function RegisteredRuntimes (line 124) | func RegisteredRuntimes() []*Info { function RegisteredRuntimesByPriority (line 130) | func RegisteredRuntimesByPriority() []*Info { FILE: pkg/container/runtime/registry_test.go function noopInitializer (line 14) | func noopInitializer(_ context.Context) (Runtime, error) { function TestRegistry_Register (line 18) | func TestRegistry_Register(t *testing.T) { function TestRegistry_DuplicatePanics (line 84) | func TestRegistry_DuplicatePanics(t *testing.T) { function TestRegistry_Get_NotFound (line 100) | func TestRegistry_Get_NotFound(t *testing.T) { function TestRegistry_IsRegistered (line 107) | func TestRegistry_IsRegistered(t *testing.T) { function TestRegistry_All (line 122) | func TestRegistry_All(t *testing.T) { function TestRegistry_ByPriority (line 142) | func TestRegistry_ByPriority(t *testing.T) { function TestRegistry_ByPriority_SamePrioritySortedByName (line 157) | func TestRegistry_ByPriority_SamePrioritySortedByName(t *testing.T) { function TestRegistry_Isolation (line 172) | func TestRegistry_Isolation(t *testing.T) { FILE: pkg/container/runtime/types.go type WorkloadStatus (line 23) | type WorkloadStatus constant WorkloadStatusRunning (line 27) | WorkloadStatusRunning WorkloadStatus = "running" constant WorkloadStatusStopped (line 29) | WorkloadStatusStopped WorkloadStatus = "stopped" constant WorkloadStatusError (line 32) | WorkloadStatusError WorkloadStatus = "error" constant WorkloadStatusStarting (line 34) | WorkloadStatusStarting WorkloadStatus = "starting" constant WorkloadStatusStopping (line 36) | WorkloadStatusStopping WorkloadStatus = "stopping" constant WorkloadStatusUnhealthy (line 39) | WorkloadStatusUnhealthy WorkloadStatus = "unhealthy" constant WorkloadStatusRemoving (line 41) | WorkloadStatusRemoving WorkloadStatus = "removing" constant WorkloadStatusUnknown (line 43) | WorkloadStatusUnknown WorkloadStatus = "unknown" constant WorkloadStatusUnauthenticated (line 46) | WorkloadStatusUnauthenticated WorkloadStatus = "unauthenticated" constant WorkloadStatusPolicyStopped (line 49) | WorkloadStatusPolicyStopped WorkloadStatus = "policy_stopped" type ContainerInfo (line 54) | type ContainerInfo struct method IsRunning (line 75) | func (c *ContainerInfo) IsRunning() bool { type PortMapping (line 80) | type PortMapping struct type Deployer (line 92) | type Deployer interface type Runtime (line 153) | type Runtime interface type Monitor (line 186) | type Monitor interface type Type (line 196) | type Type constant TypePodman (line 200) | TypePodman Type = "podman" constant TypeDocker (line 202) | TypeDocker Type = "docker" constant TypeKubernetes (line 204) | TypeKubernetes Type = "kubernetes" constant TypeColima (line 206) | TypeColima Type = "colima" type MountType (line 210) | type MountType method String (line 220) | func (mt MountType) String() string { constant MountTypeBind (line 214) | MountTypeBind MountType = "bind" constant MountTypeTmpfs (line 216) | MountTypeTmpfs MountType = "tmpfs" type PermissionConfig (line 225) | type PermissionConfig struct type DeployWorkloadOptions (line 243) | type DeployWorkloadOptions struct type ScalingConfig (line 290) | type ScalingConfig struct type PortBinding (line 298) | type PortBinding struct function NewDeployWorkloadOptions (line 308) | func NewDeployWorkloadOptions() *DeployWorkloadOptions { type Mount (line 318) | type Mount struct function IsKubernetesRuntime (line 332) | func IsKubernetesRuntime() bool { function IsKubernetesRuntimeWithEnv (line 338) | func IsKubernetesRuntimeWithEnv(envReader env.Reader) bool { type Initializer (line 349) | type Initializer type Info (line 354) | type Info struct FILE: pkg/container/templates/runtime_config.go constant maxPackageNameLength (line 16) | maxPackageNameLength = 128 type RuntimeConfig (line 24) | type RuntimeConfig struct method Validate (line 42) | func (rc *RuntimeConfig) Validate() error { function GetDefaultRuntimeConfig (line 92) | func GetDefaultRuntimeConfig(transportType TransportType) RuntimeConfig { FILE: pkg/container/templates/runtime_config_test.go function TestGetDefaultRuntimeConfig (line 14) | func TestGetDefaultRuntimeConfig(t *testing.T) { function TestGetDockerfileTemplateWithCustomRuntimeConfig (line 66) | func TestGetDockerfileTemplateWithCustomRuntimeConfig(t *testing.T) { function TestGetDockerfileTemplateUsesDefaultWhenNil (line 125) | func TestGetDockerfileTemplateUsesDefaultWhenNil(t *testing.T) { function TestRuntimeConfigValidate_ValidPackageNames (line 144) | func TestRuntimeConfigValidate_ValidPackageNames(t *testing.T) { function TestRuntimeConfigValidate_InvalidPackageNames (line 173) | func TestRuntimeConfigValidate_InvalidPackageNames(t *testing.T) { function TestRuntimeConfigValidate_ValidBuilderImages (line 211) | func TestRuntimeConfigValidate_ValidBuilderImages(t *testing.T) { function TestRuntimeConfigValidate_InvalidBuilderImages (line 237) | func TestRuntimeConfigValidate_InvalidBuilderImages(t *testing.T) { function TestRuntimeConfigValidate_EmptyBuilderImageIsAllowed (line 268) | func TestRuntimeConfigValidate_EmptyBuilderImageIsAllowed(t *testing.T) { function TestRuntimeConfigValidate_EmptyConfig (line 278) | func TestRuntimeConfigValidate_EmptyConfig(t *testing.T) { function TestRuntimeConfigValidate_MultipleErrors (line 285) | func TestRuntimeConfigValidate_MultipleErrors(t *testing.T) { function TestRuntimeConfigValidate_PackageNameTooLong (line 300) | func TestRuntimeConfigValidate_PackageNameTooLong(t *testing.T) { function TestRuntimeConfigValidate_PackageNameAtMaxLength (line 312) | func TestRuntimeConfigValidate_PackageNameAtMaxLength(t *testing.T) { function TestRuntimeConfigValidate_DefaultConfigsAreValid (line 322) | func TestRuntimeConfigValidate_DefaultConfigsAreValid(t *testing.T) { FILE: pkg/container/templates/templates.go type TemplateData (line 20) | type TemplateData struct type TransportType (line 48) | type TransportType constant TransportTypeUVX (line 52) | TransportTypeUVX TransportType = "uvx" constant TransportTypeNPX (line 54) | TransportTypeNPX TransportType = "npx" constant TransportTypeGO (line 56) | TransportTypeGO TransportType = "go" function stripVersionSuffix (line 66) | func stripVersionSuffix(pkg string) string { function GetDockerfileTemplate (line 74) | func GetDockerfileTemplate(transportType TransportType, data TemplateDat... function ParseTransportType (line 136) | func ParseTransportType(s string) (TransportType, error) { FILE: pkg/container/templates/templates_test.go function TestGetDockerfileTemplate (line 12) | func TestGetDockerfileTemplate(t *testing.T) { function TestRuntimeStageInstallsAdditionalPackages (line 395) | func TestRuntimeStageInstallsAdditionalPackages(t *testing.T) { function TestEmptyAdditionalPackagesDoesNotBreakBuild (line 462) | func TestEmptyAdditionalPackagesDoesNotBreakBuild(t *testing.T) { function TestParseTransportType (line 546) | func TestParseTransportType(t *testing.T) { function TestStripVersionSuffix (line 595) | func TestStripVersionSuffix(t *testing.T) { FILE: pkg/core/workload.go type Workload (line 17) | type Workload struct function SortWorkloadsByName (line 55) | func SortWorkloadsByName(workloads []Workload) { FILE: pkg/core/workload_test.go function TestSortWorkloadsByName (line 16) | func TestSortWorkloadsByName(t *testing.T) { function TestSortWorkloadsByName_InPlace (line 177) | func TestSortWorkloadsByName_InPlace(t *testing.T) { function TestSortWorkloadsByName_StableSort (line 196) | func TestSortWorkloadsByName_StableSort(t *testing.T) { function TestSortWorkloadsByName_EdgeCases (line 222) | func TestSortWorkloadsByName_EdgeCases(t *testing.T) { FILE: pkg/desktop/marker.go constant toolhiveDir (line 15) | toolhiveDir = ".toolhive" constant markerFileName (line 17) | markerFileName = ".cli-source" function getMarkerFilePath (line 28) | func getMarkerFilePath() (string, error) { function readMarkerFile (line 40) | func readMarkerFile() (*cliSourceMarker, error) { function readMarkerFileFromPath (line 51) | func readMarkerFileFromPath(path string) (*cliSourceMarker, error) { function markerFileExists (line 80) | func markerFileExists() (bool, error) { FILE: pkg/desktop/types.go constant currentSchemaVersion (line 9) | currentSchemaVersion = 1 type cliSourceMarker (line 14) | type cliSourceMarker struct type validationResult (line 63) | type validationResult struct FILE: pkg/desktop/validation.go constant envSkipDesktopCheck (line 17) | envSkipDesktopCheck = "TOOLHIVE_SKIP_DESKTOP_CHECK" function IsDesktopManagedCLI (line 26) | func IsDesktopManagedCLI() bool { function ValidateDesktopAlignment (line 47) | func ValidateDesktopAlignment() error { function checkDesktopAlignment (line 68) | func checkDesktopAlignment() (*validationResult, error) { function shouldSkipValidation (line 132) | func shouldSkipValidation() bool { function getTargetPath (line 140) | func getTargetPath(marker *cliSourceMarker) string { function getWindowsLocalAppData (line 164) | func getWindowsLocalAppData() string { function resolvePath (line 177) | func resolvePath(path string) (string, error) { function pathsEqual (line 198) | func pathsEqual(path1, path2 string) bool { function fileExists (line 208) | func fileExists(path string) bool { function buildConflictMessage (line 214) | func buildConflictMessage(desktopPath, currentPath string, marker *cliSo... function getDesktopBinPath (line 244) | func getDesktopBinPath() (binPath string, exeName string) { FILE: pkg/desktop/validation_test.go function TestReadMarkerFileFromPath (line 17) | func TestReadMarkerFileFromPath(t *testing.T) { function TestCheckDesktopAlignment (line 178) | func TestCheckDesktopAlignment(t *testing.T) { function TestIsDesktopManagedCLI (line 301) | func TestIsDesktopManagedCLI(t *testing.T) { function TestValidateDesktopAlignment (line 388) | func TestValidateDesktopAlignment(t *testing.T) { function TestPathsEqual (line 424) | func TestPathsEqual(t *testing.T) { function TestBuildConflictMessage (line 485) | func TestBuildConflictMessage(t *testing.T) { function TestGetTargetPath (line 516) | func TestGetTargetPath(t *testing.T) { function TestResolvePath (line 578) | func TestResolvePath(t *testing.T) { function TestReadMarkerFileFromPathWithReadError (line 633) | func TestReadMarkerFileFromPathWithReadError(t *testing.T) { function TestMarkerFileExists (line 649) | func TestMarkerFileExists(t *testing.T) { function TestReadMarkerFile (line 678) | func TestReadMarkerFile(t *testing.T) { function TestGetMarkerFilePath (line 717) | func TestGetMarkerFilePath(t *testing.T) { function TestValidateDesktopAlignmentWithConflict (line 730) | func TestValidateDesktopAlignmentWithConflict(t *testing.T) { function TestCheckDesktopAlignmentCopyMethod (line 766) | func TestCheckDesktopAlignmentCopyMethod(t *testing.T) { function TestCheckDesktopAlignmentFlatpakMethod (line 885) | func TestCheckDesktopAlignmentFlatpakMethod(t *testing.T) { function TestBuildConflictMessageWithoutDesktopVersion (line 953) | func TestBuildConflictMessageWithoutDesktopVersion(t *testing.T) { function writeMarkerFile (line 979) | func writeMarkerFile(t *testing.T, dir string, marker cliSourceMarker) s... function writeMarkerFileRaw (line 988) | func writeMarkerFileRaw(t *testing.T, dir string, marker map[string]any)... function setHomeDir (line 1000) | func setHomeDir(t *testing.T, dir string) { FILE: pkg/environment/environment.go function ParseSecretParameters (line 19) | func ParseSecretParameters(ctx context.Context, parameters []string, sec... function ParseEnvironmentVariables (line 40) | func ParseEnvironmentVariables(envVars []string) (map[string]string, err... function SetTransportEnvironmentVariables (line 63) | func SetTransportEnvironmentVariables(envVars map[string]string, transpo... FILE: pkg/environment/environment_test.go type mockSecretsProvider (line 16) | type mockSecretsProvider struct method GetSecret (line 24) | func (m *mockSecretsProvider) GetSecret(_ context.Context, name string... method SetSecret (line 34) | func (*mockSecretsProvider) SetSecret(_ context.Context, _ string, _ s... method DeleteSecret (line 38) | func (*mockSecretsProvider) DeleteSecret(_ context.Context, _ string) ... method ListSecrets (line 42) | func (*mockSecretsProvider) ListSecrets(_ context.Context) ([]secrets.... method DeleteSecrets (line 46) | func (*mockSecretsProvider) DeleteSecrets(_ context.Context, _ []strin... method Cleanup (line 50) | func (*mockSecretsProvider) Cleanup() error { method Capabilities (line 54) | func (*mockSecretsProvider) Capabilities() secrets.ProviderCapabilities { function TestParseSecretParameters (line 64) | func TestParseSecretParameters(t *testing.T) { function TestParseEnvironmentVariables (line 129) | func TestParseEnvironmentVariables(t *testing.T) { function TestSetTransportEnvironmentVariables (line 199) | func TestSetTransportEnvironmentVariables(t *testing.T) { FILE: pkg/export/k8s.go function WriteK8sManifest (line 23) | func WriteK8sManifest(config *runner.RunConfig, w io.Writer) error { function runConfigToMCPServer (line 40) | func runConfigToMCPServer(config *runner.RunConfig) (*v1beta1.MCPServer,... function parseVolumeString (line 168) | func parseVolumeString(volStr string, index int) (v1beta1.Volume, error) { function sanitizeK8sName (line 191) | func sanitizeK8sName(name string) string { FILE: pkg/export/k8s_test.go function mustNewAuthzConfig (line 25) | func mustNewAuthzConfig(t *testing.T, cedarOpts cedar.ConfigOptions) *au... function TestWriteK8sManifest (line 36) | func TestWriteK8sManifest(t *testing.T) { function TestParseVolumeString (line 271) | func TestParseVolumeString(t *testing.T) { function TestSanitizeK8sName (line 328) | func TestSanitizeK8sName(t *testing.T) { function TestRunConfigToMCPServer (line 418) | func TestRunConfigToMCPServer(t *testing.T) { FILE: pkg/fileutils/atomic.go function AtomicWriteFile (line 16) | func AtomicWriteFile(targetPath string, data []byte, perm os.FileMode) e... FILE: pkg/fileutils/atomic_test.go function TestAtomicWriteFile (line 16) | func TestAtomicWriteFile(t *testing.T) { function TestAtomicWriteFile_Overwrite (line 74) | func TestAtomicWriteFile_Overwrite(t *testing.T) { function TestAtomicWriteFile_NoTempFileLeftBehind (line 102) | func TestAtomicWriteFile_NoTempFileLeftBehind(t *testing.T) { function TestAtomicWriteFile_InvalidDirectory (line 122) | func TestAtomicWriteFile_InvalidDirectory(t *testing.T) { FILE: pkg/fileutils/contained.go function WriteContainedFile (line 18) | func WriteContainedFile(targetDir, filePath string, content []byte, dirP... FILE: pkg/fileutils/lock.go constant DefaultLockTimeout (line 17) | DefaultLockTimeout = 5 * time.Second constant defaultLockRetryInterval (line 20) | defaultLockRetryInterval = 100 * time.Millisecond function getProcessLock (line 36) | func getProcessLock(path string) *sync.Mutex { function WithFileLock (line 49) | func WithFileLock(path string, fn func() error) error { FILE: pkg/fileutils/validation.go function ValidateWorkloadNameForPath (line 29) | func ValidateWorkloadNameForPath(workloadName string) error { FILE: pkg/fileutils/validation_test.go function TestValidateWorkloadNameForPath (line 14) | func TestValidateWorkloadNameForPath(t *testing.T) { function TestValidateWorkloadNameForPathSecurityCases (line 154) | func TestValidateWorkloadNameForPathSecurityCases(t *testing.T) { FILE: pkg/foreach/foreach.go function Concurrent (line 24) | func Concurrent[T any](ctx context.Context, n int, maxWorkers int, fn fu... FILE: pkg/foreach/foreach_test.go function TestConcurrent (line 16) | func TestConcurrent(t *testing.T) { function TestConcurrent_BoundsGoroutines (line 89) | func TestConcurrent_BoundsGoroutines(t *testing.T) { function TestConcurrent_RespectsContextCancellation (line 133) | func TestConcurrent_RespectsContextCancellation(t *testing.T) { FILE: pkg/git/client.go type Client (line 33) | type Client interface type DefaultGitClient (line 48) | type DefaultGitClient struct method Clone (line 73) | func (c *DefaultGitClient) Clone(ctx context.Context, config *CloneCon... method GetFileContent (line 155) | func (*DefaultGitClient) GetFileContent(repoInfo *RepositoryInfo, path... method Cleanup (line 199) | func (*DefaultGitClient) Cleanup(_ context.Context, repoInfo *Reposito... method updateRepositoryInfo (line 236) | func (*DefaultGitClient) updateRepositoryInfo(repoInfo *RepositoryInfo... method HeadCommitHash (line 255) | func (*DefaultGitClient) HeadCommitHash(repoInfo *RepositoryInfo) (str... type ClientOption (line 54) | type ClientOption function WithAuth (line 57) | func WithAuth(auth transport.AuthMethod) ClientOption { function NewDefaultGitClient (line 64) | func NewDefaultGitClient(opts ...ClientOption) *DefaultGitClient { FILE: pkg/git/client_test.go function TestNewDefaultGitClient (line 13) | func TestNewDefaultGitClient(t *testing.T) { function TestDefaultGitClient_Clone_Errors (line 20) | func TestDefaultGitClient_Clone_Errors(t *testing.T) { function TestDefaultGitClient_Cleanup_NilInputs (line 46) | func TestDefaultGitClient_Cleanup_NilInputs(t *testing.T) { function TestDefaultGitClient_GetFileContent_NoRepo (line 68) | func TestDefaultGitClient_GetFileContent_NoRepo(t *testing.T) { function TestDefaultGitClient_GetFileContent_PathTraversal (line 77) | func TestDefaultGitClient_GetFileContent_PathTraversal(t *testing.T) { function TestDefaultGitClient_HeadCommitHash_NilInputs (line 107) | func TestDefaultGitClient_HeadCommitHash_NilInputs(t *testing.T) { function TestDefaultGitClient_HeadCommitHash_Valid (line 129) | func TestDefaultGitClient_HeadCommitHash_Valid(t *testing.T) { function isAllHex (line 145) | func isAllHex(s string) bool { function TestCloneConfig_Validate (line 157) | func TestCloneConfig_Validate(t *testing.T) { FILE: pkg/git/fs.go type LimitedFs (line 22) | type LimitedFs struct method Chroot (line 43) | func (*LimitedFs) Chroot(_ string) (billy.Filesystem, error) { method Create (line 48) | func (f *LimitedFs) Create(filename string) (billy.File, error) { method Join (line 58) | func (f *LimitedFs) Join(elem ...string) string { method Lstat (line 63) | func (f *LimitedFs) Lstat(filename string) (fs.FileInfo, error) { method MkdirAll (line 68) | func (f *LimitedFs) MkdirAll(filename string, perm fs.FileMode) error { method Open (line 78) | func (f *LimitedFs) Open(filename string) (billy.File, error) { method OpenFile (line 83) | func (f *LimitedFs) OpenFile(filename string, flag int, perm fs.FileMo... method ReadDir (line 95) | func (f *LimitedFs) ReadDir(path string) ([]fs.FileInfo, error) { method Readlink (line 100) | func (f *LimitedFs) Readlink(link string) (string, error) { method Remove (line 105) | func (f *LimitedFs) Remove(filename string) error { method Rename (line 112) | func (f *LimitedFs) Rename(oldpath string, newpath string) error { method Root (line 117) | func (f *LimitedFs) Root() string { method Stat (line 122) | func (f *LimitedFs) Stat(filename string) (fs.FileInfo, error) { method Symlink (line 127) | func (f *LimitedFs) Symlink(target string, link string) error { method TempFile (line 136) | func (f *LimitedFs) TempFile(dir string, prefix string) (billy.File, e... type fileWrapper (line 145) | type fileWrapper struct method Close (line 154) | func (f *fileWrapper) Close() error { method Lock (line 159) | func (f *fileWrapper) Lock() error { method Name (line 164) | func (f *fileWrapper) Name() string { method Read (line 169) | func (f *fileWrapper) Read(p []byte) (n int, err error) { method ReadAt (line 174) | func (f *fileWrapper) ReadAt(p []byte, off int64) (n int, err error) { method Seek (line 179) | func (f *fileWrapper) Seek(offset int64, whence int) (int64, error) { method Truncate (line 184) | func (f *fileWrapper) Truncate(size int64) error { method Unlock (line 200) | func (f *fileWrapper) Unlock() error { method Write (line 205) | func (f *fileWrapper) Write(p []byte) (n int, err error) { method fileSize (line 227) | func (f *fileWrapper) fileSize() (int64, error) { FILE: pkg/git/integration_test.go constant mainBranchName (line 18) | mainBranchName = "main" function initTestRepo (line 22) | func initTestRepo(t *testing.T, files map[string]string) string { function TestDefaultGitClient_FullWorkflow (line 48) | func TestDefaultGitClient_FullWorkflow(t *testing.T) { function TestDefaultGitClient_CloneWithBranch (line 80) | func TestDefaultGitClient_CloneWithBranch(t *testing.T) { function TestDefaultGitClient_CloneWithTag (line 123) | func TestDefaultGitClient_CloneWithTag(t *testing.T) { function TestDefaultGitClient_CloneWithCommit (line 168) | func TestDefaultGitClient_CloneWithCommit(t *testing.T) { function TestDefaultGitClient_UpdateRepositoryInfo (line 214) | func TestDefaultGitClient_UpdateRepositoryInfo(t *testing.T) { FILE: pkg/git/types.go type CloneConfig (line 13) | type CloneConfig struct method validate (line 28) | func (c *CloneConfig) validate() error { type RepositoryInfo (line 46) | type RepositoryInfo struct FILE: pkg/groups/cli_manager.go type cliManager (line 23) | type cliManager struct method Create (line 38) | func (m *cliManager) Create(ctx context.Context, name string) error { method Get (line 83) | func (m *cliManager) Get(ctx context.Context, name string) (*Group, er... method List (line 104) | func (m *cliManager) List(ctx context.Context) ([]*Group, error) { method Delete (line 128) | func (m *cliManager) Delete(ctx context.Context, name string) error { method Exists (line 133) | func (m *cliManager) Exists(ctx context.Context, name string) (bool, e... method RegisterClients (line 138) | func (m *cliManager) RegisterClients(ctx context.Context, groupNames [... method UnregisterClients (line 181) | func (m *cliManager) UnregisterClients(ctx context.Context, groupNames... method Update (line 216) | func (m *cliManager) Update(ctx context.Context, group *Group) error { method saveGroup (line 221) | func (m *cliManager) saveGroup(ctx context.Context, group *Group) error { function NewCLIManager (line 28) | func NewCLIManager() (Manager, error) { FILE: pkg/groups/cli_manager_test.go constant testGroupName (line 22) | testGroupName = "testgroup" function TestManager_Create (line 25) | func TestManager_Create(t *testing.T) { function TestManager_Get (line 122) | func TestManager_Get(t *testing.T) { function TestManager_List (line 200) | func TestManager_List(t *testing.T) { function TestManager_Delete (line 318) | func TestManager_Delete(t *testing.T) { function TestManager_Exists (line 390) | func TestManager_Exists(t *testing.T) { function TestManager_RegisterClients (line 465) | func TestManager_RegisterClients(t *testing.T) { function TestManager_UnregisterClients (line 549) | func TestManager_UnregisterClients(t *testing.T) { function TestManager_Update (line 633) | func TestManager_Update(t *testing.T) { type mockWriteCloser (line 699) | type mockWriteCloser struct method Write (line 705) | func (m *mockWriteCloser) Write(p []byte) (n int, err error) { method Close (line 713) | func (m *mockWriteCloser) Close() error { method Sync (line 717) | func (*mockWriteCloser) Sync() error { FILE: pkg/groups/crd_manager.go type crdManager (line 25) | type crdManager struct method Create (line 39) | func (m *crdManager) Create(ctx context.Context, name string) error { method Get (line 72) | func (m *crdManager) Get(ctx context.Context, name string) (*Group, er... method List (line 90) | func (m *crdManager) List(ctx context.Context) ([]*Group, error) { method Delete (line 108) | func (m *crdManager) Delete(ctx context.Context, name string) error { method Exists (line 129) | func (m *crdManager) Exists(ctx context.Context, name string) (bool, e... method RegisterClients (line 146) | func (*crdManager) RegisterClients(context.Context, []string, []string... method UnregisterClients (line 151) | func (*crdManager) UnregisterClients(context.Context, []string, []stri... method Update (line 156) | func (*crdManager) Update(context.Context, *Group) error { function NewCRDManager (line 31) | func NewCRDManager(k8sClient client.Client, namespace string) Manager { function mcpGroupListToGroups (line 162) | func mcpGroupListToGroups(mcpGroupList *mcpv1beta1.MCPGroupList) []*Group { function mcpGroupToGroup (line 171) | func mcpGroupToGroup(mcpGroup *mcpv1beta1.MCPGroup) *Group { FILE: pkg/groups/crd_manager_test.go function createTestScheme (line 25) | func createTestScheme() *runtime.Scheme { function createTestCRDManager (line 33) | func createTestCRDManager(objs ...client.Object) (*crdManager, client.Cl... function TestCRDManager_Create (line 40) | func TestCRDManager_Create(t *testing.T) { function TestCRDManager_Get (line 118) | func TestCRDManager_Get(t *testing.T) { function TestCRDManager_List (line 199) | func TestCRDManager_List(t *testing.T) { function TestCRDManager_Delete (line 274) | func TestCRDManager_Delete(t *testing.T) { function TestCRDManager_Exists (line 336) | func TestCRDManager_Exists(t *testing.T) { function TestCRDManager_RegisterClients (line 389) | func TestCRDManager_RegisterClients(t *testing.T) { function TestCRDManager_UnregisterClients (line 463) | func TestCRDManager_UnregisterClients(t *testing.T) { function TestMCPGroupToGroup (line 552) | func TestMCPGroupToGroup(t *testing.T) { FILE: pkg/groups/group.go constant DefaultGroup (line 15) | DefaultGroup = "default" type Group (line 18) | type Group struct method WriteJSON (line 25) | func (g *Group) WriteJSON(w *os.File) error { type Manager (line 35) | type Manager interface FILE: pkg/groups/manager.go constant DefaultGroupName (line 20) | DefaultGroupName = "default" function NewManager (line 26) | func NewManager() (Manager, error) { function newCRDManager (line 34) | func newCRDManager() (Manager, error) { FILE: pkg/groups/mocks/mock_manager.go type MockManager (line 21) | type MockManager struct method EXPECT (line 40) | func (m *MockManager) EXPECT() *MockManagerMockRecorder { method Create (line 45) | func (m *MockManager) Create(ctx context.Context, name string) error { method Delete (line 59) | func (m *MockManager) Delete(ctx context.Context, name string) error { method Exists (line 73) | func (m *MockManager) Exists(ctx context.Context, name string) (bool, ... method Get (line 88) | func (m *MockManager) Get(ctx context.Context, name string) (*groups.G... method List (line 103) | func (m *MockManager) List(ctx context.Context) ([]*groups.Group, erro... method RegisterClients (line 118) | func (m *MockManager) RegisterClients(ctx context.Context, groupNames,... method UnregisterClients (line 132) | func (m *MockManager) UnregisterClients(ctx context.Context, groupName... method Update (line 146) | func (m *MockManager) Update(ctx context.Context, group *groups.Group)... type MockManagerMockRecorder (line 28) | type MockManagerMockRecorder struct method Create (line 53) | func (mr *MockManagerMockRecorder) Create(ctx, name any) *gomock.Call { method Delete (line 67) | func (mr *MockManagerMockRecorder) Delete(ctx, name any) *gomock.Call { method Exists (line 82) | func (mr *MockManagerMockRecorder) Exists(ctx, name any) *gomock.Call { method Get (line 97) | func (mr *MockManagerMockRecorder) Get(ctx, name any) *gomock.Call { method List (line 112) | func (mr *MockManagerMockRecorder) List(ctx any) *gomock.Call { method RegisterClients (line 126) | func (mr *MockManagerMockRecorder) RegisterClients(ctx, groupNames, cl... method UnregisterClients (line 140) | func (mr *MockManagerMockRecorder) UnregisterClients(ctx, groupNames, ... method Update (line 154) | func (mr *MockManagerMockRecorder) Update(ctx, group any) *gomock.Call { function NewMockManager (line 33) | func NewMockManager(ctrl *gomock.Controller) *MockManager { FILE: pkg/groups/skills.go function AddSkillToGroup (line 15) | func AddSkillToGroup(ctx context.Context, mgr Manager, groupName string,... function RemoveSkillFromAllGroups (line 37) | func RemoveSkillFromAllGroups(ctx context.Context, mgr Manager, skillNam... FILE: pkg/groups/skills_test.go function TestAddSkillToGroups (line 19) | func TestAddSkillToGroups(t *testing.T) { function TestRemoveSkillFromAllGroups (line 100) | func TestRemoveSkillFromAllGroups(t *testing.T) { FILE: pkg/healthcheck/healthcheck.go type HealthStatus (line 19) | type HealthStatus constant StatusHealthy (line 23) | StatusHealthy HealthStatus = "healthy" constant StatusUnhealthy (line 25) | StatusUnhealthy HealthStatus = "unhealthy" constant StatusDegraded (line 27) | StatusDegraded HealthStatus = "degraded" type MCPStatus (line 31) | type MCPStatus struct type HealthResponse (line 43) | type HealthResponse struct type MCPPinger (line 59) | type MCPPinger interface type HealthChecker (line 67) | type HealthChecker struct method CheckHealth (line 81) | func (hc *HealthChecker) CheckHealth(ctx context.Context) *HealthRespo... method checkMCPStatus (line 104) | func (hc *HealthChecker) checkMCPStatus(ctx context.Context) *MCPStatus { method ServeHTTP (line 126) | func (hc *HealthChecker) ServeHTTP(w http.ResponseWriter, r *http.Requ... function NewHealthChecker (line 73) | func NewHealthChecker(transport string, mcpPinger MCPPinger) *HealthChec... FILE: pkg/healthcheck/healthcheck_test.go type mockMCPPinger (line 21) | type mockMCPPinger struct method Ping (line 26) | func (m *mockMCPPinger) Ping(_ context.Context) (time.Duration, error) { function TestHealthChecker_CheckHealth (line 33) | func TestHealthChecker_CheckHealth(t *testing.T) { function TestHealthChecker_ServeHTTP (line 99) | func TestHealthChecker_ServeHTTP(t *testing.T) { function TestHealthResponse_JSON (line 178) | func TestHealthResponse_JSON(t *testing.T) { FILE: pkg/ignore/processor.go type Processor (line 21) | type Processor struct method LoadGlobal (line 76) | func (p *Processor) LoadGlobal() error { method LoadLocal (line 104) | func (p *Processor) LoadLocal(sourceDir string) error { method loadIgnoreFile (line 121) | func (*Processor) loadIgnoreFile(filePath string) ([]string, error) { method GetOverlayMounts (line 163) | func (p *Processor) GetOverlayMounts(bindMount, containerPath string) ... method processPattern (line 179) | func (p *Processor) processPattern(bindMount, containerPath, pattern s... method createOverlayMount (line 193) | func (p *Processor) createOverlayMount( method printOverlays (line 253) | func (p *Processor) printOverlays(overlayMounts []OverlayMount, bindMo... method createEmptyFile (line 263) | func (p *Processor) createEmptyFile() (string, error) { method createEmptyDirectory (line 291) | func (p *Processor) createEmptyDirectory() (string, error) { method Cleanup (line 314) | func (p *Processor) Cleanup() error { method GetOverlayPaths (line 355) | func (p *Processor) GetOverlayPaths(bindMount, containerPath string) [... method getMatchingPaths (line 367) | func (*Processor) getMatchingPaths(dir, pattern string) []string { method patternMatchesInDirectory (line 398) | func (p *Processor) patternMatchesInDirectory(dir, pattern string) bool { method ShouldIgnore (line 403) | func (p *Processor) ShouldIgnore(path string) bool { type Config (line 33) | type Config struct constant ignoreFileName (line 38) | ignoreFileName = ".thvignore" function NewProcessor (line 41) | func NewProcessor(config *Config) *Processor { function getArtifactDir (line 66) | func getArtifactDir(workloadID string) string { type OverlayMount (line 155) | type OverlayMount struct FILE: pkg/ignore/processor_test.go function TestNewProcessor (line 12) | func TestNewProcessor(t *testing.T) { function TestLoadIgnoreFile (line 30) | func TestLoadIgnoreFile(t *testing.T) { function TestLoadLocal (line 113) | func TestLoadLocal(t *testing.T) { function TestPatternMatchesInDirectory (line 172) | func TestPatternMatchesInDirectory(t *testing.T) { function TestGetOverlayPaths (line 244) | func TestGetOverlayPaths(t *testing.T) { function TestGetOverlayMounts (line 300) | func TestGetOverlayMounts(t *testing.T) { function TestProcessorCleanup (line 388) | func TestProcessorCleanup(t *testing.T) { function TestShouldIgnore (line 443) | func TestShouldIgnore(t *testing.T) { FILE: pkg/json/any.go type Data (line 31) | type Data struct method MarshalJSON (line 37) | func (d Data[T]) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 45) | func (d *Data[T]) UnmarshalJSON(data []byte) error { method MarshalYAML (line 60) | func (d Data[T]) MarshalYAML() (interface{}, error) { method UnmarshalYAML (line 65) | func (d *Data[T]) UnmarshalYAML(node *yaml.Node) error { method Get (line 81) | func (d Data[T]) Get() T { method IsEmpty (line 87) | func (d Data[T]) IsEmpty() bool { method DeepCopyInto (line 103) | func (d *Data[T]) DeepCopyInto(out *Data[T]) { method DeepCopy (line 123) | func (d *Data[T]) DeepCopy() *Data[T] { function NewData (line 147) | func NewData[T any](v T) Data[T] { function NewAny (line 153) | func NewAny(v any) Any { function NewMap (line 158) | func NewMap(m map[string]any) Map { function MustParse (line 164) | func MustParse(jsonStr string) Any { function FromRawExtension (line 174) | func FromRawExtension(ext runtime.RawExtension) (Any, error) { function MapFromRawExtension (line 187) | func MapFromRawExtension(ext runtime.RawExtension) (Map, error) { method ToMap (line 201) | func (d Data[T]) ToMap() (map[string]any, error) { method ToAny (line 222) | func (d Data[T]) ToAny() (any, error) { FILE: pkg/k8s/client.go function NewClient (line 19) | func NewClient() (kubernetes.Interface, *rest.Config, error) { function NewClientWithConfig (line 35) | func NewClientWithConfig(config *rest.Config) (kubernetes.Interface, err... function NewControllerRuntimeClient (line 58) | func NewControllerRuntimeClient(scheme *runtime.Scheme) (client.Client, ... function newControllerRuntimeClientWithConfig (line 68) | func newControllerRuntimeClientWithConfig(config *rest.Config, scheme *r... function NewDynamicClient (line 84) | func NewDynamicClient() (dynamic.Interface, error) { function newDynamicClientWithConfig (line 94) | func newDynamicClientWithConfig(config *rest.Config) (dynamic.Interface,... function IsAvailable (line 105) | func IsAvailable() bool { FILE: pkg/k8s/client_test.go function createTestConfig (line 21) | func createTestConfig(t *testing.T) *rest.Config { function createTestScheme (line 33) | func createTestScheme() *runtime.Scheme { function TestNewClientWithConfig (line 39) | func TestNewClientWithConfig(t *testing.T) { function TestNewControllerRuntimeClientWithConfig (line 85) | func TestNewControllerRuntimeClientWithConfig(t *testing.T) { function TestNewDynamicClientWithConfig (line 126) | func TestNewDynamicClientWithConfig(t *testing.T) { function TestClientTypeCompatibility (line 140) | func TestClientTypeCompatibility(t *testing.T) { function TestIsAvailableInternal (line 157) | func TestIsAvailableInternal(t *testing.T) { FILE: pkg/k8s/config.go type configLoader (line 16) | type configLoader interface type defaultConfigLoader (line 24) | type defaultConfigLoader struct method InClusterConfig (line 26) | func (*defaultConfigLoader) InClusterConfig() (*rest.Config, error) { method LoadFromRules (line 30) | func (*defaultConfigLoader) LoadFromRules(rules *clientcmd.ClientConfi... function GetConfig (line 60) | func GetConfig() (*rest.Config, error) { function getConfigWithLoader (line 65) | func getConfigWithLoader(loader configLoader) (*rest.Config, error) { function getConfigFromKubeconfigFile (line 84) | func getConfigFromKubeconfigFile(kubeconfigPath string) (*rest.Config, e... FILE: pkg/k8s/config_test.go type mockConfigLoader (line 19) | type mockConfigLoader struct method InClusterConfig (line 26) | func (m *mockConfigLoader) InClusterConfig() (*rest.Config, error) { method LoadFromRules (line 33) | func (m *mockConfigLoader) LoadFromRules(_ *clientcmd.ClientConfigLoad... function TestGetConfigWithLoader (line 40) | func TestGetConfigWithLoader(t *testing.T) { function TestGetConfigFromKubeconfigFile (line 99) | func TestGetConfigFromKubeconfigFile(t *testing.T) { FILE: pkg/k8s/namespace.go constant defaultNamespace (line 16) | defaultNamespace = "default" constant defaultServiceAccountPath (line 18) | defaultServiceAccountPath = "/var/run/secrets/kubernetes.io/serviceaccou... constant defaultPodNamespaceEnv (line 20) | defaultPodNamespaceEnv = "POD_NAMESPACE" function GetCurrentNamespace (line 25) | func GetCurrentNamespace() string { function getNamespaceFromServiceAccountPath (line 47) | func getNamespaceFromServiceAccountPath(path string) (string, error) { function parseNamespaceFromFile (line 58) | func parseNamespaceFromFile(data []byte) (string, error) { function getNamespaceFromEnvVar (line 71) | func getNamespaceFromEnvVar(envVar string) (string, error) { function validateNamespaceValue (line 77) | func validateNamespaceValue(ns, source string) (string, error) { function getNamespaceFromKubeConfig (line 85) | func getNamespaceFromKubeConfig() (string, error) { function loadKubeconfigRaw (line 92) | func loadKubeconfigRaw() clientcmd.ClientConfig { function extractNamespaceFromKubeconfig (line 100) | func extractNamespaceFromKubeconfig(kubeConfig clientcmd.ClientConfig) (... FILE: pkg/k8s/namespace_test.go function TestParseNamespaceFromFile (line 16) | func TestParseNamespaceFromFile(t *testing.T) { function TestValidateNamespaceValue (line 56) | func TestValidateNamespaceValue(t *testing.T) { function TestExtractNamespaceFromKubeconfig (line 92) | func TestExtractNamespaceFromKubeconfig(t *testing.T) { FILE: pkg/k8s/test_helpers.go constant validKubeconfigYAML (line 9) | validKubeconfigYAML = `apiVersion: v1 FILE: pkg/labels/labels.go constant LabelPrefix (line 16) | LabelPrefix = "toolhive" constant LabelToolHive (line 19) | LabelToolHive = "toolhive" constant LabelName (line 22) | LabelName = "toolhive-name" constant LabelBaseName (line 25) | LabelBaseName = "toolhive-basename" constant LabelTransport (line 28) | LabelTransport = "toolhive-transport" constant LabelPort (line 31) | LabelPort = "toolhive-port" constant LabelNetworkIsolation (line 34) | LabelNetworkIsolation = "toolhive-network-isolation" constant LabelGroup (line 37) | LabelGroup = "toolhive-group" constant LabelAuxiliary (line 40) | LabelAuxiliary = "toolhive-auxiliary" constant LabelToolHiveValue (line 43) | LabelToolHiveValue = "true" function AddStandardLabels (line 47) | func AddStandardLabels(labels map[string]string, containerName, containe... function AddNetworkLabels (line 56) | func AddNetworkLabels(labels map[string]string, networkName string) { function AddNetworkIsolationLabel (line 62) | func AddNetworkIsolationLabel(labels map[string]string, networkIsolation... function FormatToolHiveFilter (line 67) | func FormatToolHiveFilter() string { function IsToolHiveContainer (line 72) | func IsToolHiveContainer(labels map[string]string) bool { function HasNetworkIsolation (line 78) | func HasNetworkIsolation(labels map[string]string) bool { function GetContainerName (line 87) | func GetContainerName(labels map[string]string) string { function GetContainerBaseName (line 92) | func GetContainerBaseName(labels map[string]string) string { function GetTransportType (line 97) | func GetTransportType(labels map[string]string) string { function GetPort (line 102) | func GetPort(labels map[string]string) (int, error) { function GetGroup (line 117) | func GetGroup(labels map[string]string) string { function SetGroup (line 122) | func SetGroup(labels map[string]string, groupName string) { function IsAuxiliaryWorkload (line 128) | func IsAuxiliaryWorkload(labels map[string]string) bool { function IsStandardToolHiveLabel (line 135) | func IsStandardToolHiveLabel(key string) bool { function ParseLabel (line 156) | func ParseLabel(label string) (string, string, error) { function validateLabelKey (line 183) | func validateLabelKey(key string) error { function validateLabelValue (line 229) | func validateLabelValue(value string) error { function isValidDNSSubdomain (line 241) | func isValidDNSSubdomain(s string) bool { function isValidDNSLabel (line 259) | func isValidDNSLabel(s string) bool { function isValidLabelName (line 280) | func isValidLabelName(s string) bool { function isAlphaNumeric (line 301) | func isAlphaNumeric(c byte) bool { FILE: pkg/labels/labels_test.go function TestAddStandardLabels (line 10) | func TestAddStandardLabels(t *testing.T) { function TestFormatToolHiveFilter (line 89) | func TestFormatToolHiveFilter(t *testing.T) { function TestIsToolHiveContainer (line 98) | func TestIsToolHiveContainer(t *testing.T) { function TestGetContainerName (line 165) | func TestGetContainerName(t *testing.T) { function TestGetContainerBaseName (line 197) | func TestGetContainerBaseName(t *testing.T) { function TestGetTransportType (line 229) | func TestGetTransportType(t *testing.T) { function TestGetPort (line 261) | func TestGetPort(t *testing.T) { function TestHasNetworkIsolation (line 322) | func TestHasNetworkIsolation(t *testing.T) { function TestIsStandardToolHiveLabel (line 361) | func TestIsStandardToolHiveLabel(t *testing.T) { function TestParseLabel (line 426) | func TestParseLabel(t *testing.T) { function TestParseLabelValidation (line 527) | func TestParseLabelValidation(t *testing.T) { FILE: pkg/llm/config.go constant DefaultProxyListenPort (line 16) | DefaultProxyListenPort = 14000 type Config (line 27) | type Config struct method IsConfigured (line 53) | func (c *Config) IsConfigured() bool { method ValidatePartial (line 61) | func (c *Config) ValidatePartial() error { method Validate (line 93) | func (c *Config) Validate() error { method EffectiveProxyPort (line 113) | func (c *Config) EffectiveProxyPort() int { type ProxyConfig (line 36) | type ProxyConfig struct type ToolConfig (line 42) | type ToolConfig struct FILE: pkg/llm/config_test.go function TestConfig_IsConfigured (line 10) | func TestConfig_IsConfigured(t *testing.T) { function TestConfig_Validate (line 77) | func TestConfig_Validate(t *testing.T) { function TestConfig_ValidatePartial (line 212) | func TestConfig_ValidatePartial(t *testing.T) { function TestConfig_EffectiveProxyPort (line 299) | func TestConfig_EffectiveProxyPort(t *testing.T) { function TestOIDCConfig_EffectiveScopes (line 319) | func TestOIDCConfig_EffectiveScopes(t *testing.T) { FILE: pkg/llm/manage.go method SetFields (line 19) | func (c *Config) SetFields(opts SetOptions) error { type SetOptions (line 52) | type SetOptions struct function DeleteCachedTokens (line 66) | func DeleteCachedTokens(ctx context.Context, provider pkgsecrets.Provide... method Show (line 88) | func (c *Config) Show(w io.Writer) error { FILE: pkg/llm/manage_test.go function TestConfig_SetFields (line 21) | func TestConfig_SetFields(t *testing.T) { function boolPtr (line 161) | func boolPtr(b bool) *bool { return &b } function TestDeleteCachedTokens (line 165) | func TestDeleteCachedTokens(t *testing.T) { function TestConfig_Show (line 254) | func TestConfig_Show(t *testing.T) { FILE: pkg/llm/proxy/proxy.go type TokenSource (line 26) | type TokenSource interface type Option (line 31) | type Option function WithTLSSkipVerify (line 36) | func WithTLSSkipVerify(skip bool) Option { type tokenContextKey (line 56) | type tokenContextKey struct type proxyTransport (line 61) | type proxyTransport method RoundTrip (line 63) | func (pt *proxyTransport) RoundTrip(req *http.Request) (*http.Response... type Proxy (line 72) | type Proxy struct method Addr (line 145) | func (p *Proxy) Addr() string { method handler (line 151) | func (p *Proxy) handler() http.Handler { method Start (line 199) | func (p *Proxy) Start(ctx context.Context) error { function New (line 88) | func New(cfg *llm.Config, ts TokenSource, opts ...Option) (*Proxy, error) { FILE: pkg/llm/proxy/proxy_test.go type stubTokenSource (line 26) | type stubTokenSource struct method Token (line 31) | func (s *stubTokenSource) Token(_ context.Context) (string, error) { function testClient (line 36) | func testClient() *http.Client { function loopbackRequest (line 42) | func loopbackRequest(target string) *http.Request { function newTLSGateway (line 50) | func newTLSGateway(t *testing.T, handler http.Handler) *Proxy { function freePort (line 69) | func freePort(t *testing.T) int { function TestNew_RejectsHTTPGatewayURL (line 78) | func TestNew_RejectsHTTPGatewayURL(t *testing.T) { function TestNew_ValidConfig (line 88) | func TestNew_ValidConfig(t *testing.T) { function TestHandler_InjectsToken (line 105) | func TestHandler_InjectsToken(t *testing.T) { function TestHandler_StripsIncomingAuthorization (line 131) | func TestHandler_StripsIncomingAuthorization(t *testing.T) { function TestHandler_RejectsDNSRebindingHost (line 157) | func TestHandler_RejectsDNSRebindingHost(t *testing.T) { function TestHandler_Returns502OnTokenError (line 185) | func TestHandler_Returns502OnTokenError(t *testing.T) { function TestHandler_Returns401WithActionableMessageOnErrTokenRequired (line 206) | func TestHandler_Returns401WithActionableMessageOnErrTokenRequired(t *te... function startTestProxy (line 231) | func startTestProxy(t *testing.T, gateway *httptest.Server) string { function TestProxy_ForwardsPathQueryAndBody (line 273) | func TestProxy_ForwardsPathQueryAndBody(t *testing.T) { function TestProxy_PassesThroughSSE (line 312) | func TestProxy_PassesThroughSSE(t *testing.T) { function TestWithTLSSkipVerify (line 346) | func TestWithTLSSkipVerify(t *testing.T) { function TestProxy_PassesThroughErrorResponses (line 391) | func TestProxy_PassesThroughErrorResponses(t *testing.T) { FILE: pkg/llm/setup.go type LoginFunc (line 20) | type LoginFunc type GatewayManager (line 24) | type GatewayManager interface type ConfigUpdater (line 37) | type ConfigUpdater interface function Setup (line 53) | func Setup( function Teardown (line 161) | func Teardown( function PurgeTokens (line 239) | func PurgeTokens(ctx context.Context, errOut io.Writer, provider pkgsecr... function isTarget (line 246) | func isTarget(targets []ToolConfig, toolName string) bool { function mergeToolConfigs (line 257) | func mergeToolConfigs(existing, incoming []ToolConfig) []ToolConfig { function warnTLSSkipVerify (line 282) | func warnTLSSkipVerify(errOut io.Writer, skip bool, configured []ToolCon... function filterDetectedClients (line 305) | func filterDetectedClients(detected []string, targetClient string) ([]st... function configureDetectedTools (line 320) | func configureDetectedTools( function hasProxyMode (line 354) | func hasProxyMode(cfgs []ToolConfig) bool { FILE: pkg/llm/setup_test.go function TestMergeToolConfigs_EmptyExisting (line 23) | func TestMergeToolConfigs_EmptyExisting(t *testing.T) { function TestMergeToolConfigs_AppendsNew (line 30) | func TestMergeToolConfigs_AppendsNew(t *testing.T) { function TestMergeToolConfigs_ReplacesExisting (line 40) | func TestMergeToolConfigs_ReplacesExisting(t *testing.T) { function TestMergeToolConfigs_MixedReplaceAndAppend (line 49) | func TestMergeToolConfigs_MixedReplaceAndAppend(t *testing.T) { function TestMergeToolConfigs_DuplicatesInIncoming (line 66) | func TestMergeToolConfigs_DuplicatesInIncoming(t *testing.T) { function TestIsTarget (line 81) | func TestIsTarget(t *testing.T) { type stubGatewayManager (line 96) | type stubGatewayManager struct method DetectedLLMGatewayClients (line 100) | func (*stubGatewayManager) DetectedLLMGatewayClients() []string { retu... method ConfigureLLMGateway (line 101) | func (*stubGatewayManager) ConfigureLLMGateway(_ string, _ llmgateway.... method LLMGatewayModeFor (line 104) | func (*stubGatewayManager) LLMGatewayModeFor(_ string) string { return... method RevertLLMGateway (line 105) | func (s *stubGatewayManager) RevertLLMGateway(clientType, _ string) er... type stubConfigUpdater (line 111) | type stubConfigUpdater struct method GetLLMConfig (line 115) | func (s *stubConfigUpdater) GetLLMConfig() Config { return s.cfg } method UpdateLLMConfig (line 116) | func (s *stubConfigUpdater) UpdateLLMConfig(fn func(*Config) error) er... function TestTeardown_PurgeTokens_ClearsConfigRefsAndDeletesSecrets (line 120) | func TestTeardown_PurgeTokens_ClearsConfigRefsAndDeletesSecrets(t *testi... function TestTeardown_NoPurge_LeavesTokenRefsIntact (line 153) | func TestTeardown_NoPurge_LeavesTokenRefsIntact(t *testing.T) { FILE: pkg/llm/tokensource.go function NewTokenSource (line 42) | func NewTokenSource( function SanitizeTokenError (line 70) | func SanitizeTokenError(err error) string { function DeriveSecretKey (line 84) | func DeriveSecretKey(gatewayURL, issuer string) string { FILE: pkg/llm/tokensource_test.go function minimalConfig (line 25) | func minimalConfig() *Config { function TestDeriveSecretKey (line 37) | func TestDeriveSecretKey(t *testing.T) { function TestTokenSource_NonInteractive_NoCache_ReturnsErrTokenRequired (line 52) | func TestTokenSource_NonInteractive_NoCache_ReturnsErrTokenRequired(t *t... function TestTokenSource_NonInteractive_BackendError_ReturnsLastErr (line 67) | func TestTokenSource_NonInteractive_BackendError_ReturnsLastErr(t *testi... function TestTokenSource_NonInteractive_NilSecrets_ReturnsActionableError (line 87) | func TestTokenSource_NonInteractive_NilSecrets_ReturnsActionableError(t ... function TestTokenSource_UsesCachedRefreshTokenRef (line 101) | func TestTokenSource_UsesCachedRefreshTokenRef(t *testing.T) { function TestTokenSource_DerivesKeyWhenNoCachedRef (line 127) | func TestTokenSource_DerivesKeyWhenNoCachedRef(t *testing.T) { function TestTokenSource_TokenRefUpdater_WiredAsConfigPersister (line 153) | func TestTokenSource_TokenRefUpdater_WiredAsConfigPersister(t *testing.T) { function TestSanitizeTokenError (line 186) | func TestSanitizeTokenError(t *testing.T) { function newTokenServer (line 243) | func newTokenServer(t *testing.T, at, rt string) *httptest.Server { FILE: pkg/llmgateway/config.go type ApplyConfig (line 11) | type ApplyConfig struct FILE: pkg/lockfile/cleanup.go type lockRegistry (line 25) | type lockRegistry struct method RegisterLock (line 31) | func (lr *lockRegistry) RegisterLock(lockPath string, lock *flock.Floc... method UnregisterLock (line 38) | func (lr *lockRegistry) UnregisterLock(lockPath string) { method CleanupAll (line 45) | func (lr *lockRegistry) CleanupAll() { function NewTrackedLock (line 64) | func NewTrackedLock(lockPath string) *flock.Flock { function ReleaseTrackedLock (line 71) | func ReleaseTrackedLock(lockPath string, lock *flock.Flock) { function CleanupAllLocks (line 84) | func CleanupAllLocks() { function CleanupStaleLocks (line 90) | func CleanupStaleLocks(directories []string, maxAge time.Duration) { FILE: pkg/lockfile/cleanup_test.go function TestLockRegistry_RegisterLock (line 18) | func TestLockRegistry_RegisterLock(t *testing.T) { function TestLockRegistry_UnregisterLock (line 37) | func TestLockRegistry_UnregisterLock(t *testing.T) { function TestLockRegistry_CleanupAll (line 64) | func TestLockRegistry_CleanupAll(t *testing.T) { function TestNewTrackedLock (line 110) | func TestNewTrackedLock(t *testing.T) { function TestReleaseTrackedLock (line 136) | func TestReleaseTrackedLock(t *testing.T) { function TestCleanupAllLocks (line 178) | func TestCleanupAllLocks(t *testing.T) { function TestCleanupStaleLocks (line 226) | func TestCleanupStaleLocks(t *testing.T) { function TestCleanupStaleLocks_NonexistentDirectory (line 275) | func TestCleanupStaleLocks_NonexistentDirectory(t *testing.T) { function TestCleanupStaleLocks_EmptyDirectoryList (line 286) | func TestCleanupStaleLocks_EmptyDirectoryList(t *testing.T) { function TestLockRegistry_ConcurrentAccess (line 295) | func TestLockRegistry_ConcurrentAccess(t *testing.T) { function TestCleanupStaleLocks_WithActiveFiles (line 337) | func TestCleanupStaleLocks_WithActiveFiles(t *testing.T) { function TestReleaseTrackedLock_AlreadyUnlocked (line 402) | func TestReleaseTrackedLock_AlreadyUnlocked(t *testing.T) { function TestCleanupAllLocks_EmptyRegistry (line 439) | func TestCleanupAllLocks_EmptyRegistry(t *testing.T) { FILE: pkg/mcp/client/client.go constant TransportAuto (line 30) | TransportAuto = "auto" function Connect (line 45) | func Connect(ctx context.Context, serverURL, transport, clientName strin... function newClient (line 62) | func newClient(serverURL, transport string) (*mcpclient.Client, error) { function connectWithAutoDetect (line 88) | func connectWithAutoDetect(ctx context.Context, serverURL, clientName st... function startAndInitialize (line 115) | func startAndInitialize(ctx context.Context, c *mcpclient.Client, client... function resolveTransport (line 135) | func resolveTransport(serverURL, transport string) types.TransportType { FILE: pkg/mcp/middleware.go constant ParserMiddlewareType (line 15) | ParserMiddlewareType = "mcp-parser" constant ToolFilterMiddlewareType (line 16) | ToolFilterMiddlewareType = "tool-filter" constant ToolCallFilterMiddlewareType (line 17) | ToolCallFilterMiddlewareType = "tool-call-filter" type ParserMiddlewareParams (line 21) | type ParserMiddlewareParams struct type ToolOverride (line 26) | type ToolOverride struct type ToolFilterMiddlewareParams (line 32) | type ToolFilterMiddlewareParams struct type ParserMiddleware (line 38) | type ParserMiddleware struct method Handler (line 41) | func (*ParserMiddleware) Handler() types.MiddlewareFunction { method Close (line 46) | func (*ParserMiddleware) Close() error { type ToolFilterMiddleware (line 52) | type ToolFilterMiddleware struct method Handler (line 57) | func (m *ToolFilterMiddleware) Handler() types.MiddlewareFunction { method Close (line 62) | func (*ToolFilterMiddleware) Close() error { function CreateParserMiddleware (line 68) | func CreateParserMiddleware(config *types.MiddlewareConfig, runner types... function CreateToolFilterMiddleware (line 76) | func CreateToolFilterMiddleware(config *types.MiddlewareConfig, runner t... function CreateToolCallFilterMiddleware (line 100) | func CreateToolCallFilterMiddleware(config *types.MiddlewareConfig, runn... FILE: pkg/mcp/middleware_test.go function TestToolFilterMiddleware_Handler (line 20) | func TestToolFilterMiddleware_Handler(t *testing.T) { function TestToolFilterMiddleware_Close (line 45) | func TestToolFilterMiddleware_Close(t *testing.T) { function TestCreateToolFilterMiddleware (line 55) | func TestCreateToolFilterMiddleware(t *testing.T) { function TestCreateToolCallFilterMiddleware (line 159) | func TestCreateToolCallFilterMiddleware(t *testing.T) { function TestToolOverride_JSON (line 263) | func TestToolOverride_JSON(t *testing.T) { function TestToolFilterMiddlewareParams_JSON (line 286) | func TestToolFilterMiddlewareParams_JSON(t *testing.T) { function TestMiddleware_InterfaceCompliance (line 324) | func TestMiddleware_InterfaceCompliance(t *testing.T) { FILE: pkg/mcp/parser.go type contextKey (line 22) | type contextKey constant MCPRequestContextKey (line 26) | MCPRequestContextKey contextKey = "mcp_request" type ParsedMCPRequest (line 30) | type ParsedMCPRequest struct function ParsingMiddleware (line 69) | func ParsingMiddleware(next http.Handler) http.Handler { function GetParsedMCPRequest (line 109) | func GetParsedMCPRequest(ctx context.Context) *ParsedMCPRequest { function shouldParseMCPRequest (line 117) | func shouldParseMCPRequest(r *http.Request) bool { function parseMCPRequest (line 141) | func parseMCPRequest(bodyBytes []byte) *ParsedMCPRequest { type methodHandler (line 183) | type methodHandler function extractResourceAndArguments (line 224) | func extractResourceAndArguments(method string, params json.RawMessage) ... function getStaticResourceID (line 247) | func getStaticResourceID(method string) string { function processMethodWithHandler (line 255) | func processMethodWithHandler(method string, paramsMap map[string]interf... function handleInitializeMethod (line 263) | func handleInitializeMethod(paramsMap map[string]interface{}) (string, m... function handleNamedResourceMethod (line 274) | func handleNamedResourceMethod(paramsMap map[string]interface{}) (string... function handleResourceReadMethod (line 289) | func handleResourceReadMethod(paramsMap map[string]interface{}) (string,... function handleListMethod (line 297) | func handleListMethod(paramsMap map[string]interface{}) (string, map[str... function handleNotificationMethod (line 305) | func handleNotificationMethod(paramsMap map[string]interface{}) (string,... function handleLoggingMethod (line 313) | func handleLoggingMethod(paramsMap map[string]interface{}) (string, map[... function handleCompletionMethod (line 326) | func handleCompletionMethod(paramsMap map[string]interface{}) (string, m... function handleElicitationMethod (line 346) | func handleElicitationMethod(paramsMap map[string]interface{}) (string, ... function handleElicitationCompleteNotificationMethod (line 357) | func handleElicitationCompleteNotificationMethod(paramsMap map[string]in... function handleSamplingMethod (line 368) | func handleSamplingMethod(paramsMap map[string]interface{}) (string, map... function handleResourceSubscribeMethod (line 396) | func handleResourceSubscribeMethod(paramsMap map[string]interface{}) (st... function handleResourceUnsubscribeMethod (line 404) | func handleResourceUnsubscribeMethod(paramsMap map[string]interface{}) (... function handleProgressNotificationMethod (line 413) | func handleProgressNotificationMethod(paramsMap map[string]interface{}) ... function handleCancelledNotificationMethod (line 426) | func handleCancelledNotificationMethod(paramsMap map[string]interface{})... function handleTaskIDMethod (line 441) | func handleTaskIDMethod(paramsMap map[string]interface{}) (string, map[s... function handleTaskStatusNotificationMethod (line 455) | func handleTaskStatusNotificationMethod(paramsMap map[string]interface{}... function GetMCPMethod (line 467) | func GetMCPMethod(ctx context.Context) string { function GetMCPResourceID (line 475) | func GetMCPResourceID(ctx context.Context) string { function GetMCPArguments (line 483) | func GetMCPArguments(ctx context.Context) map[string]interface{} { function GetMCPMeta (line 492) | func GetMCPMeta(ctx context.Context) map[string]interface{} { FILE: pkg/mcp/parser_integration_test.go function TestParsingMiddlewareWithRealMCPClients (line 22) | func TestParsingMiddlewareWithRealMCPClients(t *testing.T) { function TestParsingMiddlewareWithComplexMCPInteractions (line 173) | func TestParsingMiddlewareWithComplexMCPInteractions(t *testing.T) { function createTestMCPServer (line 289) | func createTestMCPServer() *server.MCPServer { function setupSSEServer (line 347) | func setupSSEServer(t *testing.T, mcpServer *server.MCPServer, ssePath, ... function setupStreamableHTTPServer (line 381) | func setupStreamableHTTPServer(t *testing.T, mcpServer *server.MCPServer... function TestParsingMiddlewareDoesNotParseSSEEstablishment (line 407) | func TestParsingMiddlewareDoesNotParseSSEEstablishment(t *testing.T) { FILE: pkg/mcp/parser_test.go function TestParsingMiddleware (line 19) | func TestParsingMiddleware(t *testing.T) { function TestExtractResourceAndArguments (line 227) | func TestExtractResourceAndArguments(t *testing.T) { function TestConvenienceFunctions (line 810) | func TestConvenienceFunctions(t *testing.T) { function TestMetaFieldParsing (line 858) | func TestMetaFieldParsing(t *testing.T) { function TestMetaFieldInvalidTypes (line 1054) | func TestMetaFieldInvalidTypes(t *testing.T) { function TestShouldParseMCPRequest (line 1135) | func TestShouldParseMCPRequest(t *testing.T) { function TestParseMCPRequestWithInvalidJSON (line 1228) | func TestParseMCPRequestWithInvalidJSON(t *testing.T) { function TestMiddlewarePreservesRequestBody (line 1261) | func TestMiddlewarePreservesRequestBody(t *testing.T) { function TestParsingMiddlewareErrorHandling (line 1289) | func TestParsingMiddlewareErrorHandling(t *testing.T) { type errorReader (line 1366) | type errorReader struct method Read (line 1368) | func (*errorReader) Read(_ []byte) (n int, err error) { function TestExtractResourceAndArgumentsNilParams (line 1372) | func TestExtractResourceAndArgumentsNilParams(t *testing.T) { function TestParsingMiddlewareWithBatchRequests (line 1407) | func TestParsingMiddlewareWithBatchRequests(t *testing.T) { function TestConvenienceFunctionsWithNilContext (line 1433) | func TestConvenienceFunctionsWithNilContext(t *testing.T) { function TestHandlerFunctionsEdgeCases (line 1443) | func TestHandlerFunctionsEdgeCases(t *testing.T) { function TestParsingMiddlewareIntegration (line 1552) | func TestParsingMiddlewareIntegration(t *testing.T) { FILE: pkg/mcp/response.go type ParsedMCPResponse (line 14) | type ParsedMCPResponse struct type jsonRPCError (line 27) | type jsonRPCError struct type jsonRPCResponseEnvelope (line 35) | type jsonRPCResponseEnvelope struct function ParseMCPResponse (line 43) | func ParseMCPResponse(body []byte) *ParsedMCPResponse { FILE: pkg/mcp/response_test.go function TestParseMCPResponse (line 13) | func TestParseMCPResponse(t *testing.T) { FILE: pkg/mcp/server/get_server_logs.go type getServerLogsArgs (line 15) | type getServerLogsArgs struct method GetServerLogs (line 20) | func (h *Handler) GetServerLogs(ctx context.Context, request mcp.CallToo... FILE: pkg/mcp/server/handler.go type Handler (line 17) | type Handler struct function NewHandler (line 25) | func NewHandler(ctx context.Context) (*Handler, error) { FILE: pkg/mcp/server/handler_mock_test.go function TestHandler_SearchRegistry_WithMocks (line 22) | func TestHandler_SearchRegistry_WithMocks(t *testing.T) { function TestHandler_ListServers_WithMocks (line 161) | func TestHandler_ListServers_WithMocks(t *testing.T) { function TestHandler_StopServer_WithMocks (line 280) | func TestHandler_StopServer_WithMocks(t *testing.T) { function TestHandler_RemoveServer_WithMocks (line 364) | func TestHandler_RemoveServer_WithMocks(t *testing.T) { function TestHandler_GetServerLogs_WithMocks (line 448) | func TestHandler_GetServerLogs_WithMocks(t *testing.T) { FILE: pkg/mcp/server/handler_test.go function TestParseRunServerArgs (line 18) | func TestParseRunServerArgs(t *testing.T) { function TestConfigureTransport (line 140) | func TestConfigureTransport(t *testing.T) { function TestPrepareEnvironmentVariables (line 192) | func TestPrepareEnvironmentVariables(t *testing.T) { function TestBuildServerConfig (line 274) | func TestBuildServerConfig(t *testing.T) { function TestPrepareSecrets (line 357) | func TestPrepareSecrets(t *testing.T) { FILE: pkg/mcp/server/list_secrets.go type SecretInfo (line 16) | type SecretInfo struct type ListSecretsResponse (line 25) | type ListSecretsResponse struct method ListSecrets (line 32) | func (h *Handler) ListSecrets(ctx context.Context, _ mcp.CallToolRequest... FILE: pkg/mcp/server/list_secrets_test.go function TestHandler_ListSecrets (line 20) | func TestHandler_ListSecrets(t *testing.T) { FILE: pkg/mcp/server/list_servers.go type WorkloadInfo (line 14) | type WorkloadInfo struct type ListServersResponse (line 23) | type ListServersResponse struct method ListServers (line 28) | func (h *Handler) ListServers(ctx context.Context, _ mcp.CallToolRequest... FILE: pkg/mcp/server/remove_server.go type removeServerArgs (line 14) | type removeServerArgs struct method RemoveServer (line 19) | func (h *Handler) RemoveServer(ctx context.Context, request mcp.CallTool... FILE: pkg/mcp/server/run_server.go type SecretMapping (line 24) | type SecretMapping struct type runServerArgs (line 30) | type runServerArgs struct method RunServer (line 39) | func (h *Handler) RunServer(ctx context.Context, request mcp.CallToolReq... function parseRunServerArgs (line 116) | func parseRunServerArgs(request mcp.CallToolRequest) (*runServerArgs, er... function buildServerConfig (line 136) | func buildServerConfig( function configureTransport (line 176) | func configureTransport(opts *[]runner.RunConfigBuilderOption, imageMeta... function prepareEnvironmentVariables (line 190) | func prepareEnvironmentVariables(imageMetadata *types.ImageMetadata, use... function prepareSecrets (line 211) | func prepareSecrets(secretMappings []SecretMapping) []string { method saveAndRunServer (line 226) | func (h *Handler) saveAndRunServer(ctx context.Context, runConfig *runne... FILE: pkg/mcp/server/search_registry.go type searchRegistryArgs (line 16) | type searchRegistryArgs struct type Info (line 21) | type Info struct type SearchRegistryResponse (line 32) | type SearchRegistryResponse struct method SearchRegistry (line 37) | func (h *Handler) SearchRegistry(_ context.Context, request mcp.CallTool... FILE: pkg/mcp/server/server.go constant DefaultMCPPort (line 23) | DefaultMCPPort = "4483" type Config (line 27) | type Config struct type Server (line 33) | type Server struct method Start (line 93) | func (s *Server) Start() error { method Shutdown (line 104) | func (s *Server) Shutdown(ctx context.Context) error { method GetAddress (line 110) | func (s *Server) GetAddress() string { function New (line 41) | func New(ctx context.Context, config *Config) (*Server, error) { function newServerWithHandler (line 54) | func newServerWithHandler(ctx context.Context, config *Config, handler *... function boolPtr (line 115) | func boolPtr(b bool) *bool { function registerTools (line 120) | func registerTools(mcpServer *server.MCPServer, handler *Handler) { FILE: pkg/mcp/server/server_test.go function newTestServer (line 26) | func newTestServer(t *testing.T, cfg *Config) *Server { function TestNew (line 45) | func TestNew(t *testing.T) { function TestServer_GetAddress (line 87) | func TestServer_GetAddress(t *testing.T) { function TestServer_StartAndShutdown (line 129) | func TestServer_StartAndShutdown(t *testing.T) { function TestDefaultMCPPort (line 176) | func TestDefaultMCPPort(t *testing.T) { FILE: pkg/mcp/server/set_secret.go type setSecretArgs (line 19) | type setSecretArgs struct type SetSecretResponse (line 25) | type SetSecretResponse struct method SetSecret (line 31) | func (h *Handler) SetSecret(ctx context.Context, request mcp.CallToolReq... FILE: pkg/mcp/server/set_secret_test.go function TestHandler_SetSecret (line 23) | func TestHandler_SetSecret(t *testing.T) { FILE: pkg/mcp/server/stop_server.go type stopServerArgs (line 14) | type stopServerArgs struct method StopServer (line 19) | func (h *Handler) StopServer(ctx context.Context, request mcp.CallToolRe... FILE: pkg/mcp/tool_filter.go type toolOverrideEntry (line 24) | type toolOverrideEntry struct type toolMiddlewareConfig (line 42) | type toolMiddlewareConfig struct method isToolInFilter (line 48) | func (c *toolMiddlewareConfig) isToolInFilter(toolName string) bool { method getToolCallActualName (line 57) | func (c *toolMiddlewareConfig) getToolCallActualName(toolName string) ... method getToolListOverride (line 66) | func (c *toolMiddlewareConfig) getToolListOverride(toolName string) (*... type ToolMiddlewareOption (line 77) | type ToolMiddlewareOption type SimpleTool (line 81) | type SimpleTool struct function ApplyToolFiltering (line 91) | func ApplyToolFiltering(opts []ToolMiddlewareOption, tools []SimpleTool)... function WithToolsFilter (line 111) | func WithToolsFilter(toolsFilter ...string) ToolMiddlewareOption { function WithToolsOverride (line 130) | func WithToolsOverride(actualName string, overrideName string, overrideD... function NewListToolsMappingMiddleware (line 163) | func NewListToolsMappingMiddleware(opts ...ToolMiddlewareOption) (types.... function NewToolCallMappingMiddleware (line 210) | func NewToolCallMappingMiddleware(opts ...ToolMiddlewareOption) (types.M... type toolFilterWriter (line 312) | type toolFilterWriter struct method WriteHeader (line 325) | func (rw *toolFilterWriter) WriteHeader(statusCode int) { method Write (line 331) | func (rw *toolFilterWriter) Write(data []byte) (int, error) { method Flush (line 337) | func (rw *toolFilterWriter) Flush() { type toolsListResponse (line 372) | type toolsListResponse struct type toolCallRequest (line 380) | type toolCallRequest struct function processBuffer (line 388) | func processBuffer( function processEventStream (line 429) | func processEventStream( function processToolsListResponse (line 504) | func processToolsListResponse( function applyFilteringAndOverrides (line 573) | func applyFilteringAndOverrides(config *toolMiddlewareConfig, tools []Si... function findOriginalName (line 601) | func findOriginalName(config *toolMiddlewareConfig, overriddenName strin... type toolCallFixAction (line 624) | type toolCallFixAction interface type toolCallFilter (line 628) | type toolCallFilter struct type toolCallOverride (line 632) | type toolCallOverride struct method Name (line 637) | func (t *toolCallOverride) Name() string { type toolCallBogus (line 643) | type toolCallBogus struct type toolCallNoAction (line 647) | type toolCallNoAction struct function processToolCallRequest (line 653) | func processToolCallRequest( FILE: pkg/mcp/tool_filter_test.go function TestProcessToolCallRequest (line 16) | func TestProcessToolCallRequest(t *testing.T) { function TestProcessToolsListResponse (line 255) | func TestProcessToolsListResponse(t *testing.T) { function TestProcessSSEEvents (line 683) | func TestProcessSSEEvents(t *testing.T) { function TestProcessBuffer (line 836) | func TestProcessBuffer(t *testing.T) { function TestToolMiddlewareConfig (line 911) | func TestToolMiddlewareConfig(t *testing.T) { function createToolsListResponse (line 1083) | func createToolsListResponse(tools []map[string]any) toolsListResponse { function TestProcessToolsListResponse_JSONEncoding (line 1095) | func TestProcessToolsListResponse_JSONEncoding(t *testing.T) { function TestToolFilterWriter_Flush (line 1138) | func TestToolFilterWriter_Flush(t *testing.T) { function TestToolFilterWriter_WriteHeader (line 1261) | func TestToolFilterWriter_WriteHeader(t *testing.T) { type mockResponseWriter (line 1318) | type mockResponseWriter struct method Header (line 1325) | func (m *mockResponseWriter) Header() http.Header { method Write (line 1329) | func (m *mockResponseWriter) Write(data []byte) (int, error) { method WriteHeader (line 1334) | func (m *mockResponseWriter) WriteHeader(statusCode int) { function TestNewToolFilterMiddleware (line 1338) | func TestNewToolFilterMiddleware(t *testing.T) { function TestWithToolsFilter (line 1392) | func TestWithToolsFilter(t *testing.T) { function TestWithToolsOverride (line 1441) | func TestWithToolsOverride(t *testing.T) { FILE: pkg/mcp/tool_middleware_test.go function TestNewListToolsMappingMiddleware_Scenarios (line 21) | func TestNewListToolsMappingMiddleware_Scenarios(t *testing.T) { function TestNewToolCallMappingMiddleware_Scenarios (line 185) | func TestNewToolCallMappingMiddleware_Scenarios(t *testing.T) { function TestNewListToolsMappingMiddleware_SSE_Scenarios (line 403) | func TestNewListToolsMappingMiddleware_SSE_Scenarios(t *testing.T) { function TestNewListToolsMappingMiddleware_ErrorCases (line 502) | func TestNewListToolsMappingMiddleware_ErrorCases(t *testing.T) { function TestNewToolCallMappingMiddleware_ErrorCases (line 561) | func TestNewToolCallMappingMiddleware_ErrorCases(t *testing.T) { function TestSSEBufferFlushes (line 620) | func TestSSEBufferFlushes(t *testing.T) { function TestJSONBufferFlushes (line 676) | func TestJSONBufferFlushes(t *testing.T) { FILE: pkg/mcp/utils.go function ConvertToJSONRPC2ID (line 13) | func ConvertToJSONRPC2ID(id interface{}) (jsonrpc2.ID, error) { FILE: pkg/mcp/utils_test.go function TestConvertToJSONRPC2ID (line 14) | func TestConvertToJSONRPC2ID(t *testing.T) { FILE: pkg/migration/middleware_telemetry.go function CheckAndPerformMiddlewareTelemetryMigration (line 20) | func CheckAndPerformMiddlewareTelemetryMigration() { FILE: pkg/migration/migration.go function EnsureDefaultGroupExists (line 21) | func EnsureDefaultGroupExists() error { function ensureDefaultGroupExists (line 28) | func ensureDefaultGroupExists(ctx context.Context) error { FILE: pkg/migration/secret_scope.go function CheckAndPerformSecretScopeMigration (line 20) | func CheckAndPerformSecretScopeMigration() { FILE: pkg/migration/telemetry_config.go function CheckAndPerformTelemetryConfigMigration (line 25) | func CheckAndPerformTelemetryConfigMigration() { function performTelemetryConfigMigration (line 51) | func performTelemetryConfigMigration() error { function migrateSamplingRate (line 86) | func migrateSamplingRate(telemetryConfig map[string]interface{}) (bool, ... function migrateTelemetryConfigJSON (line 134) | func migrateTelemetryConfigJSON(inputJSON []byte) ([]byte, error) { function migrateTelemetryConfigForWorkload (line 244) | func migrateTelemetryConfigForWorkload(ctx context.Context, store state.... FILE: pkg/migration/telemetry_config_test.go function Test_migrateTelemetryConfigJSON (line 14) | func Test_migrateTelemetryConfigJSON(t *testing.T) { function Test_migrateTelemetryConfigJSON_Idempotent (line 497) | func Test_migrateTelemetryConfigJSON_Idempotent(t *testing.T) { FILE: pkg/networking/fetch.go constant maxResponseSize (line 29) | maxResponseSize = 1024 * 1024 constant contentTypeJSON (line 32) | contentTypeJSON = "application/json" constant contentTypeFormURLEncoded (line 35) | contentTypeFormURLEncoded = "application/x-www-form-urlencoded" type FetchResult (line 39) | type FetchResult struct type FetchOption (line 48) | type FetchOption type fetchOptions (line 51) | type fetchOptions struct function newFetchOptions (line 59) | func newFetchOptions() *fetchOptions { function WithMethod (line 67) | func WithMethod(method string) FetchOption { function WithHeader (line 74) | func WithHeader(key, value string) FetchOption { function WithBody (line 81) | func WithBody(body io.Reader) FetchOption { function WithErrorHandler (line 91) | func WithErrorHandler(handler func(*http.Response, []byte) error) FetchO... function FetchJSON (line 100) | func FetchJSON[T any]( function FetchJSONWithForm (line 174) | func FetchJSONWithForm[T any]( FILE: pkg/networking/fetch_test.go type testResponse (line 34) | type testResponse struct function TestFetchJSON_SuccessfulGET (line 39) | func TestFetchJSON_SuccessfulGET(t *testing.T) { function TestFetchJSON_SuccessfulPOST (line 63) | func TestFetchJSON_SuccessfulPOST(t *testing.T) { function TestFetchJSONWithForm_Success (line 90) | func TestFetchJSONWithForm_Success(t *testing.T) { function TestFetchJSON_HTTPError4xx (line 123) | func TestFetchJSON_HTTPError4xx(t *testing.T) { function TestFetchJSON_HTTPError5xx (line 167) | func TestFetchJSON_HTTPError5xx(t *testing.T) { function TestFetchJSON_ContentTypeValidation (line 201) | func TestFetchJSON_ContentTypeValidation(t *testing.T) { function TestFetchJSON_ErrorDoesNotLeakBody (line 259) | func TestFetchJSON_ErrorDoesNotLeakBody(t *testing.T) { function TestFetchJSON_CustomHeaders (line 281) | func TestFetchJSON_CustomHeaders(t *testing.T) { function TestFetchJSON_CustomErrorHandler (line 351) | func TestFetchJSON_CustomErrorHandler(t *testing.T) { function TestFetchJSON_ContextCancellation (line 417) | func TestFetchJSON_ContextCancellation(t *testing.T) { function TestFetchJSON_InvalidJSON (line 461) | func TestFetchJSON_InvalidJSON(t *testing.T) { function TestFetchJSON_EmptyResponse (line 477) | func TestFetchJSON_EmptyResponse(t *testing.T) { function TestFetchJSON_InvalidURL (line 494) | func TestFetchJSON_InvalidURL(t *testing.T) { function TestFetchJSON_NetworkError (line 506) | func TestFetchJSON_NetworkError(t *testing.T) { function TestFetchJSONWithForm_AdditionalOptions (line 519) | func TestFetchJSONWithForm_AdditionalOptions(t *testing.T) { FILE: pkg/networking/http_client.go type HTTPClient (line 23) | type HTTPClient interface constant HttpTimeout (line 30) | HttpTimeout = 30 * time.Second constant HttpsScheme (line 33) | HttpsScheme = "https" constant HttpScheme (line 36) | HttpScheme = "http" function protectedDialerControl (line 39) | func protectedDialerControl(_, address string, _ syscall.RawConn) error { type ValidatingTransport (line 49) | type ValidatingTransport struct method RoundTrip (line 55) | func (t *ValidatingTransport) RoundTrip(req *http.Request) (*http.Resp... function createTokenSourceFromFile (line 76) | func createTokenSourceFromFile(tokenFile string) (oauth2.TokenSource, er... type HttpClientBuilder (line 98) | type HttpClientBuilder struct method WithCABundle (line 118) | func (b *HttpClientBuilder) WithCABundle(path string) *HttpClientBuild... method WithTokenFromFile (line 124) | func (b *HttpClientBuilder) WithTokenFromFile(path string) *HttpClient... method WithPrivateIPs (line 130) | func (b *HttpClientBuilder) WithPrivateIPs(allow bool) *HttpClientBuil... method WithInsecureAllowHTTP (line 137) | func (b *HttpClientBuilder) WithInsecureAllowHTTP(allow bool) *HttpCli... method WithTimeout (line 143) | func (b *HttpClientBuilder) WithTimeout(timeout time.Duration) *HttpCl... method Build (line 149) | func (b *HttpClientBuilder) Build() (*http.Client, error) { function NewHttpClientBuilder (line 109) | func NewHttpClientBuilder() *HttpClientBuilder { FILE: pkg/networking/http_client_test.go function TestNewHttpClientBuilder (line 22) | func TestNewHttpClientBuilder(t *testing.T) { function TestHttpClientBuilder_WithCABundle (line 35) | func TestHttpClientBuilder_WithCABundle(t *testing.T) { function TestHttpClientBuilder_WithTokenFromFile (line 47) | func TestHttpClientBuilder_WithTokenFromFile(t *testing.T) { function TestHttpClientBuilder_WithPrivateIPs (line 59) | func TestHttpClientBuilder_WithPrivateIPs(t *testing.T) { function TestHttpClientBuilder_Build (line 89) | func TestHttpClientBuilder_Build(t *testing.T) { function TestValidatingTransport_RoundTrip (line 350) | func TestValidatingTransport_RoundTrip(t *testing.T) { function TestOAuth2Transport_RoundTrip (line 431) | func TestOAuth2Transport_RoundTrip(t *testing.T) { function TestCreateTokenSourceFromFile (line 474) | func TestCreateTokenSourceFromFile(t *testing.T) { type mockRoundTripper (line 557) | type mockRoundTripper struct method RoundTrip (line 563) | func (m *mockRoundTripper) RoundTrip(_ *http.Request) (*http.Response,... FILE: pkg/networking/http_error.go type HTTPError (line 23) | type HTTPError struct method Error (line 35) | func (e *HTTPError) Error() string { function NewHTTPError (line 40) | func NewHTTPError(statusCode int, url, message string) error { function IsHTTPError (line 50) | func IsHTTPError(err error, statusCode int) bool { FILE: pkg/networking/http_error_test.go function TestNewHTTPError (line 26) | func TestNewHTTPError(t *testing.T) { function TestHTTPError_Error (line 39) | func TestHTTPError_Error(t *testing.T) { function TestIsHTTPError (line 51) | func TestIsHTTPError(t *testing.T) { FILE: pkg/networking/port.go constant MinPort (line 22) | MinPort = 10000 constant MaxPort (line 24) | MaxPort = 65535 constant MaxAttempts (line 26) | MaxAttempts = 10 function IsAvailable (line 30) | func IsAvailable(port int) bool { function IsIPv6Available (line 66) | func IsIPv6Available() bool { function FindAvailable (line 100) | func FindAvailable() int { function FindOrUsePort (line 129) | func FindOrUsePort(port int) (int, error) { function ValidateCallbackPort (line 154) | func ValidateCallbackPort(callbackPort int, clientID string) error { function IsPreRegisteredClient (line 181) | func IsPreRegisteredClient(clientID string) bool { function GetProcessOnPort (line 189) | func GetProcessOnPort(port int) (int, error) { function ParsePortSpec (line 210) | func ParsePortSpec(portSpec string) (string, int, error) { FILE: pkg/networking/port_test.go function TestValidateCallbackPort (line 16) | func TestValidateCallbackPort(t *testing.T) { function TestGetProcessOnPort_InvalidPort (line 85) | func TestGetProcessOnPort_InvalidPort(t *testing.T) { function TestGetProcessOnPort_FreePort (line 106) | func TestGetProcessOnPort_FreePort(t *testing.T) { function TestGetProcessOnPort_PortInUse (line 118) | func TestGetProcessOnPort_PortInUse(t *testing.T) { function TestParsePortSpec (line 135) | func TestParsePortSpec(t *testing.T) { FILE: pkg/networking/utilities.go constant ErrPrivateIpAddress (line 19) | ErrPrivateIpAddress = "the provided URL redirects to a private IP addres... function init (line 22) | func init() { function IsPrivateIP (line 42) | func IsPrivateIP(ip net.IP) bool { function AddressReferencesPrivateIp (line 55) | func AddressReferencesPrivateIp(address string) error { function ValidateEndpointURL (line 70) | func ValidateEndpointURL(endpoint string) error { function ValidateEndpointURLWithInsecure (line 77) | func ValidateEndpointURLWithInsecure(endpoint string, insecureAllowHTTP ... function validateEndpointURLWithSkip (line 83) | func validateEndpointURLWithSkip(endpoint string, skipValidation bool) e... function ValidateHTTPSURL (line 103) | func ValidateHTTPSURL(rawURL string) error { function ValidateIssuerURL (line 121) | func ValidateIssuerURL(rawURL string) error { function ValidateLoopbackAddress (line 139) | func ValidateLoopbackAddress(addr string) error { function IsLocalhost (line 155) | func IsLocalhost(host string) bool { function IsLoopbackHost (line 164) | func IsLoopbackHost(host string) bool { function IsURL (line 182) | func IsURL(input string) bool { FILE: pkg/networking/utilities_test.go function TestIsURL (line 12) | func TestIsURL(t *testing.T) { function TestIsLocalhost (line 98) | func TestIsLocalhost(t *testing.T) { function TestAddressReferencesPrivateIp (line 300) | func TestAddressReferencesPrivateIp(t *testing.T) { function TestValidateEndpointURL (line 393) | func TestValidateEndpointURL(t *testing.T) { function TestValidateHTTPSURL (line 494) | func TestValidateHTTPSURL(t *testing.T) { function TestValidateIssuerURL (line 558) | func TestValidateIssuerURL(t *testing.T) { function TestValidateLoopbackAddress (line 622) | func TestValidateLoopbackAddress(t *testing.T) { FILE: pkg/oauthproto/cimd.go constant ToolHiveClientMetadataDocumentURL (line 13) | ToolHiveClientMetadataDocumentURL = "https://toolhive.dev/oauth/client-m... function IsClientIDMetadataDocumentURL (line 24) | func IsClientIDMetadataDocumentURL(clientID string) bool { FILE: pkg/oauthproto/cimd_test.go function TestToolHiveClientMetadataDocumentURL (line 10) | func TestToolHiveClientMetadataDocumentURL(t *testing.T) { function TestIsClientIDMetadataDocumentURL (line 19) | func TestIsClientIDMetadataDocumentURL(t *testing.T) { FILE: pkg/oauthproto/constants.go constant WellKnownOIDCPath (line 12) | WellKnownOIDCPath = "/.well-known/openid-configuration" constant WellKnownOAuthServerPath (line 16) | WellKnownOAuthServerPath = "/.well-known/oauth-authorization-server" constant WellKnownOAuthResourcePath (line 21) | WellKnownOAuthResourcePath = "/.well-known/oauth-protected-resource" constant GrantTypeAuthorizationCode (line 27) | GrantTypeAuthorizationCode = "authorization_code" constant GrantTypeRefreshToken (line 30) | GrantTypeRefreshToken = "refresh_token" constant ResponseTypeCode (line 36) | ResponseTypeCode = "code" constant TokenEndpointAuthMethodNone (line 43) | TokenEndpointAuthMethodNone = "none" constant PKCEMethodS256 (line 49) | PKCEMethodS256 = "S256" constant TokenTypeAccessToken (line 57) | TokenTypeAccessToken = "urn:ietf:params:oauth:token-type:access_token" constant TokenTypeIDToken (line 60) | TokenTypeIDToken = "urn:ietf:params:oauth:token-type:id_token" constant TokenTypeJWT (line 63) | TokenTypeJWT = "urn:ietf:params:oauth:token-type:jwt" constant GrantTypeTokenExchange (line 71) | GrantTypeTokenExchange = "urn:ietf:params:oauth:grant-type:token-exchange" constant UserAgent (line 78) | UserAgent = "ToolHive/1.0" constant defaultHTTPTimeout (line 85) | defaultHTTPTimeout = 30 * time.Second constant maxResponseBodySize (line 86) | maxResponseBodySize = 1 << 20 constant schemeHTTPS (line 94) | schemeHTTPS = "https" FILE: pkg/oauthproto/dcr.go constant ToolHiveMCPClientName (line 19) | ToolHiveMCPClientName = "ToolHive MCP Client" type DynamicClientRegistrationRequest (line 22) | type DynamicClientRegistrationRequest struct type ScopeList (line 49) | type ScopeList method MarshalJSON (line 61) | func (s ScopeList) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 74) | func (s *ScopeList) UnmarshalJSON(data []byte) error { type DynamicClientRegistrationResponse (line 114) | type DynamicClientRegistrationResponse struct function RegisterClientDynamically (line 140) | func RegisterClientDynamically( function validateRegistrationEndpoint (line 195) | func validateRegistrationEndpoint(registrationEndpoint string) (*url.URL... function validateAndSetDefaults (line 210) | func validateAndSetDefaults(request *DynamicClientRegistrationRequest) e... function createHTTPRequest (line 241) | func createHTTPRequest( function NewDefaultDCRClient (line 278) | func NewDefaultDCRClient() *http.Client { function buildHTTPClient (line 289) | func buildHTTPClient(client *http.Client) *http.Client { function handleHTTPResponse (line 297) | func handleHTTPResponse(resp *http.Response) (*DynamicClientRegistration... FILE: pkg/oauthproto/dcr_test.go function TestRegisterClientDynamically (line 21) | func TestRegisterClientDynamically(t *testing.T) { function TestRegisterClientDynamically_NilClientUsesDefault (line 202) | func TestRegisterClientDynamically_NilClientUsesDefault(t *testing.T) { function TestRegisterClientDynamically_CallerSuppliedClient (line 225) | func TestRegisterClientDynamically_CallerSuppliedClient(t *testing.T) { function TestHandleHTTPResponse_DCRNotSupportedMessageIsProtocolNeutral (line 248) | func TestHandleHTTPResponse_DCRNotSupportedMessageIsProtocolNeutral(t *t... function TestValidateRegistrationEndpoint (line 284) | func TestValidateRegistrationEndpoint(t *testing.T) { function TestValidateAndSetDefaults (line 347) | func TestValidateAndSetDefaults(t *testing.T) { function TestScopeList_MarshalJSON (line 413) | func TestScopeList_MarshalJSON(t *testing.T) { function TestScopeList_UnmarshalJSON (line 481) | func TestScopeList_UnmarshalJSON(t *testing.T) { function TestDynamicClientRegistrationRequest_ScopeSerialization (line 556) | func TestDynamicClientRegistrationRequest_ScopeSerialization(t *testing.... function TestIsLoopbackHost (line 618) | func TestIsLoopbackHost(t *testing.T) { function TestDynamicClientRegistrationResponse_RoundTrip (line 665) | func TestDynamicClientRegistrationResponse_RoundTrip(t *testing.T) { function TestRegisterClientDynamically_MissingClientID (line 684) | func TestRegisterClientDynamically_MissingClientID(t *testing.T) { function TestRegisterClientDynamically_NonJSONContentType (line 705) | func TestRegisterClientDynamically_NonJSONContentType(t *testing.T) { function TestRegisterClientDynamically_LargeResponseBodyCapped (line 728) | func TestRegisterClientDynamically_LargeResponseBodyCapped(t *testing.T) { FILE: pkg/oauthproto/discovery.go constant discoveryMaxResponseSize (line 30) | discoveryMaxResponseSize = 1024 * 1024 function FetchAuthorizationServerMetadata (line 81) | func FetchAuthorizationServerMetadata( function buildDiscoveryURLs (line 135) | func buildDiscoveryURLs(issuer string) ([]string, error) { function buildDiscoveryHTTPClient (line 191) | func buildDiscoveryHTTPClient(client *http.Client) *http.Client { function FetchAuthorizationServerMetadataFromURL (line 228) | func FetchAuthorizationServerMetadataFromURL( function fetchDiscoveryDocument (line 270) | func fetchDiscoveryDocument( type AuthorizationServerMetadata (line 323) | type AuthorizationServerMetadata struct type OIDCDiscoveryDocument (line 373) | type OIDCDiscoveryDocument struct method Validate (line 389) | func (d *OIDCDiscoveryDocument) Validate(isOIDC bool) error { method SupportsPKCE (line 409) | func (d *OIDCDiscoveryDocument) SupportsPKCE() bool { method SupportsGrantType (line 419) | func (d *OIDCDiscoveryDocument) SupportsGrantType(grantType string) bo... FILE: pkg/oauthproto/discovery_test.go function TestOIDCDiscoveryDocument_Validate (line 22) | func TestOIDCDiscoveryDocument_Validate(t *testing.T) { function TestOIDCDiscoveryDocument_SupportsPKCE (line 69) | func TestOIDCDiscoveryDocument_SupportsPKCE(t *testing.T) { function TestOIDCDiscoveryDocument_SupportsGrantType (line 99) | func TestOIDCDiscoveryDocument_SupportsGrantType(t *testing.T) { function writeJSONMetadata (line 132) | func writeJSONMetadata(w http.ResponseWriter, md AuthorizationServerMeta... function TestFetchAuthorizationServerMetadata (line 137) | func TestFetchAuthorizationServerMetadata(t *testing.T) { function TestFetchAuthorizationServerMetadata_InvalidIssuer (line 229) | func TestFetchAuthorizationServerMetadata_InvalidIssuer(t *testing.T) { function TestFetchAuthorizationServerMetadata_AllowsLoopbackHTTP (line 257) | func TestFetchAuthorizationServerMetadata_AllowsLoopbackHTTP(t *testing.... function TestFetchAuthorizationServerMetadata_TimeoutOverridesCallerContext (line 286) | func TestFetchAuthorizationServerMetadata_TimeoutOverridesCallerContext(... function TestFetchAuthorizationServerMetadata_IssuerMismatch (line 323) | func TestFetchAuthorizationServerMetadata_IssuerMismatch(t *testing.T) { function TestFetchAuthorizationServerMetadata_MissingRegistrationEndpoint (line 348) | func TestFetchAuthorizationServerMetadata_MissingRegistrationEndpoint(t ... function TestFetchAuthorizationServerMetadata_PreferFullDocOverPartial (line 391) | func TestFetchAuthorizationServerMetadata_PreferFullDocOverPartial(t *te... type errSentinelTransport (line 435) | type errSentinelTransport struct method RoundTrip (line 437) | func (errSentinelTransport) RoundTrip(_ *http.Request) (*http.Response... function TestFetchAuthorizationServerMetadata_AggregatedErrorPreservesWrap (line 444) | func TestFetchAuthorizationServerMetadata_AggregatedErrorPreservesWrap(t... function TestFetchAuthorizationServerMetadata_TenantWithEscapedChars (line 462) | func TestFetchAuthorizationServerMetadata_TenantWithEscapedChars(t *test... function TestFetchAuthorizationServerMetadataFromURL (line 497) | func TestFetchAuthorizationServerMetadataFromURL(t *testing.T) { function TestFetchAuthorizationServerMetadataFromURL_IssuerMismatchRejected (line 540) | func TestFetchAuthorizationServerMetadataFromURL_IssuerMismatchRejected(... function TestFetchAuthorizationServerMetadataFromURL_MissingRegistrationEndpoint (line 564) | func TestFetchAuthorizationServerMetadataFromURL_MissingRegistrationEndp... function TestFetchAuthorizationServerMetadataFromURL_InputValidation (line 593) | func TestFetchAuthorizationServerMetadataFromURL_InputValidation(t *test... function TestFetchAuthorizationServerMetadataFromURL_AllowsLoopbackHTTP (line 639) | func TestFetchAuthorizationServerMetadataFromURL_AllowsLoopbackHTTP(t *t... function TestFetchAuthorizationServerMetadata_DedupesPathInsertionAndBare (line 671) | func TestFetchAuthorizationServerMetadata_DedupesPathInsertionAndBare(t ... FILE: pkg/oauthproto/grants.go function Redact (line 35) | func Redact(value string) string { type TokenResponse (line 50) | type TokenResponse struct function ParseTokenResponse (line 86) | func ParseTokenResponse(resp *http.Response, body []byte) (*TokenRespons... function NewFormRequest (line 130) | func NewFormRequest( function DoTokenRequest (line 185) | func DoTokenRequest(client *http.Client, req *http.Request) (*TokenRespo... function DefaultHTTPClient (line 235) | func DefaultHTTPClient() *http.Client { function init (line 245) | func init() { type tokenJSON (line 272) | type tokenJSON struct type expirationTime (line 291) | type expirationTime method UnmarshalJSON (line 294) | func (e *expirationTime) UnmarshalJSON(b []byte) error { type retrieveErrorBody (line 319) | type retrieveErrorBody struct function parseRetrieveError (line 333) | func parseRetrieveError(resp *http.Response, body []byte) *oauth2.Retrie... FILE: pkg/oauthproto/grants_test.go function TestRedact (line 24) | func TestRedact(t *testing.T) { function TestDefaultHTTPClient_TimeoutsAndTransport (line 30) | func TestDefaultHTTPClient_TimeoutsAndTransport(t *testing.T) { function TestDefaultHTTPClient_ConcurrentUse (line 115) | func TestDefaultHTTPClient_ConcurrentUse(t *testing.T) { function TestExpirationTime_UnmarshalJSON (line 143) | func TestExpirationTime_UnmarshalJSON(t *testing.T) { function TestParseTokenResponse_Success (line 179) | func TestParseTokenResponse_Success(t *testing.T) { function TestParseTokenResponse_Failures (line 322) | func TestParseTokenResponse_Failures(t *testing.T) { function TestParseTokenResponse_RetrieveErrorPaths (line 356) | func TestParseTokenResponse_RetrieveErrorPaths(t *testing.T) { function TestNewFormRequest (line 427) | func TestNewFormRequest(t *testing.T) { function TestNewFormRequest_InvalidEndpoint (line 511) | func TestNewFormRequest_InvalidEndpoint(t *testing.T) { function TestDoTokenRequest_NilClientUsesDefault (line 520) | func TestDoTokenRequest_NilClientUsesDefault(t *testing.T) { function TestDoTokenRequest_TwoXXWithErrorRoutesToRetrieveError (line 539) | func TestDoTokenRequest_TwoXXWithErrorRoutesToRetrieveError(t *testing.T) { function TestDoTokenRequest_ContextCancellation (line 565) | func TestDoTokenRequest_ContextCancellation(t *testing.T) { type trackingBody (line 592) | type trackingBody struct method Read (line 599) | func (b *trackingBody) Read(p []byte) (int, error) { method Close (line 606) | func (b *trackingBody) Close() error { type trackingTransport (line 613) | type trackingTransport struct method RoundTrip (line 620) | func (t *trackingTransport) RoundTrip(_ *http.Request) (*http.Response... function TestDoTokenRequest_ClosesBody (line 637) | func TestDoTokenRequest_ClosesBody(t *testing.T) { function TestDoTokenRequest_DoesNotDrainOversizedBody (line 708) | func TestDoTokenRequest_DoesNotDrainOversizedBody(t *testing.T) { function TestDoTokenRequest_ClientDoError (line 746) | func TestDoTokenRequest_ClientDoError(t *testing.T) { type roundTripperFunc (line 766) | type roundTripperFunc method RoundTrip (line 768) | func (f roundTripperFunc) RoundTrip(req *http.Request) (*http.Response... type failingBody (line 775) | type failingBody struct method Read (line 782) | func (failingBody) Read(_ []byte) (int, error) { return 0, errFailingB... method Close (line 783) | func (failingBody) Close() error { return errFailingBody... function TestDoTokenRequest_BodyReadError (line 787) | func TestDoTokenRequest_BodyReadError(t *testing.T) { function TestDoTokenRequest_RespectsContextTimeout (line 811) | func TestDoTokenRequest_RespectsContextTimeout(t *testing.T) { function TestParseRetrieveError (line 839) | func TestParseRetrieveError(t *testing.T) { FILE: pkg/oauthproto/locality.go function IsLoopbackHost (line 14) | func IsLoopbackHost(host string) bool { FILE: pkg/oauthproto/oauthtest/fixtures.go type ResponseBuilder (line 17) | type ResponseBuilder struct method WithAccessToken (line 41) | func (b *ResponseBuilder) WithAccessToken(token string) *ResponseBuild... method WithTokenType (line 47) | func (b *ResponseBuilder) WithTokenType(tokenType string) *ResponseBui... method WithExpiresIn (line 54) | func (b *ResponseBuilder) WithExpiresIn(seconds int) *ResponseBuilder { method WithRefreshToken (line 60) | func (b *ResponseBuilder) WithRefreshToken(token string) *ResponseBuil... method WithIssuedTokenType (line 66) | func (b *ResponseBuilder) WithIssuedTokenType(tokenType string) *Respo... method WithScope (line 72) | func (b *ResponseBuilder) WithScope(scope string) *ResponseBuilder { method Build (line 80) | func (b *ResponseBuilder) Build() []byte { function NewResponse (line 31) | func NewResponse() *ResponseBuilder { type ErrorResponseBuilder (line 92) | type ErrorResponseBuilder struct method WithError (line 105) | func (b *ErrorResponseBuilder) WithError(code string) *ErrorResponseBu... method WithDescription (line 111) | func (b *ErrorResponseBuilder) WithDescription(description string) *Er... method WithURI (line 117) | func (b *ErrorResponseBuilder) WithURI(uri string) *ErrorResponseBuild... method Build (line 125) | func (b *ErrorResponseBuilder) Build() []byte { function NewErrorResponse (line 100) | func NewErrorResponse() *ErrorResponseBuilder { FILE: pkg/oauthproto/redirect.go constant MaxRedirectURILength (line 16) | MaxRedirectURILength = 2048 type RedirectURIPolicy (line 19) | type RedirectURIPolicy constant RedirectURIPolicyStrict (line 26) | RedirectURIPolicyStrict RedirectURIPolicy = iota constant RedirectURIPolicyAllowPrivateSchemes (line 32) | RedirectURIPolicyAllowPrivateSchemes function ValidateRedirectURI (line 45) | func ValidateRedirectURI(uri string, policy RedirectURIPolicy) error { FILE: pkg/oauthproto/redirect_test.go function TestValidateRedirectURI (line 11) | func TestValidateRedirectURI(t *testing.T) { function assertValidation (line 113) | func assertValidation(t *testing.T, uri string, policy RedirectURIPolicy... FILE: pkg/oidc/clientconfig.go constant DefaultScopes (line 13) | DefaultScopes = "openid offline_access" type ClientConfig (line 23) | type ClientConfig struct method EffectiveScopes (line 40) | func (c *ClientConfig) EffectiveScopes() []string { FILE: pkg/operator/accessors/mcpserver_accessor.go type MCPServerFieldAccessor (line 14) | type MCPServerFieldAccessor interface type mcpServerFieldAccessor (line 23) | type mcpServerFieldAccessor struct method GetProxyDeploymentLabelsAndAnnotations (line 31) | func (*mcpServerFieldAccessor) GetProxyDeploymentLabelsAndAnnotations( method GetProxyDeploymentTemplateLabelsAndAnnotations (line 56) | func (*mcpServerFieldAccessor) GetProxyDeploymentTemplateLabelsAndAnno... function NewMCPServerFieldAccessor (line 26) | func NewMCPServerFieldAccessor() MCPServerFieldAccessor { function mergeLabels (line 83) | func mergeLabels(defaultLabels, overrideLabels map[string]string) map[st... function mergeAnnotations (line 88) | func mergeAnnotations(defaultAnnotations, overrideAnnotations map[string... function mergeStringMaps (line 94) | func mergeStringMaps(defaultMap, overrideMap map[string]string) map[stri... FILE: pkg/operator/accessors/mcpserver_accessor_test.go function TestNewMCPServerFieldAccessor (line 15) | func TestNewMCPServerFieldAccessor(t *testing.T) { function TestGetProxyDeploymentLabelsAndAnnotations (line 23) | func TestGetProxyDeploymentLabelsAndAnnotations(t *testing.T) { function TestGetProxyDeploymentTemplateLabelsAndAnnotations (line 178) | func TestGetProxyDeploymentTemplateLabelsAndAnnotations(t *testing.T) { function TestInterfaceContract (line 342) | func TestInterfaceContract(t *testing.T) { FILE: pkg/operator/telemetry/telemetry.go constant updateInterval (line 27) | updateInterval = 30 * time.Minute constant configMapName (line 29) | configMapName = "toolhive-operator-telemetry" constant configMapNamespace (line 31) | configMapNamespace = "toolhive-system" constant instanceIDKey (line 33) | instanceIDKey = "instance-id" type Service (line 37) | type Service struct method CheckForUpdates (line 96) | func (s *Service) CheckForUpdates(ctx context.Context) error { method getTelemetryData (line 144) | func (s *Service) getTelemetryData(ctx context.Context) (*telemetryDat... method saveTelemetryData (line 187) | func (s *Service) saveTelemetryData(ctx context.Context, data *telemet... method StartTelemetryWorker (line 225) | func (s *Service) StartTelemetryWorker(ctx context.Context) { type LeaderTelemetryRunnable (line 44) | type LeaderTelemetryRunnable struct method Start (line 49) | func (t *LeaderTelemetryRunnable) Start(ctx context.Context) error { method NeedsLeaderElection (line 71) | func (*LeaderTelemetryRunnable) NeedsLeaderElection() bool { type telemetryData (line 77) | type telemetryData struct function NewService (line 84) | func NewService(k8sClient client.Client, namespace string) *Service { FILE: pkg/operator/telemetry/telemetry_test.go type mockVersionClient (line 25) | type mockVersionClient struct method GetLatestVersion (line 30) | func (m *mockVersionClient) GetLatestVersion(_ string, _ string) (stri... method GetComponent (line 37) | func (*mockVersionClient) GetComponent() string { function TestService_CheckForUpdates (line 41) | func TestService_CheckForUpdates(t *testing.T) { function TestService_GetTelemetryData (line 150) | func TestService_GetTelemetryData(t *testing.T) { FILE: pkg/process/detached.go constant ToolHiveDetachedEnv (line 12) | ToolHiveDetachedEnv = "TOOLHIVE_DETACHED" constant ToolHiveDetachedValue (line 15) | ToolHiveDetachedValue = "1" function IsDetached (line 18) | func IsDetached() bool { FILE: pkg/process/find_unix.go function FindProcess (line 16) | func FindProcess(pid int) (bool, error) { FILE: pkg/process/find_windows.go constant processQueryInformation (line 16) | processQueryInformation = 0x0400 constant stillActive (line 17) | stillActive = 259 function FindProcess (line 30) | func FindProcess(pid int) (bool, error) { FILE: pkg/process/kill_unix.go function KillProcess (line 15) | func KillProcess(pid int) error { FILE: pkg/process/kill_windows.go function KillProcess (line 14) | func KillProcess(pid int) error { FILE: pkg/process/pid_validation_test.go function TestKillProcess_InvalidPID (line 15) | func TestKillProcess_InvalidPID(t *testing.T) { function TestFindProcess_InvalidPID (line 28) | func TestFindProcess_InvalidPID(t *testing.T) { function TestWaitForExit_InvalidPID (line 42) | func TestWaitForExit_InvalidPID(t *testing.T) { FILE: pkg/process/toolhive_proxy.go constant toolHiveBinaryName (line 15) | toolHiveBinaryName = "thv" function containsThvBinary (line 20) | func containsThvBinary(s string) bool { function IsToolHiveProxyForWorkload (line 44) | func IsToolHiveProxyForWorkload(pid int, workloadName string) (bool, err... function isToolHiveProcess (line 71) | func isToolHiveProcess(p *gopsutilprocess.Process) bool { function hasToolHiveDetachedEnv (line 84) | func hasToolHiveDetachedEnv(p *gopsutilprocess.Process) bool { function cmdlineContainsWorkload (line 100) | func cmdlineContainsWorkload(cmdline, workloadName string) bool { FILE: pkg/process/toolhive_proxy_test.go function TestIsToolHiveProxyForWorkload_InvalidPID (line 13) | func TestIsToolHiveProxyForWorkload_InvalidPID(t *testing.T) { function TestIsToolHiveProxyForWorkload_NonToolHiveProcess (line 24) | func TestIsToolHiveProxyForWorkload_NonToolHiveProcess(t *testing.T) { function TestContainsThvBinary (line 38) | func TestContainsThvBinary(t *testing.T) { function TestCmdlineContainsWorkload (line 64) | func TestCmdlineContainsWorkload(t *testing.T) { FILE: pkg/process/wait.go function WaitForExit (line 17) | func WaitForExit(ctx context.Context, pid int) error { FILE: pkg/process/wait_test.go function TestWaitForExit_AlreadyExited (line 16) | func TestWaitForExit_AlreadyExited(t *testing.T) { function TestWaitForExit_ContextCancelled (line 26) | func TestWaitForExit_ContextCancelled(t *testing.T) { FILE: pkg/ratelimit/internal/bucket/bucket.go type TokenBucket (line 85) | type TokenBucket struct method RetryAfter (line 144) | func (b *TokenBucket) RetryAfter() time.Duration { function New (line 94) | func New(namespace, serverName, suffix string, maxTokens int32, refillPe... function deriveKeyPrefix (line 107) | func deriveKeyPrefix(namespace, name string) string { function ConsumeAll (line 117) | func ConsumeAll(ctx context.Context, client redis.Cmdable, buckets []*To... FILE: pkg/ratelimit/internal/bucket/bucket_test.go function newTestClient (line 17) | func newTestClient(t *testing.T) (redis.Cmdable, *miniredis.Miniredis) { function consume (line 28) | func consume(ctx context.Context, t *testing.T, client redis.Cmdable, b ... function TestConsumeAll_SingleBucket (line 35) | func TestConsumeAll_SingleBucket(t *testing.T) { function TestConsumeAll_MultiBucket_Atomic (line 84) | func TestConsumeAll_MultiBucket_Atomic(t *testing.T) { function TestConsumeAll_EmptyBuckets (line 117) | func TestConsumeAll_EmptyBuckets(t *testing.T) { function TestConsumeAll_RefillAfterTime (line 126) | func TestConsumeAll_RefillAfterTime(t *testing.T) { function TestConsumeAll_KeyAutoExpiration (line 144) | func TestConsumeAll_KeyAutoExpiration(t *testing.T) { function TestTokenBucket_RetryAfter (line 160) | func TestTokenBucket_RetryAfter(t *testing.T) { function TestDeriveKeyPrefix (line 198) | func TestDeriveKeyPrefix(t *testing.T) { FILE: pkg/ratelimit/limiter.go type Limiter (line 22) | type Limiter interface type Decision (line 30) | type Decision struct function NewLimiter (line 42) | func NewLimiter(client redis.Cmdable, namespace, name string, crd *v1bet... type bucketSpec (line 93) | type bucketSpec struct type limiter (line 101) | type limiter struct method Allow (line 112) | func (l *limiter) Allow(ctx context.Context, toolName, userID string) ... type noopLimiter (line 173) | type noopLimiter struct method Allow (line 175) | func (noopLimiter) Allow(context.Context, string, string) (*Decision, ... function validateBucketCRD (line 180) | func validateBucketCRD(b *v1beta1.RateLimitBucket) (int32, time.Duration... function newBucket (line 192) | func newBucket(namespace, serverName, suffix string, b *v1beta1.RateLimi... function newBucketSpec (line 202) | func newBucketSpec(namespace, serverName string, b *v1beta1.RateLimitBuc... FILE: pkg/ratelimit/limiter_test.go function newTestClient (line 19) | func newTestClient(t *testing.T) (*redis.Client, *miniredis.Miniredis) { function TestNewLimiter_NilCRDReturnsNoop (line 29) | func TestNewLimiter_NilCRDReturnsNoop(t *testing.T) { function TestNewLimiter_ZeroMaxTokens (line 41) | func TestNewLimiter_ZeroMaxTokens(t *testing.T) { function TestNewLimiter_ZeroDuration (line 57) | func TestNewLimiter_ZeroDuration(t *testing.T) { function TestLimiter_ServerGlobalExhausted (line 73) | func TestLimiter_ServerGlobalExhausted(t *testing.T) { function TestLimiter_PerToolIsolation (line 96) | func TestLimiter_PerToolIsolation(t *testing.T) { function TestLimiter_ServerAndPerToolBothRequired (line 126) | func TestLimiter_ServerAndPerToolBothRequired(t *testing.T) { function TestLimiter_RedisUnavailableReturnsError (line 160) | func TestLimiter_RedisUnavailableReturnsError(t *testing.T) { function TestLimiter_PerUserServerLevel (line 176) | func TestLimiter_PerUserServerLevel(t *testing.T) { function TestLimiter_PerToolPerUserIsolation (line 204) | func TestLimiter_PerToolPerUserIsolation(t *testing.T) { function TestLimiter_ServerAndToolPerUserBothRequired (line 241) | func TestLimiter_ServerAndToolPerUserBothRequired(t *testing.T) { function TestLimiter_PerUserRejectionDoesNotDrainShared (line 276) | func TestLimiter_PerUserRejectionDoesNotDrainShared(t *testing.T) { function TestLimiter_RedisUnavailablePerUser (line 315) | func TestLimiter_RedisUnavailablePerUser(t *testing.T) { function TestNewLimiter_PerUserZeroMaxTokens (line 331) | func TestNewLimiter_PerUserZeroMaxTokens(t *testing.T) { function TestNewLimiter_ToolPerUserZeroDuration (line 343) | func TestNewLimiter_ToolPerUserZeroDuration(t *testing.T) { FILE: pkg/ratelimit/middleware.go constant MiddlewareType (line 26) | MiddlewareType = "ratelimit" constant CodeRateLimited (line 30) | CodeRateLimited int64 = -32029 constant MessageRateLimited (line 33) | MessageRateLimited = "Rate limit exceeded" constant redisPasswordEnvVar (line 37) | redisPasswordEnvVar = "THV_SESSION_REDIS_PASSWORD" type MiddlewareParams (line 41) | type MiddlewareParams struct type rateLimitMiddleware (line 50) | type rateLimitMiddleware struct method Handler (line 56) | func (m *rateLimitMiddleware) Handler() types.MiddlewareFunction { method Close (line 61) | func (m *rateLimitMiddleware) Close() error { function CreateMiddleware (line 69) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... function rateLimitHandler (line 111) | func rateLimitHandler(limiter Limiter) types.MiddlewareFunction { function writeRateLimited (line 146) | func writeRateLimited(w http.ResponseWriter, requestID any, retryAfter t... function rateLimitedBody (line 156) | func rateLimitedBody(requestID any, retryAfter time.Duration) []byte { FILE: pkg/ratelimit/middleware_test.go type dummyLimiter (line 24) | type dummyLimiter struct method Allow (line 29) | func (d *dummyLimiter) Allow(context.Context, string, string) (*Decisi... type recordingLimiter (line 34) | type recordingLimiter struct method Allow (line 39) | func (r *recordingLimiter) Allow(_ context.Context, toolName, userID s... function withIdentity (line 46) | func withIdentity(r *http.Request, subject string) *http.Request { function withParsedMCPRequest (line 53) | func withParsedMCPRequest(r *http.Request, method, resourceID string, id... function TestRateLimitHandler_ToolCallAllowed (line 64) | func TestRateLimitHandler_ToolCallAllowed(t *testing.T) { function TestRateLimitHandler_ToolCallRejected (line 81) | func TestRateLimitHandler_ToolCallRejected(t *testing.T) { function TestRateLimitHandler_RedisErrorFailOpen (line 112) | func TestRateLimitHandler_RedisErrorFailOpen(t *testing.T) { function TestRateLimitHandler_NoParsedMCPRequest_PassesThrough (line 132) | func TestRateLimitHandler_NoParsedMCPRequest_PassesThrough(t *testing.T) { function TestRateLimitHandler_NonToolCallPassesThrough (line 152) | func TestRateLimitHandler_NonToolCallPassesThrough(t *testing.T) { function TestRateLimitHandler_PassesUserID (line 172) | func TestRateLimitHandler_PassesUserID(t *testing.T) { function TestRateLimitHandler_NoIdentityPassesEmptyUserID (line 192) | func TestRateLimitHandler_NoIdentityPassesEmptyUserID(t *testing.T) { FILE: pkg/recovery/recovery.go constant MiddlewareType (line 22) | MiddlewareType = "recovery" function Middleware (line 27) | func Middleware(next http.Handler) http.Handler { type FactoryMiddleware (line 58) | type FactoryMiddleware struct method Handler (line 61) | func (FactoryMiddleware) Handler() types.MiddlewareFunction { method Close (line 66) | func (FactoryMiddleware) Close() error { function CreateMiddleware (line 73) | func CreateMiddleware(_ *types.MiddlewareConfig, runner types.Middleware... function isErrAbortHandler (line 87) | func isErrAbortHandler(rec any) bool { FILE: pkg/recovery/recovery_test.go function TestRecoveryMiddleware_NoPanic (line 16) | func TestRecoveryMiddleware_NoPanic(t *testing.T) { function TestRecoveryMiddleware_RecoverFromPanic (line 40) | func TestRecoveryMiddleware_RecoverFromPanic(t *testing.T) { function TestRecoveryMiddleware_RePanicsErrAbortHandler (line 63) | func TestRecoveryMiddleware_RePanicsErrAbortHandler(t *testing.T) { function TestRecoveryMiddleware_PreservesRequestContext (line 98) | func TestRecoveryMiddleware_PreservesRequestContext(t *testing.T) { FILE: pkg/registry/api/client.go type Client (line 24) | type Client interface type ListOptions (line 40) | type ListOptions struct type mcpRegistryClient (line 52) | type mcpRegistryClient struct method GetServer (line 85) | func (c *mcpRegistryClient) GetServer(ctx context.Context, name string... method ListServers (line 120) | func (c *mcpRegistryClient) ListServers(ctx context.Context, opts *Lis... method fetchServersPage (line 160) | func (c *mcpRegistryClient) fetchServersPage( method SearchServers (line 220) | func (c *mcpRegistryClient) SearchServers(ctx context.Context, query s... method ValidateEndpoint (line 264) | func (c *mcpRegistryClient) ValidateEndpoint(ctx context.Context) error { function NewClient (line 62) | func NewClient(baseURL string, allowPrivateIp bool, tokenSource auth.Tok... function contains (line 330) | func contains(s, substr string) bool { function containsRec (line 334) | func containsRec(s, substr string) bool { FILE: pkg/registry/api/shared.go constant maxErrorBodySize (line 16) | maxErrorBodySize = 4096 type RegistryHTTPError (line 22) | type RegistryHTTPError struct method Error (line 28) | func (e *RegistryHTTPError) Error() string { method Unwrap (line 34) | func (e *RegistryHTTPError) Unwrap() error { function buildHTTPClient (line 43) | func buildHTTPClient(allowPrivateIp bool, tokenSource auth.TokenSource) ... function newRegistryHTTPError (line 57) | func newRegistryHTTPError(resp *http.Response) *RegistryHTTPError { FILE: pkg/registry/api/skills_client.go constant skillsBasePath (line 20) | skillsBasePath = "/v0.1/x/dev.toolhive/skills" type SkillsListOptions (line 23) | type SkillsListOptions struct type SkillsListResult (line 33) | type SkillsListResult struct type SkillsClient (line 39) | type SkillsClient interface function NewSkillsClient (line 55) | func NewSkillsClient(baseURL string, allowPrivateIp bool, tokenSource au... type mcpSkillsClient (line 183) | type mcpSkillsClient struct method GetSkill (line 72) | func (c *mcpSkillsClient) GetSkill(ctx context.Context, namespace, nam... method GetSkillVersion (line 86) | func (c *mcpSkillsClient) GetSkillVersion(ctx context.Context, namespa... method ListSkills (line 103) | func (c *mcpSkillsClient) ListSkills(ctx context.Context, opts *Skills... method SearchSkills (line 143) | func (c *mcpSkillsClient) SearchSkills(ctx context.Context, query stri... method ListSkillVersions (line 165) | func (c *mcpSkillsClient) ListSkillVersions(ctx context.Context, names... method doSkillsGet (line 199) | func (c *mcpSkillsClient) doSkillsGet(ctx context.Context, endpoint st... method fetchSkillsPage (line 227) | func (c *mcpSkillsClient) fetchSkillsPage( type skillsListResponse (line 190) | type skillsListResponse struct FILE: pkg/registry/api/skills_client_test.go function newTestSkillsClient (line 19) | func newTestSkillsClient(t *testing.T, server *httptest.Server) SkillsCl... function TestSkillsClient_GetSkill (line 26) | func TestSkillsClient_GetSkill(t *testing.T) { function TestSkillsClient_GetSkillVersion (line 122) | func TestSkillsClient_GetSkillVersion(t *testing.T) { function TestSkillsClient_ListSkills (line 190) | func TestSkillsClient_ListSkills(t *testing.T) { function TestSkillsClient_SearchSkills (line 313) | func TestSkillsClient_SearchSkills(t *testing.T) { function TestSkillsClient_ListSkillVersions (line 379) | func TestSkillsClient_ListSkillVersions(t *testing.T) { function TestSkillsClient_ErrorHandling (line 410) | func TestSkillsClient_ErrorHandling(t *testing.T) { function TestSkillsClient_MalformedJSON (line 468) | func TestSkillsClient_MalformedJSON(t *testing.T) { function TestSkillsClient_TrailingSlashInBaseURL (line 484) | func TestSkillsClient_TrailingSlashInBaseURL(t *testing.T) { function TestSkillsClient_ListSkillsWithSearch (line 509) | func TestSkillsClient_ListSkillsWithSearch(t *testing.T) { function TestRegistryHTTPError_Unwrap (line 539) | func TestRegistryHTTPError_Unwrap(t *testing.T) { FILE: pkg/registry/auth/auth.go type TokenSource (line 23) | type TokenSource interface function NewTokenSource (line 34) | func NewTokenSource( function DeriveSecretKey (line 68) | func DeriveSecretKey(registryURL, issuer string) string { function updateRegistryTokenRef (line 74) | func updateRegistryTokenRef(key string, expiry time.Time) { FILE: pkg/registry/auth/auth_test.go function TestDeriveSecretKey (line 24) | func TestDeriveSecretKey(t *testing.T) { function TestDeriveSecretKey_Deterministic (line 64) | func TestDeriveSecretKey_Deterministic(t *testing.T) { function TestDeriveSecretKey_UniquePerInputCombination (line 72) | func TestDeriveSecretKey_UniquePerInputCombination(t *testing.T) { function TestDeriveSecretKey_NullByteIsolatesSegments (line 91) | func TestDeriveSecretKey_NullByteIsolatesSegments(t *testing.T) { function TestNewTokenSource (line 100) | func TestNewTokenSource(t *testing.T) { function TestToken_NonInteractive_NoCache_ReturnsErrRegistryAuthRequired (line 149) | func TestToken_NonInteractive_NoCache_ReturnsErrRegistryAuthRequired(t *... function TestToken_NonInteractive_BackendError_SurfacesLastErr (line 171) | func TestToken_NonInteractive_BackendError_SurfacesLastErr(t *testing.T) { function TestToken_NilSecretsProvider_ReturnsActionableError (line 195) | func TestToken_NilSecretsProvider_ReturnsActionableError(t *testing.T) { function TestToken_UsesCachedRefreshTokenRef (line 212) | func TestToken_UsesCachedRefreshTokenRef(t *testing.T) { function TestToken_DerivesKeyWhenNoCachedRef (line 242) | func TestToken_DerivesKeyWhenNoCachedRef(t *testing.T) { function TestToken_RefreshTokenCache_UsesPersistedToken (line 270) | func TestToken_RefreshTokenCache_UsesPersistedToken(t *testing.T) { function TestToken_RefreshTokenCache_RotatedTokenPersisted (line 307) | func TestToken_RefreshTokenCache_RotatedTokenPersisted(t *testing.T) { FILE: pkg/registry/auth/cache.go constant PersistentCacheSubdir (line 16) | PersistentCacheSubdir = "cache" function RegistryCacheFilePath (line 21) | func RegistryCacheFilePath(registryURL string) (string, error) { function registryCachePath (line 28) | func registryCachePath(registryURL string) string { FILE: pkg/registry/auth/helpers_test.go function newOIDCTestServer (line 16) | func newOIDCTestServer(t *testing.T) *httptest.Server { function newTokenServer (line 42) | func newTokenServer(t *testing.T, at, rt string) *httptest.Server { FILE: pkg/registry/auth/issuer_validation.go function validateIssuerURL (line 11) | func validateIssuerURL(rawURL string) error { FILE: pkg/registry/auth/login.go function DefaultOAuthScopes (line 23) | func DefaultOAuthScopes() []string { type LoginOptions (line 30) | type LoginOptions struct function Login (line 46) | func Login( function Logout (line 96) | func Logout(ctx context.Context, configProvider config.Provider, secrets... function validateOAuthConfig (line 142) | func validateOAuthConfig(cfg *config.Config) error { function hasRegistryConfig (line 153) | func hasRegistryConfig(cfg *config.Config) bool { function checkMissingLoginConfig (line 159) | func checkMissingLoginConfig(cfg *config.Config, opts LoginOptions) error { function ensureRegistryURL (line 193) | func ensureRegistryURL(configProvider config.Provider, opts LoginOptions... function ensureOAuthConfig (line 234) | func ensureOAuthConfig( function registryURLFromConfig (line 255) | func registryURLFromConfig(cfg *config.Config) string { function ConfigureOAuth (line 265) | func ConfigureOAuth( function clearRegistryCache (line 303) | func clearRegistryCache(registryURL string) error { FILE: pkg/registry/auth/login_test.go function oauthConfig (line 25) | func oauthConfig() *config.RegistryOAuthConfig { function configWithOAuth (line 33) | func configWithOAuth() *config.Config { function TestValidateOAuthConfig (line 45) | func TestValidateOAuthConfig(t *testing.T) { function TestRegistryURLFromConfig (line 102) | func TestRegistryURLFromConfig(t *testing.T) { function TestCheckMissingLoginConfig (line 150) | func TestCheckMissingLoginConfig(t *testing.T) { function TestEnsureRegistryURL (line 288) | func TestEnsureRegistryURL(t *testing.T) { function TestEnsureOAuthConfig (line 403) | func TestEnsureOAuthConfig(t *testing.T) { function TestClearRegistryCache (line 552) | func TestClearRegistryCache(t *testing.T) { function TestLogin_ConfigLoadError (line 569) | func TestLogin_ConfigLoadError(t *testing.T) { function TestLogin_RejectsLocalRegistryPath (line 581) | func TestLogin_RejectsLocalRegistryPath(t *testing.T) { function TestLogin_MissingConfig (line 595) | func TestLogin_MissingConfig(t *testing.T) { function TestLogout (line 609) | func TestLogout(t *testing.T) { function TestLogout_DeletesCachedToken (line 638) | func TestLogout_DeletesCachedToken(t *testing.T) { function TestLogout_NoCachedRefSkipsDelete (line 667) | func TestLogout_NoCachedRefSkipsDelete(t *testing.T) { function TestLogout_DeleteSecretError (line 689) | func TestLogout_DeleteSecretError(t *testing.T) { function TestLogout_UpdateConfigError (line 709) | func TestLogout_UpdateConfigError(t *testing.T) { function resolvedTempDir (line 736) | func resolvedTempDir(t *testing.T) string { FILE: pkg/registry/auth/transport.go type Transport (line 12) | type Transport struct method RoundTrip (line 18) | func (t *Transport) RoundTrip(req *http.Request) (*http.Response, erro... method base (line 45) | func (t *Transport) base() http.RoundTripper { function WrapTransport (line 54) | func WrapTransport(base http.RoundTripper, source TokenSource) http.Roun... FILE: pkg/registry/auth/transport_test.go type mockTokenSource (line 18) | type mockTokenSource struct method Token (line 23) | func (m *mockTokenSource) Token(_ context.Context) (string, error) { function TestWrapTransport (line 27) | func TestWrapTransport(t *testing.T) { function TestTransport_RoundTrip (line 68) | func TestTransport_RoundTrip(t *testing.T) { function TestTransport_RoundTrip_DoesNotMutateOriginalRequest (line 144) | func TestTransport_RoundTrip_DoesNotMutateOriginalRequest(t *testing.T) { function TestTransport_base_DefaultsToHTTPDefaultTransport (line 172) | func TestTransport_base_DefaultsToHTTPDefaultTransport(t *testing.T) { FILE: pkg/registry/auth_manager.go constant AuthStatusNone (line 17) | AuthStatusNone = "none" constant AuthStatusConfigured (line 19) | AuthStatusConfigured = "configured" constant AuthStatusAuthenticated (line 21) | AuthStatusAuthenticated = "authenticated" type OAuthPublicConfig (line 26) | type OAuthPublicConfig struct type AuthManager (line 34) | type AuthManager interface type DefaultAuthManager (line 56) | type DefaultAuthManager struct method SetOAuthAuth (line 69) | func (c *DefaultAuthManager) SetOAuthAuth(ctx context.Context, issuer,... method UnsetAuth (line 78) | func (c *DefaultAuthManager) UnsetAuth() error { method GetAuthInfo (line 86) | func (c *DefaultAuthManager) GetAuthInfo() (string, bool) { method GetAuthStatus (line 99) | func (c *DefaultAuthManager) GetAuthStatus() (string, string) { method GetOAuthPublicConfig (line 112) | func (c *DefaultAuthManager) GetOAuthPublicConfig() *OAuthPublicConfig { function NewAuthManager (line 61) | func NewAuthManager(provider config.Provider) AuthManager { FILE: pkg/registry/auth_manager_test.go function TestDefaultAuthManager_UnsetAuth (line 16) | func TestDefaultAuthManager_UnsetAuth(t *testing.T) { function TestDefaultAuthManager_GetAuthInfo (line 77) | func TestDefaultAuthManager_GetAuthInfo(t *testing.T) { function TestDefaultAuthManager_GetAuthStatus (line 148) | func TestDefaultAuthManager_GetAuthStatus(t *testing.T) { function TestDefaultAuthManager_GetOAuthPublicConfig (line 219) | func TestDefaultAuthManager_GetOAuthPublicConfig(t *testing.T) { type errSentinel (line 311) | type errSentinel method Error (line 313) | func (e errSentinel) Error() string { return string(e) } FILE: pkg/registry/convert.go function ConvertJSON (line 27) | func ConvertJSON(input []byte) ([]byte, error) { FILE: pkg/registry/convert_test.go constant legacyContainerJSON (line 19) | legacyContainerJSON = `{ constant legacyRemoteJSON (line 39) | legacyRemoteJSON = `{ constant upstreamJSON (line 56) | upstreamJSON = `{ function TestConvertJSON (line 63) | func TestConvertJSON(t *testing.T) { constant legacyContainerWithExtensionsJSON (line 150) | legacyContainerWithExtensionsJSON = `{ function publisherExtension (line 187) | func publisherExtension(t *testing.T, server v0.ServerJSON) map[string]a... function TestConvertJSON_LosslessExtensions (line 209) | func TestConvertJSON_LosslessExtensions(t *testing.T) { function TestConvertJSON_RemoteServerExtensions (line 266) | func TestConvertJSON_RemoteServerExtensions(t *testing.T) { function TestConvertJSON_OutputPassesSchemaValidation (line 318) | func TestConvertJSON_OutputPassesSchemaValidation(t *testing.T) { function TestConvertJSON_RoundTripEmbeddedCatalog (line 332) | func TestConvertJSON_RoundTripEmbeddedCatalog(t *testing.T) { FILE: pkg/registry/errors.go type UnavailableError (line 17) | type UnavailableError struct method Error (line 22) | func (e *UnavailableError) Error() string { method Unwrap (line 29) | func (e *UnavailableError) Unwrap() error { FILE: pkg/registry/errors_test.go function TestUnavailableError_Error (line 15) | func TestUnavailableError_Error(t *testing.T) { function TestUnavailableError_Unwrap (line 48) | func TestUnavailableError_Unwrap(t *testing.T) { function TestUnavailableError_ErrorsAs (line 57) | func TestUnavailableError_ErrorsAs(t *testing.T) { FILE: pkg/registry/factory.go type providerState (line 24) | type providerState struct function init (line 34) | func init() { type ProviderOption (line 39) | type ProviderOption type providerOptions (line 41) | type providerOptions struct function WithInteractive (line 47) | func WithInteractive(interactive bool) ProviderOption { function NewRegistryProvider (line 53) | func NewRegistryProvider(cfg *config.Config, opts ...ProviderOption) (Pr... function GetDefaultProvider (line 93) | func GetDefaultProvider() (Provider, error) { function GetDefaultProviderWithConfig (line 110) | func GetDefaultProviderWithConfig(configProvider config.Provider, opts .... function ResetDefaultProvider (line 128) | func ResetDefaultProvider() { function resolveTokenSource (line 134) | func resolveTokenSource(cfg *config.Config, interactive bool) auth.Token... FILE: pkg/registry/factory_test.go function resetGlobalState (line 20) | func resetGlobalState(t *testing.T) { function writeTempRegistryJSON (line 30) | func writeTempRegistryJSON(t *testing.T, dir, serverName string) string { function writeTempConfigYAML (line 61) | func writeTempConfigYAML(t *testing.T, dir, localRegistryPath string) st... function TestGetDefaultProvider_NoFactoryRegistered (line 81) | func TestGetDefaultProvider_NoFactoryRegistered(t *testing.T) { function TestGetDefaultProvider_RespectsRegisteredFactory (line 114) | func TestGetDefaultProvider_RespectsRegisteredFactory(t *testing.T) { function TestGetDefaultProvider_FactoryReturnsNil_FallsThrough (line 150) | func TestGetDefaultProvider_FactoryReturnsNil_FallsThrough(t *testing.T) { function TestGetDefaultProvider_CachesResult (line 175) | func TestGetDefaultProvider_CachesResult(t *testing.T) { function TestResetDefaultProvider_AllowsReinit (line 200) | func TestResetDefaultProvider_AllowsReinit(t *testing.T) { FILE: pkg/registry/legacyhint/legacyhint.go constant MigrationMessage (line 15) | MigrationMessage = "registry file appears to be in the legacy ToolHive f... function Looks (line 27) | func Looks(data []byte) bool { function IsUpstream (line 43) | func IsUpstream(data []byte) bool { FILE: pkg/registry/legacyhint/legacyhint_test.go constant legacyJSON (line 12) | legacyJSON = `{ constant upstreamJSON (line 17) | upstreamJSON = `{ function TestIsUpstream (line 22) | func TestIsUpstream(t *testing.T) { function TestLooks (line 47) | func TestLooks(t *testing.T) { FILE: pkg/registry/mocks/mock_provider.go type MockProvider (line 20) | type MockProvider struct method EXPECT (line 39) | func (m *MockProvider) EXPECT() *MockProviderMockRecorder { method GetRegistry (line 44) | func (m *MockProvider) GetRegistry() (*registry.Registry, error) { method GetServer (line 59) | func (m *MockProvider) GetServer(name string) (registry.ServerMetadata... method GetSkill (line 74) | func (m *MockProvider) GetSkill(namespace, name string) (*registry.Ski... method ListAvailableSkills (line 89) | func (m *MockProvider) ListAvailableSkills() ([]registry.Skill, error) { method ListServers (line 104) | func (m *MockProvider) ListServers() ([]registry.ServerMetadata, error) { method SearchServers (line 119) | func (m *MockProvider) SearchServers(query string) ([]registry.ServerM... method SearchSkills (line 134) | func (m *MockProvider) SearchSkills(query string) ([]registry.Skill, e... type MockProviderMockRecorder (line 27) | type MockProviderMockRecorder struct method GetRegistry (line 53) | func (mr *MockProviderMockRecorder) GetRegistry() *gomock.Call { method GetServer (line 68) | func (mr *MockProviderMockRecorder) GetServer(name any) *gomock.Call { method GetSkill (line 83) | func (mr *MockProviderMockRecorder) GetSkill(namespace, name any) *gom... method ListAvailableSkills (line 98) | func (mr *MockProviderMockRecorder) ListAvailableSkills() *gomock.Call { method ListServers (line 113) | func (mr *MockProviderMockRecorder) ListServers() *gomock.Call { method SearchServers (line 128) | func (mr *MockProviderMockRecorder) SearchServers(query any) *gomock.C... method SearchSkills (line 143) | func (mr *MockProviderMockRecorder) SearchSkills(query any) *gomock.Ca... function NewMockProvider (line 32) | func NewMockProvider(ctrl *gomock.Controller) *MockProvider { FILE: pkg/registry/mocks/mock_service.go type MockConfigurator (line 19) | type MockConfigurator struct method EXPECT (line 38) | func (m *MockConfigurator) EXPECT() *MockConfiguratorMockRecorder { method GetRegistryInfo (line 43) | func (m *MockConfigurator) GetRegistryInfo() (string, string) { method SetRegistryFromInput (line 58) | func (m *MockConfigurator) SetRegistryFromInput(input string, allowPri... method UnsetRegistry (line 73) | func (m *MockConfigurator) UnsetRegistry() error { type MockConfiguratorMockRecorder (line 26) | type MockConfiguratorMockRecorder struct method GetRegistryInfo (line 52) | func (mr *MockConfiguratorMockRecorder) GetRegistryInfo() *gomock.Call { method SetRegistryFromInput (line 67) | func (mr *MockConfiguratorMockRecorder) SetRegistryFromInput(input, al... method UnsetRegistry (line 81) | func (mr *MockConfiguratorMockRecorder) UnsetRegistry() *gomock.Call { function NewMockConfigurator (line 31) | func NewMockConfigurator(ctrl *gomock.Controller) *MockConfigurator { FILE: pkg/registry/policy_gate.go type UpdateRegistryConfig (line 14) | type UpdateRegistryConfig struct type DeleteRegistryConfig (line 29) | type DeleteRegistryConfig struct type PolicyGate (line 41) | type PolicyGate interface type NoopPolicyGate (line 54) | type NoopPolicyGate struct method CheckUpdateRegistry (line 57) | func (NoopPolicyGate) CheckUpdateRegistry(_ context.Context, _ *Update... method CheckDeleteRegistry (line 62) | func (NoopPolicyGate) CheckDeleteRegistry(_ context.Context, _ *Delete... type allowAllGate (line 67) | type allowAllGate struct function RegisterPolicyGate (line 79) | func RegisterPolicyGate(g PolicyGate) { function ActivePolicyGate (line 86) | func ActivePolicyGate() PolicyGate { FILE: pkg/registry/policy_gate_test.go function TestNoopPolicyGate_CheckUpdateRegistry (line 15) | func TestNoopPolicyGate_CheckUpdateRegistry(t *testing.T) { function TestNoopPolicyGate_CheckDeleteRegistry (line 23) | func TestNoopPolicyGate_CheckDeleteRegistry(t *testing.T) { type errorPolicyGate (line 32) | type errorPolicyGate struct method CheckUpdateRegistry (line 37) | func (g *errorPolicyGate) CheckUpdateRegistry(_ context.Context, _ *Up... method CheckDeleteRegistry (line 41) | func (g *errorPolicyGate) CheckDeleteRegistry(_ context.Context, _ *De... function TestRegisterPolicyGate_BlocksUpdate (line 46) | func TestRegisterPolicyGate_BlocksUpdate(t *testing.T) { function TestRegisterPolicyGate_BlocksDelete (line 67) | func TestRegisterPolicyGate_BlocksDelete(t *testing.T) { function TestActivePolicyGate_DefaultIsAllowAll (line 87) | func TestActivePolicyGate_DefaultIsAllowAll(t *testing.T) { function TestRegisterPolicyGate_ReceivesUpdateConfig (line 110) | func TestRegisterPolicyGate_ReceivesUpdateConfig(t *testing.T) { function TestRegisterPolicyGate_ReceivesDeleteConfig (line 135) | func TestRegisterPolicyGate_ReceivesDeleteConfig(t *testing.T) { type captureUpdateGate (line 156) | type captureUpdateGate struct method CheckUpdateRegistry (line 161) | func (g *captureUpdateGate) CheckUpdateRegistry(_ context.Context, cfg... type captureDeleteGate (line 167) | type captureDeleteGate struct method CheckDeleteRegistry (line 172) | func (g *captureDeleteGate) CheckDeleteRegistry(_ context.Context, cfg... FILE: pkg/registry/provider.go type Provider (line 11) | type Provider interface FILE: pkg/registry/provider_api.go type APIRegistryProvider (line 22) | type APIRegistryProvider struct method GetRegistry (line 82) | func (p *APIRegistryProvider) GetRegistry() (*types.Registry, error) { method GetServer (line 134) | func (p *APIRegistryProvider) GetServer(name string) (types.ServerMeta... method SearchServers (line 174) | func (p *APIRegistryProvider) SearchServers(query string) ([]types.Ser... method ListServers (line 188) | func (p *APIRegistryProvider) ListServers() ([]types.ServerMetadata, e... method GetSkill (line 201) | func (p *APIRegistryProvider) GetSkill(namespace, name string) (*types... method SearchSkills (line 211) | func (p *APIRegistryProvider) SearchSkills(query string) ([]types.Skil... function NewAPIRegistryProvider (line 33) | func NewAPIRegistryProvider(apiURL string, allowPrivateIp bool, tokenSou... function ConvertServerJSON (line 233) | func ConvertServerJSON(serverJSON *v0.ServerJSON) (types.ServerMetadata,... function ConvertServersToMetadata (line 264) | func ConvertServersToMetadata(servers []*v0.ServerJSON) ([]types.ServerM... FILE: pkg/registry/provider_base.go type BaseProvider (line 14) | type BaseProvider struct method GetServer (line 30) | func (p *BaseProvider) GetServer(name string) (types.ServerMetadata, e... method SearchServers (line 86) | func (p *BaseProvider) SearchServers(query string) ([]types.ServerMeta... method ListServers (line 113) | func (p *BaseProvider) ListServers() ([]types.ServerMetadata, error) { method ListAvailableSkills (line 125) | func (*BaseProvider) ListAvailableSkills() ([]types.Skill, error) { method GetSkill (line 130) | func (*BaseProvider) GetSkill(_, _ string) (*types.Skill, error) { method SearchSkills (line 135) | func (*BaseProvider) SearchSkills(_ string) ([]types.Skill, error) { function NewBaseProvider (line 21) | func NewBaseProvider(getRegistry func() (*types.Registry, error)) *BaseP... type shortNameMatch (line 63) | type shortNameMatch struct function findServersByShortName (line 69) | func findServersByShortName(reg *types.Registry, shortName string) []sho... function matchesQuery (line 140) | func matchesQuery(name, description string, tags []string, query string)... FILE: pkg/registry/provider_cached.go constant defaultCacheTTL (line 25) | defaultCacheTTL = 1 * time.Hour constant maxCacheFileSize (line 26) | maxCacheFileSize = 10 * 1024 * 1024 constant maxCacheAge (line 27) | maxCacheAge = 7 * 24 * time.Hour constant maxTotalCacheSize (line 28) | maxTotalCacheSize = 50 * 1024 * 1024 constant persistentCacheSubdir (line 29) | persistentCacheSubdir = auth.PersistentCacheSubdir type CachedAPIRegistryProvider (line 35) | type CachedAPIRegistryProvider struct method GetRegistry (line 101) | func (p *CachedAPIRegistryProvider) GetRegistry() (*types.Registry, er... method refreshCache (line 119) | func (p *CachedAPIRegistryProvider) refreshCache() (*types.Registry, e... method ForceRefresh (line 153) | func (p *CachedAPIRegistryProvider) ForceRefresh() error { method GetServer (line 161) | func (p *CachedAPIRegistryProvider) GetServer(name string) (types.Serv... method SearchServers (line 178) | func (p *CachedAPIRegistryProvider) SearchServers(query string) ([]typ... method ListServers (line 190) | func (p *CachedAPIRegistryProvider) ListServers() ([]types.ServerMetad... method loadFromDisk (line 202) | func (p *CachedAPIRegistryProvider) loadFromDisk() error { method saveToDisk (line 251) | func (p *CachedAPIRegistryProvider) saveToDisk(registry *types.Registr... method cleanupOldCaches (line 284) | func (p *CachedAPIRegistryProvider) cleanupOldCaches() { method GetRemoteServer (line 381) | func (p *CachedAPIRegistryProvider) GetRemoteServer(name string) (*typ... method ListAvailableSkills (line 396) | func (p *CachedAPIRegistryProvider) ListAvailableSkills() ([]types.Ski... method ConvertServerJSON (line 451) | func (*CachedAPIRegistryProvider) ConvertServerJSON(serverJSON *v0.Ser... method ConvertServersToMetadataWithCache (line 456) | func (*CachedAPIRegistryProvider) ConvertServersToMetadataWithCache(se... method GetServerWithContext (line 461) | func (p *CachedAPIRegistryProvider) GetServerWithContext(ctx context.C... function NewCachedAPIRegistryProvider (line 59) | func NewCachedAPIRegistryProvider( FILE: pkg/registry/provider_cached_authbug_test.go function TestCachedProvider_AuthErrorNotMaskedByStaleCache (line 34) | func TestCachedProvider_AuthErrorNotMaskedByStaleCache(t *testing.T) { type failingTokenSource (line 82) | type failingTokenSource struct method Token (line 94) | func (s *failingTokenSource) Token(_ context.Context) (string, error) { function TestCachedProvider_OAuthFlowFailureNotMaskedByStaleCache (line 132) | func TestCachedProvider_OAuthFlowFailureNotMaskedByStaleCache(t *testing... FILE: pkg/registry/provider_local.go type LocalRegistryProvider (line 17) | type LocalRegistryProvider struct method GetRegistry (line 43) | func (p *LocalRegistryProvider) GetRegistry() (*types.Registry, error) { method setSkills (line 85) | func (p *LocalRegistryProvider) setSkills(skills []types.Skill) { method ListAvailableSkills (line 93) | func (p *LocalRegistryProvider) ListAvailableSkills() ([]types.Skill, ... method GetSkill (line 112) | func (p *LocalRegistryProvider) GetSkill(namespace, name string) (*typ... method SearchSkills (line 126) | func (p *LocalRegistryProvider) SearchSkills(query string) ([]types.Sk... function NewLocalRegistryProvider (line 26) | func NewLocalRegistryProvider(filePath ...string) *LocalRegistryProvider { FILE: pkg/registry/provider_remote.go type RemoteRegistryProvider (line 22) | type RemoteRegistryProvider struct method validateConnectivity (line 51) | func (p *RemoteRegistryProvider) validateConnectivity() error { method GetRegistry (line 99) | func (p *RemoteRegistryProvider) GetRegistry() (*types.Registry, error) { method ListAvailableSkills (line 164) | func (p *RemoteRegistryProvider) ListAvailableSkills() ([]types.Skill,... method GetSkill (line 183) | func (p *RemoteRegistryProvider) GetSkill(namespace, name string) (*ty... method SearchSkills (line 197) | func (p *RemoteRegistryProvider) SearchSkills(query string) ([]types.S... method setSkills (line 214) | func (p *RemoteRegistryProvider) setSkills(skills []types.Skill) { function NewRemoteRegistryProvider (line 32) | func NewRemoteRegistryProvider(registryURL string, allowPrivateIp bool) ... FILE: pkg/registry/provider_test.go function TestNewRegistryProvider (line 20) | func TestNewRegistryProvider(t *testing.T) { function TestLocalRegistryProvider (line 81) | func TestLocalRegistryProvider(t *testing.T) { function TestRemoteRegistryProvider_CreationError (line 138) | func TestRemoteRegistryProvider_CreationError(t *testing.T) { function TestRemoteRegistryProvider_ValidateConnectivity (line 177) | func TestRemoteRegistryProvider_ValidateConnectivity(t *testing.T) { function TestLocalRegistryProviderWithUpstreamFormatFile (line 269) | func TestLocalRegistryProviderWithUpstreamFormatFile(t *testing.T) { function TestRemoteRegistryProvider_UpstreamFormat (line 313) | func TestRemoteRegistryProvider_UpstreamFormat(t *testing.T) { function TestGetServer_ShortNameResolution (line 353) | func TestGetServer_ShortNameResolution(t *testing.T) { function getTypeName (line 439) | func getTypeName(v interface{}) string { function TestGetRegistry (line 450) | func TestGetRegistry(t *testing.T) { function TestGetServer (line 494) | func TestGetServer(t *testing.T) { function TestSearchServers (line 547) | func TestSearchServers(t *testing.T) { function TestListServers (line 590) | func TestListServers(t *testing.T) { function TestLocalRegistryProvider_FileReadError (line 635) | func TestLocalRegistryProvider_FileReadError(t *testing.T) { function TestLocalRegistryProvider_LegacyFileReturnsMigrationHint (line 651) | func TestLocalRegistryProvider_LegacyFileReturnsMigrationHint(t *testing... function createTestServer (line 670) | func createTestServer(responseBody string, statusCode int) *httptest.Ser... FILE: pkg/registry/schema_validation_test.go function TestEmbeddedRegistrySchemaValidation (line 18) | func TestEmbeddedRegistrySchemaValidation(t *testing.T) { function TestValidateEmbeddedRegistryCanLoadData (line 27) | func TestValidateEmbeddedRegistryCanLoadData(t *testing.T) { function TestUpstreamRegistryParsing (line 45) | func TestUpstreamRegistryParsing(t *testing.T) { function TestParseRegistryData_LegacyFormatDetection (line 66) | func TestParseRegistryData_LegacyFormatDetection(t *testing.T) { function TestParseRegistryData_MalformedJSON (line 142) | func TestParseRegistryData_MalformedJSON(t *testing.T) { FILE: pkg/registry/service.go type Configurator (line 20) | type Configurator interface type DefaultConfigurator (line 37) | type DefaultConfigurator struct method SetRegistryFromInput (line 57) | func (s *DefaultConfigurator) SetRegistryFromInput(input string, allow... method UnsetRegistry (line 94) | func (s *DefaultConfigurator) UnsetRegistry() error { method GetRegistryInfo (line 116) | func (s *DefaultConfigurator) GetRegistryInfo() (string, string) { function NewConfigurator (line 42) | func NewConfigurator() Configurator { function NewConfiguratorWithProvider (line 50) | func NewConfiguratorWithProvider(provider config.Provider) Configurator { FILE: pkg/registry/service_test.go function TestConfigurator_SetRegistryFromInput (line 18) | func TestConfigurator_SetRegistryFromInput(t *testing.T) { function TestConfigurator_UnsetRegistry (line 105) | func TestConfigurator_UnsetRegistry(t *testing.T) { function TestConfigurator_GetRegistryInfo (line 144) | func TestConfigurator_GetRegistryInfo(t *testing.T) { FILE: pkg/registry/types_test.go function TestRegistryWithRemoteServers (line 17) | func TestRegistryWithRemoteServers(t *testing.T) { function TestRemoteServerMetadataWithHeaders (line 67) | func TestRemoteServerMetadataWithHeaders(t *testing.T) { function TestRemoteServerMetadataWithOAuth (line 114) | func TestRemoteServerMetadataWithOAuth(t *testing.T) { function TestBaseServerMetadataInheritance (line 193) | func TestBaseServerMetadataInheritance(t *testing.T) { function TestRemoteServerTransportValidation (line 257) | func TestRemoteServerTransportValidation(t *testing.T) { function TestHeaderSecretField (line 288) | func TestHeaderSecretField(t *testing.T) { function TestMetadataParsedTime (line 308) | func TestMetadataParsedTime(t *testing.T) { FILE: pkg/registry/upstream_parser.go function parseRegistryData (line 30) | func parseRegistryData(data []byte) (*types.Registry, []types.Skill, err... FILE: pkg/runner/config.go constant CurrentSchemaVersion (line 42) | CurrentSchemaVersion = "v0.1.0" type RunConfig (line 48) | type RunConfig struct method NormalizeProxyMode (line 304) | func (c *RunConfig) NormalizeProxyMode() { method WriteJSON (line 309) | func (c *RunConfig) WriteJSON(w io.Writer) error { method WithAuthz (line 453) | func (c *RunConfig) WithAuthz(config *authz.Config) *RunConfig { method WithAudit (line 459) | func (c *RunConfig) WithAudit(config *audit.Config) *RunConfig { method WithMiddlewareConfig (line 465) | func (c *RunConfig) WithMiddlewareConfig(middlewareConfig []types.Midd... method WithTransport (line 471) | func (c *RunConfig) WithTransport(t string) (*RunConfig, error) { method WithPorts (line 481) | func (c *RunConfig) WithPorts(proxyPort, targetPort int) (*RunConfig, ... method WithEnvironmentVariables (line 530) | func (c *RunConfig) WithEnvironmentVariables(envVars map[string]string... method ValidateSecrets (line 547) | func (c *RunConfig) ValidateSecrets(ctx context.Context, userProvider ... method WithSecrets (line 567) | func (c *RunConfig) WithSecrets( method resolveHeaderForwardSecrets (line 632) | func (c *RunConfig) resolveHeaderForwardSecrets(ctx context.Context, u... method mergeEnvVars (line 653) | func (c *RunConfig) mergeEnvVars(envVars map[string]string) *RunConfig { method WithEnvFilesFromDirectory (line 668) | func (c *RunConfig) WithEnvFilesFromDirectory(dirPath string) (*RunCon... method WithEnvFile (line 678) | func (c *RunConfig) WithEnvFile(filePath string) (*RunConfig, error) { method WithContainerName (line 689) | func (c *RunConfig) WithContainerName() (*RunConfig, bool) { method WithStandardLabels (line 713) | func (c *RunConfig) WithStandardLabels() *RunConfig { method GetBaseName (line 730) | func (c *RunConfig) GetBaseName() string { method SaveState (line 735) | func (c *RunConfig) SaveState(ctx context.Context) error { type ScalingConfig (line 275) | type ScalingConfig struct type SessionRedisConfig (line 291) | type SessionRedisConfig struct function ReadJSON (line 320) | func ReadJSON(r io.Reader) (*RunConfig, error) { function migrateOAuthClientSecret (line 368) | func migrateOAuthClientSecret(config *RunConfig) error { function migrateBearerToken (line 407) | func migrateBearerToken(config *RunConfig) error { function NewRunConfig (line 445) | func NewRunConfig() *RunConfig { function LoadState (line 740) | func LoadState(ctx context.Context, name string) (*RunConfig, error) { type ToolOverride (line 747) | type ToolOverride struct type HeaderForwardConfig (line 756) | type HeaderForwardConfig struct method ResolvedHeaders (line 777) | func (h *HeaderForwardConfig) ResolvedHeaders() map[string]string { method HasHeaders (line 789) | func (h *HeaderForwardConfig) HasHeaders() bool { constant DefaultCallbackPort (line 797) | DefaultCallbackPort = 8666 FILE: pkg/runner/config_builder.go type BuildContext (line 44) | type BuildContext constant BuildContextCLI (line 48) | BuildContextCLI BuildContext = iota constant BuildContextOperator (line 50) | BuildContextOperator type runConfigBuilder (line 54) | type runConfigBuilder struct method validateConfig (line 972) | func (b *runConfigBuilder) validateConfig(imageMetadata *regtypes.Imag... method loadPermissionProfile (line 1127) | func (b *runConfigBuilder) loadPermissionProfile(imageMetadata *regtyp... method processVolumeMounts (line 1159) | func (b *runConfigBuilder) processVolumeMounts() error { method BuildForOperator (line 1244) | func (b *runConfigBuilder) BuildForOperator() (*RunConfig, error) { method WithEnvVars (line 1264) | func (b *runConfigBuilder) WithEnvVars(envVars map[string]string) *run... method ensureHeaderForward (line 1329) | func (b *runConfigBuilder) ensureHeaderForward() *HeaderForwardConfig { type RunConfigBuilderOption (line 71) | type RunConfigBuilderOption function WithRuntime (line 74) | func WithRuntime(deployer rt.Deployer) RunConfigBuilderOption { function WithImage (line 84) | func WithImage(image string) RunConfigBuilderOption { function WithMCPServerGeneration (line 92) | func WithMCPServerGeneration(gen int64) RunConfigBuilderOption { function WithRuntimeConfig (line 100) | func WithRuntimeConfig(runtimeConfig *templates.RuntimeConfig) RunConfig... function WithRemoteURL (line 108) | func WithRemoteURL(remoteURL string) RunConfigBuilderOption { function WithRegistrySourceURLs (line 116) | func WithRegistrySourceURLs(apiURL, registryURL string) RunConfigBuilder... function ResolveRegistrySourceURLs (line 128) | func ResolveRegistrySourceURLs(serverMetadata regtypes.ServerMetadata, a... function WithRegistryServerName (line 136) | func WithRegistryServerName(name string) RunConfigBuilderOption { function ResolveRegistryServerName (line 146) | func ResolveRegistryServerName(serverMetadata regtypes.ServerMetadata) s... function WithRegistryProxyPort (line 155) | func WithRegistryProxyPort(port int) RunConfigBuilderOption { function WithRemoteAuth (line 163) | func WithRemoteAuth(config *remote.Config) RunConfigBuilderOption { function WithName (line 176) | func WithName(name string) RunConfigBuilderOption { function WithMiddlewareConfig (line 184) | func WithMiddlewareConfig(middlewareConfig []types.MiddlewareConfig) Run... function WithCmdArgs (line 192) | func WithCmdArgs(args []string) RunConfigBuilderOption { function WithHost (line 200) | func WithHost(host string) RunConfigBuilderOption { function WithTargetHost (line 211) | func WithTargetHost(targetHost string) RunConfigBuilderOption { function WithPublish (line 230) | func WithPublish(publish []string) RunConfigBuilderOption { function WithDebug (line 238) | func WithDebug(debug bool) RunConfigBuilderOption { function WithVolumes (line 246) | func WithVolumes(volumes []string) RunConfigBuilderOption { function WithSecrets (line 254) | func WithSecrets(secrets []string) RunConfigBuilderOption { function WithAuthzConfigPath (line 262) | func WithAuthzConfigPath(path string) RunConfigBuilderOption { function WithAuthzConfig (line 270) | func WithAuthzConfig(config *authz.Config) RunConfigBuilderOption { function WithValidatingWebhooks (line 279) | func WithValidatingWebhooks(webhooks []webhook.Config) RunConfigBuilderO... function WithMutatingWebhooks (line 288) | func WithMutatingWebhooks(webhooks []webhook.Config) RunConfigBuilderOpt... function WithAuditConfigPath (line 296) | func WithAuditConfigPath(path string) RunConfigBuilderOption { function WithPermissionProfileNameOrPath (line 306) | func WithPermissionProfileNameOrPath(profile string) RunConfigBuilderOpt... function WithPermissionProfile (line 317) | func WithPermissionProfile(profile *permissions.Profile) RunConfigBuilde... function WithNetworkIsolation (line 326) | func WithNetworkIsolation(isolate bool) RunConfigBuilderOption { function WithAllowDockerGateway (line 334) | func WithAllowDockerGateway(allow bool) RunConfigBuilderOption { function WithTrustProxyHeaders (line 342) | func WithTrustProxyHeaders(trust bool) RunConfigBuilderOption { function WithStateless (line 350) | func WithStateless(stateless bool) RunConfigBuilderOption { function WithEndpointPrefix (line 358) | func WithEndpointPrefix(prefix string) RunConfigBuilderOption { function WithNetworkMode (line 367) | func WithNetworkMode(networkMode string) RunConfigBuilderOption { function WithK8sPodPatch (line 375) | func WithK8sPodPatch(patch string) RunConfigBuilderOption { function WithProxyMode (line 383) | func WithProxyMode(mode types.ProxyMode) RunConfigBuilderOption { function WithGroup (line 391) | func WithGroup(groupName string) RunConfigBuilderOption { function WithLabels (line 399) | func WithLabels(labelStrings []string) RunConfigBuilderOption { function WithTransportAndPorts (line 425) | func WithTransportAndPorts(mcpTransport string, port, targetPort int) Ru... function WithExistingPort (line 436) | func WithExistingPort(port int) RunConfigBuilderOption { function WithAuditEnabled (line 444) | func WithAuditEnabled(enableAudit bool, auditConfigPath string) RunConfi... function WithOIDCConfig (line 454) | func WithOIDCConfig( function WithTokenExchangeConfig (line 505) | func WithTokenExchangeConfig(config *tokenexchange.Config) RunConfigBuil... function WithAWSStsConfig (line 513) | func WithAWSStsConfig(config *awssts.Config) RunConfigBuilderOption { function WithTelemetryConfigFromFlags (line 521) | func WithTelemetryConfigFromFlags( function WithTelemetryConfig (line 549) | func WithTelemetryConfig(config *telemetry.Config) RunConfigBuilderOption { function WithRateLimitConfig (line 557) | func WithRateLimitConfig(namespace string, config *v1beta1.RateLimitConf... function WithToolsFilter (line 566) | func WithToolsFilter(toolsFilter []string) RunConfigBuilderOption { function WithToolsOverride (line 575) | func WithToolsOverride(toolOverride map[string]ToolOverride) RunConfigBu... function WithIgnoreConfig (line 583) | func WithIgnoreConfig(ignoreConfig *ignore.Config) RunConfigBuilderOption { function WithMiddlewareFromFlags (line 591) | func WithMiddlewareFromFlags( function WithEnvVars (line 667) | func WithEnvVars(envVars map[string]string) RunConfigBuilderOption { function addToolFilterMiddlewares (line 680) | func addToolFilterMiddlewares( function addCoreMiddlewares (line 716) | func addCoreMiddlewares( function addTelemetryMiddleware (line 760) | func addTelemetryMiddleware( function addAuthzMiddleware (line 785) | func addAuthzMiddleware( function addAuditMiddleware (line 819) | func addAuditMiddleware( function addRecoveryMiddleware (line 852) | func addRecoveryMiddleware(middlewareConfigs []types.MiddlewareConfig) [... function NewOperatorRunConfigBuilder (line 863) | func NewOperatorRunConfigBuilder( function NewRunConfigBuilder (line 881) | func NewRunConfigBuilder( function internalRunConfigBuilder (line 898) | func internalRunConfigBuilder( function WithEnvFile (line 1275) | func WithEnvFile(filePath string) RunConfigBuilderOption { function WithEnvFilesFromDirectory (line 1285) | func WithEnvFilesFromDirectory(dirPath string) RunConfigBuilderOption { function WithHeaderForward (line 1297) | func WithHeaderForward(headers map[string]string) RunConfigBuilderOption { function WithHeaderForwardSecrets (line 1315) | func WithHeaderForwardSecrets(headers map[string]string) RunConfigBuilde... function WithEmbeddedAuthServerConfig (line 1338) | func WithEmbeddedAuthServerConfig(config *authserver.RunConfig) RunConfi... FILE: pkg/runner/config_builder_test.go function TestRunConfigBuilder_Build_WithPermissionProfile (line 30) | func TestRunConfigBuilder_Build_WithPermissionProfile(t *testing.T) { function TestRunConfigBuilder_Build_WithVolumeMounts (line 243) | func TestRunConfigBuilder_Build_WithVolumeMounts(t *testing.T) { function createTempProfileFile (line 364) | func createTempProfileFile(t *testing.T, content string) (string, func()) { function TestAddCoreMiddlewares_TokenExchangeIntegration (line 382) | func TestAddCoreMiddlewares_TokenExchangeIntegration(t *testing.T) { function TestRunConfigBuilder_WithToolOverride (line 444) | func TestRunConfigBuilder_WithToolOverride(t *testing.T) { function TestRunConfigBuilder_WithWebhookConfigs (line 552) | func TestRunConfigBuilder_WithWebhookConfigs(t *testing.T) { function TestRunConfigBuilder_ToolOverrideMutualExclusivity (line 586) | func TestRunConfigBuilder_ToolOverrideMutualExclusivity(t *testing.T) { function TestRunConfigBuilder_ToolOverrideWithToolsFilter (line 662) | func TestRunConfigBuilder_ToolOverrideWithToolsFilter(t *testing.T) { function TestNewOperatorRunConfigBuilder (line 727) | func TestNewOperatorRunConfigBuilder(t *testing.T) { function TestWithEnvVars (line 747) | func TestWithEnvVars(t *testing.T) { function TestWithEnvVarsOverwrite (line 824) | func TestWithEnvVarsOverwrite(t *testing.T) { function TestBuildForOperator (line 869) | func TestBuildForOperator(t *testing.T) { function TestWithEnvFileDir (line 939) | func TestWithEnvFileDir(t *testing.T) { function TestRunConfigBuilder_WithIndividualTransportOptions (line 985) | func TestRunConfigBuilder_WithIndividualTransportOptions(t *testing.T) { function TestRunConfigBuilder_WithRegistryProxyPort (line 1030) | func TestRunConfigBuilder_WithRegistryProxyPort(t *testing.T) { function TestEmbeddedAuthServerScopePropagation (line 1116) | func TestEmbeddedAuthServerScopePropagation(t *testing.T) { function TestProcessVolumeMounts_SourcePathValidation (line 1266) | func TestProcessVolumeMounts_SourcePathValidation(t *testing.T) { function TestWithRegistrySourceURLs (line 1333) | func TestWithRegistrySourceURLs(t *testing.T) { function TestResolveRegistrySourceURLs (line 1388) | func TestResolveRegistrySourceURLs(t *testing.T) { function TestWithRegistryServerName (line 1458) | func TestWithRegistryServerName(t *testing.T) { function TestResolveRegistryServerName (line 1492) | func TestResolveRegistryServerName(t *testing.T) { FILE: pkg/runner/config_env_files_test.go function TestRunConfig_WithEnvFile (line 15) | func TestRunConfig_WithEnvFile(t *testing.T) { function TestRunConfig_WithEnvFilesFromDirectory (line 94) | func TestRunConfig_WithEnvFilesFromDirectory(t *testing.T) { function TestRunConfig_WithEnvFile_ErrorHandling (line 188) | func TestRunConfig_WithEnvFile_ErrorHandling(t *testing.T) { FILE: pkg/runner/config_test.go constant localhostStr (line 35) | localhostStr = "localhost" function TestNewRunConfig (line 38) | func TestNewRunConfig(t *testing.T) { function TestRunConfig_WithTransport (line 46) | func TestRunConfig_WithTransport(t *testing.T) { function TestRunConfig_NormalizeProxyMode (line 98) | func TestRunConfig_NormalizeProxyMode(t *testing.T) { function TestRunConfig_WithPorts (line 175) | func TestRunConfig_WithPorts(t *testing.T) { function TestRunConfig_WithEnvironmentVariables (line 245) | func TestRunConfig_WithEnvironmentVariables(t *testing.T) { function TestRunConfig_WithSecrets (line 342) | func TestRunConfig_WithSecrets(t *testing.T) { function TestRunConfig_WithContainerName (line 648) | func TestRunConfig_WithContainerName(t *testing.T) { function TestRunConfig_WithStandardLabels (line 702) | func TestRunConfig_WithStandardLabels(t *testing.T) { function TestRunConfig_WithAuthz (line 793) | func TestRunConfig_WithAuthz(t *testing.T) { type mockEnvVarValidator (line 808) | type mockEnvVarValidator struct method Validate (line 810) | func (*mockEnvVarValidator) Validate(_ context.Context, _ *regtypes.Im... function TestRunConfigBuilder (line 815) | func TestRunConfigBuilder(t *testing.T) { function TestRunConfigBuilder_OIDCScopes (line 921) | func TestRunConfigBuilder_OIDCScopes(t *testing.T) { function TestRunConfig_WriteJSON_ReadJSON (line 1012) | func TestRunConfig_WriteJSON_ReadJSON(t *testing.T) { function TestCommaSeparatedEnvVars (line 1065) | func TestCommaSeparatedEnvVars(t *testing.T) { function TestRunConfigBuilder_MetadataOverrides (line 1131) | func TestRunConfigBuilder_MetadataOverrides(t *testing.T) { function TestRunConfigBuilder_EnvironmentVariableTransportDependency (line 1237) | func TestRunConfigBuilder_EnvironmentVariableTransportDependency(t *test... function TestRunConfigBuilder_CmdArgsMetadataOverride (line 1282) | func TestRunConfigBuilder_CmdArgsMetadataOverride(t *testing.T) { function TestRunConfigBuilder_CmdArgsMetadataDefaults (line 1333) | func TestRunConfigBuilder_CmdArgsMetadataDefaults(t *testing.T) { function TestRunConfigBuilder_VolumeProcessing (line 1383) | func TestRunConfigBuilder_VolumeProcessing(t *testing.T) { function TestRunConfigBuilder_FilesystemMCPScenario (line 1453) | func TestRunConfigBuilder_FilesystemMCPScenario(t *testing.T) { function TestRunConfig_EnvironmentVariableOverrideBehavior (line 1506) | func TestRunConfig_EnvironmentVariableOverrideBehavior(t *testing.T) { function TestRunConfig_TelemetryEnvironmentVariablesPreservation (line 1591) | func TestRunConfig_TelemetryEnvironmentVariablesPreservation(t *testing.... function TestConfigFileLoading (line 1672) | func TestConfigFileLoading(t *testing.T) { function TestRunConfig_WithPorts_PortReuse (line 1779) | func TestRunConfig_WithPorts_PortReuse(t *testing.T) { function TestHeaderForwardConfig_HasHeaders (line 1838) | func TestHeaderForwardConfig_HasHeaders(t *testing.T) { function TestRunConfig_resolveHeaderForwardSecrets (line 1887) | func TestRunConfig_resolveHeaderForwardSecrets(t *testing.T) { function TestWithExistingPort (line 1995) | func TestWithExistingPort(t *testing.T) { function TestWithEmbeddedAuthServerConfig (line 2038) | func TestWithEmbeddedAuthServerConfig(t *testing.T) { function TestRunConfig_WriteJSON_ReadJSON_EmbeddedAuthServer (line 2099) | func TestRunConfig_WriteJSON_ReadJSON_EmbeddedAuthServer(t *testing.T) { function TestRunConfig_BackendReplicas (line 2324) | func TestRunConfig_BackendReplicas(t *testing.T) { function TestRunConfig_SessionRedis (line 2419) | func TestRunConfig_SessionRedis(t *testing.T) { function TestRunConfig_MCPServerGenerationJSONRoundTrip (line 2536) | func TestRunConfig_MCPServerGenerationJSONRoundTrip(t *testing.T) { FILE: pkg/runner/env.go type EnvVarValidator (line 24) | type EnvVarValidator interface type DetachedEnvVarValidator (line 38) | type DetachedEnvVarValidator struct method Validate (line 42) | func (*DetachedEnvVarValidator) Validate( type CLIEnvVarValidator (line 71) | type CLIEnvVarValidator struct method Validate (line 84) | func (v *CLIEnvVarValidator) Validate( method initializeSecretsManagerIfNeeded (line 235) | func (v *CLIEnvVarValidator) initializeSecretsManagerIfNeeded(registry... method getSecretsManager (line 261) | func (v *CLIEnvVarValidator) getSecretsManager() (secrets.Provider, er... function NewCLIEnvVarValidator (line 76) | func NewCLIEnvVarValidator(configProvider config.Provider) *CLIEnvVarVal... function promptForEnvironmentVariable (line 158) | func promptForEnvironmentVariable(envVar *registry.EnvVar) (string, erro... function addNewVariable (line 186) | func addNewVariable( function addAsSecret (line 202) | func addAsSecret( function isEnvVarProvided (line 285) | func isEnvVarProvided(name string, envVars map[string]string, secretsCon... function findEnvironmentVariableFromSecrets (line 295) | func findEnvironmentVariableFromSecrets(secs []string, envVarName string... function isSecretReferenceEnvVar (line 305) | func isSecretReferenceEnvVar(secret, envVarName string) bool { function addAsEnvironmentVariable (line 324) | func addAsEnvironmentVariable( FILE: pkg/runner/env_files.go function processEnvFilesDirectory (line 18) | func processEnvFilesDirectory(dirPath string) (map[string]string, error) { function processEnvFile (line 65) | func processEnvFile(path string) (map[string]string, error) { FILE: pkg/runner/env_files_test.go function TestProcessEnvFile (line 15) | func TestProcessEnvFile(t *testing.T) { function TestProcessEnvFilesDirectory_FileFiltering (line 110) | func TestProcessEnvFilesDirectory_FileFiltering(t *testing.T) { function TestProcessEnvFilesDirectory_Integration (line 157) | func TestProcessEnvFilesDirectory_Integration(t *testing.T) { function TestProcessEnvFilesDirectory_NonExistentDirectory (line 243) | func TestProcessEnvFilesDirectory_NonExistentDirectory(t *testing.T) { FILE: pkg/runner/middleware.go function GetSupportedMiddlewareFactories (line 30) | func GetSupportedMiddlewareFactories() map[string]types.MiddlewareFactory { function PopulateMiddlewareConfigs (line 55) | func PopulateMiddlewareConfigs(config *RunConfig) error { function addMutatingWebhookMiddleware (line 236) | func addMutatingWebhookMiddleware(configs []types.MiddlewareConfig, runC... function addValidatingWebhookMiddleware (line 258) | func addValidatingWebhookMiddleware(configs []types.MiddlewareConfig, ru... function addTokenExchangeMiddleware (line 280) | func addTokenExchangeMiddleware( function addHeaderForwardMiddleware (line 302) | func addHeaderForwardMiddleware(middlewares []types.MiddlewareConfig, co... function addUsageMetricsMiddleware (line 318) | func addUsageMetricsMiddleware(middlewares []types.MiddlewareConfig, con... function addUpstreamSwapMiddleware (line 335) | func addUpstreamSwapMiddleware( function injectUpstreamProviderIfNeeded (line 379) | func injectUpstreamProviderIfNeeded( function addAWSStsMiddleware (line 402) | func addAWSStsMiddleware(middlewares []types.MiddlewareConfig, config *R... function addRateLimitMiddleware (line 423) | func addRateLimitMiddleware(middlewares []types.MiddlewareConfig, config... FILE: pkg/runner/middleware_test.go function createMinimalAuthServerConfig (line 38) | func createMinimalAuthServerConfig() *authserver.RunConfig { function TestAddHeaderForwardMiddleware (line 58) | func TestAddHeaderForwardMiddleware(t *testing.T) { function TestPopulateMiddlewareConfigs_HeaderForward (line 125) | func TestPopulateMiddlewareConfigs_HeaderForward(t *testing.T) { function TestWithMiddlewareFromFlags_ExcludesHeaderForward (line 186) | func TestWithMiddlewareFromFlags_ExcludesHeaderForward(t *testing.T) { function TestGetSupportedMiddlewareFactories (line 212) | func TestGetSupportedMiddlewareFactories(t *testing.T) { function TestWithHeaderForwardSecretsBuilderOption (line 226) | func TestWithHeaderForwardSecretsBuilderOption(t *testing.T) { function TestAddUpstreamSwapMiddleware (line 267) | func TestAddUpstreamSwapMiddleware(t *testing.T) { function TestPopulateMiddlewareConfigs_UpstreamSwap (line 346) | func TestPopulateMiddlewareConfigs_UpstreamSwap(t *testing.T) { function TestAddAWSStsMiddleware (line 408) | func TestAddAWSStsMiddleware(t *testing.T) { function TestPopulateMiddlewareConfigs_AWSSts (line 477) | func TestPopulateMiddlewareConfigs_AWSSts(t *testing.T) { function TestPopulateMiddlewareConfigs_AWSStsOrdering (line 545) | func TestPopulateMiddlewareConfigs_AWSStsOrdering(t *testing.T) { function makeCedarAuthzConfig (line 591) | func makeCedarAuthzConfig(t *testing.T) *authz.Config { function TestInjectUpstreamProviderIfNeeded (line 606) | func TestInjectUpstreamProviderIfNeeded(t *testing.T) { function writeCedarConfigFile (line 701) | func writeCedarConfigFile(t *testing.T) string { function TestAddAuthzMiddleware_InjectsUpstreamProvider (line 717) | func TestAddAuthzMiddleware_InjectsUpstreamProvider(t *testing.T) { function TestAddAuthzMiddleware_EmptyPath (line 742) | func TestAddAuthzMiddleware_EmptyPath(t *testing.T) { function TestAddRateLimitMiddleware (line 750) | func TestAddRateLimitMiddleware(t *testing.T) { function TestPopulateMiddlewareConfigs_RateLimit (line 830) | func TestPopulateMiddlewareConfigs_RateLimit(t *testing.T) { function TestPopulateMiddlewareConfigs_FullCoverage (line 881) | func TestPopulateMiddlewareConfigs_FullCoverage(t *testing.T) { FILE: pkg/runner/permissions.go function CreatePermissionProfileFile (line 21) | func CreatePermissionProfileFile(serverName string, permProfile *permiss... function CleanupTempPermissionProfile (line 54) | func CleanupTempPermissionProfile(permissionProfilePath string) error { function isTempPermissionProfile (line 86) | func isTempPermissionProfile(filePath string) bool { FILE: pkg/runner/permissions_test.go function TestIsTempPermissionProfile (line 12) | func TestIsTempPermissionProfile(t *testing.T) { function TestCleanupTempPermissionProfile (line 67) | func TestCleanupTempPermissionProfile(t *testing.T) { function TestCleanupTempPermissionProfile_NonTempFile (line 94) | func TestCleanupTempPermissionProfile_NonTempFile(t *testing.T) { function TestCleanupTempPermissionProfile_NonExistentFile (line 106) | func TestCleanupTempPermissionProfile_NonExistentFile(t *testing.T) { FILE: pkg/runner/policy_gate.go type PolicyGate (line 15) | type PolicyGate interface type NoopPolicyGate (line 24) | type NoopPolicyGate struct method CheckCreateServer (line 27) | func (NoopPolicyGate) CheckCreateServer(_ context.Context, _ *RunConfi... type allowAllGate (line 32) | type allowAllGate struct function RegisterPolicyGate (line 44) | func RegisterPolicyGate(g PolicyGate) { function ActivePolicyGate (line 54) | func ActivePolicyGate() PolicyGate { function EagerCheckCreateServer (line 64) | func EagerCheckCreateServer(ctx context.Context, cfg *RunConfig) error { FILE: pkg/runner/policy_gate_test.go function TestAllowAllGate_CheckCreateServer (line 15) | func TestAllowAllGate_CheckCreateServer(t *testing.T) { function TestNoopPolicyGate_CheckCreateServer (line 23) | func TestNoopPolicyGate_CheckCreateServer(t *testing.T) { function TestRegisterPolicyGate (line 31) | func TestRegisterPolicyGate(t *testing.T) { function TestActivePolicyGate_DefaultIsAllowAll (line 56) | func TestActivePolicyGate_DefaultIsAllowAll(t *testing.T) { function TestEagerCheckCreateServer (line 85) | func TestEagerCheckCreateServer(t *testing.T) { type errorPolicyGate (line 130) | type errorPolicyGate struct method CheckCreateServer (line 135) | func (g *errorPolicyGate) CheckCreateServer(_ context.Context, _ *RunC... FILE: pkg/runner/protocol.go constant UVXScheme (line 26) | UVXScheme = "uvx://" constant NPXScheme (line 27) | NPXScheme = "npx://" constant GOScheme (line 28) | GOScheme = "go://" function HandleProtocolScheme (line 34) | func HandleProtocolScheme( function BuildFromProtocolSchemeWithName (line 50) | func BuildFromProtocolSchemeWithName( function ParseProtocolScheme (line 83) | func ParseProtocolScheme(serverOrImage string) (templates.TransportType,... function validateBuildArgs (line 100) | func validateBuildArgs(buildArgs []string) error { function createTemplateData (line 110) | func createTemplateData( function loadRuntimeConfig (line 162) | func loadRuntimeConfig( function mergeRuntimeConfig (line 193) | func mergeRuntimeConfig(transportType templates.TransportType, override ... function addBuildEnvToTemplate (line 225) | func addBuildEnvToTemplate(templateData *templates.TemplateData) error { function addBuildAuthFilesToTemplate (line 267) | func addBuildAuthFilesToTemplate(templateData *templates.TemplateData) e... function resolveBuildAuthFilesFromSecrets (line 290) | func resolveBuildAuthFilesFromSecrets(configuredFiles []string) (map[str... function resolveSecretsForBuildEnv (line 324) | func resolveSecretsForBuildEnv(secretRefs map[string]string) (map[string... function addCACertToTemplate (line 363) | func addCACertToTemplate(caCertPath string, templateData *templates.Temp... type buildContext (line 385) | type buildContext struct function setupBuildContext (line 393) | func setupBuildContext(packageName string, isLocalPath bool) (*buildCont... function setupLocalBuildContext (line 401) | func setupLocalBuildContext(packageName string) (*buildContext, error) { function setupTempBuildContext (line 444) | func setupTempBuildContext() (*buildContext, error) { function writeDockerfile (line 467) | func writeDockerfile(dockerfilePath, dockerfileContent string, isLocalPa... function writeCACertificate (line 491) | func writeCACertificate(buildContextDir, caCertContent string, isLocalPa... function writeAuthFiles (line 521) | func writeAuthFiles(buildContextDir string, authFiles map[string]string,... function generateImageName (line 569) | func generateImageName(transportType templates.TransportType, packageNam... function buildImageFromTemplateWithName (line 579) | func buildImageFromTemplateWithName( function PackageNameToImageName (line 650) | func PackageNameToImageName(packageName string) string { function isLocalGoPath (line 675) | func isLocalGoPath(path string) bool { function IsImageProtocolScheme (line 680) | func IsImageProtocolScheme(serverOrImage string) bool { FILE: pkg/runner/protocol_test.go function TestIsLocalGoPath (line 17) | func TestIsLocalGoPath(t *testing.T) { function TestPackageNameToImageName (line 72) | func TestPackageNameToImageName(t *testing.T) { function TestIsImageProtocolScheme (line 132) | func TestIsImageProtocolScheme(t *testing.T) { function TestTemplateDataWithLocalPath (line 187) | func TestTemplateDataWithLocalPath(t *testing.T) { function TestBuildFromProtocolSchemeWithNameDryRun (line 245) | func TestBuildFromProtocolSchemeWithNameDryRun(t *testing.T) { function TestMergeRuntimeConfig (line 320) | func TestMergeRuntimeConfig(t *testing.T) { function TestLoadRuntimeConfigMergesOverrideWithDefaults (line 412) | func TestLoadRuntimeConfigMergesOverrideWithDefaults(t *testing.T) { function TestCreateTemplateData (line 434) | func TestCreateTemplateData(t *testing.T) { function TestLoadRuntimeConfig_UsesBaseConfigWhenOverrideNil (line 563) | func TestLoadRuntimeConfig_UsesBaseConfigWhenOverrideNil(t *testing.T) { function TestLoadRuntimeConfig_MergesBaseConfigWithOverride (line 572) | func TestLoadRuntimeConfig_MergesBaseConfigWithOverride(t *testing.T) { function TestLoadRuntimeConfig_UsesOverrideBuilderImage (line 596) | func TestLoadRuntimeConfig_UsesOverrideBuilderImage(t *testing.T) { FILE: pkg/runner/retriever/retriever.go constant VerifyImageWarn (line 30) | VerifyImageWarn = "warn" constant VerifyImageEnabled (line 32) | VerifyImageEnabled = "enabled" constant VerifyImageDisabled (line 34) | VerifyImageDisabled = "disabled" type Retriever (line 56) | type Retriever type ImagePuller (line 61) | type ImagePuller function ResolveMCPServer (line 69) | func ResolveMCPServer( function PullMCPServerImage (line 136) | func PullMCPServerImage(ctx context.Context, imageURL string) error { function EnforcePolicyAndPullImage (line 164) | func EnforcePolicyAndPullImage( function handleProtocolScheme (line 199) | func handleProtocolScheme( function handleRegistryLookup (line 218) | func handleRegistryLookup( function pullImage (line 261) | func pullImage(ctx context.Context, image string, imageManager images.Im... function resolveCACertPath (line 326) | func resolveCACertPath(flagValue string) string { function VerifyImage (line 347) | func VerifyImage(image string, server *types.ImageMetadata, verifySettin... function hasLatestTag (line 384) | func hasLatestTag(imageRef string) bool { FILE: pkg/runner/retriever/retriever_test.go function TestResolveMCPServer_WithGroup (line 18) | func TestResolveMCPServer_WithGroup(t *testing.T) { function TestResolveMCPServer_WithoutGroup (line 35) | func TestResolveMCPServer_WithoutGroup(t *testing.T) { function TestResolveCACertPath (line 56) | func TestResolveCACertPath(t *testing.T) { function TestHasLatestTag (line 92) | func TestHasLatestTag(t *testing.T) { type errorPolicyGate (line 139) | type errorPolicyGate struct method CheckCreateServer (line 144) | func (g *errorPolicyGate) CheckCreateServer(_ context.Context, _ *runn... function TestEnforcePolicyAndPullImage (line 149) | func TestEnforcePolicyAndPullImage(t *testing.T) { FILE: pkg/runner/runner.go type Runner (line 45) | type Runner struct method AddMiddleware (line 118) | func (r *Runner) AddMiddleware(name string, middleware types.Middlewar... method SetAuthInfoHandler (line 127) | func (r *Runner) SetAuthInfoHandler(handler http.Handler) { method SetPrometheusHandler (line 132) | func (r *Runner) SetPrometheusHandler(handler http.Handler) { method GetConfig (line 137) | func (r *Runner) GetConfig() types.RunnerConfig { method GetUpstreamTokenReader (line 144) | func (r *Runner) GetUpstreamTokenReader() upstreamtoken.TokenReader { method GetKeyProvider (line 151) | func (r *Runner) GetKeyProvider() keys.PublicKeyProvider { method Run (line 168) | func (r *Runner) Run(ctx context.Context) error { method doesWorkloadExist (line 654) | func (r *Runner) doesWorkloadExist(ctx context.Context, workloadName s... method handleRemoteAuthentication (line 693) | func (r *Runner) handleRemoteAuthentication(ctx context.Context) (oaut... method Cleanup (line 787) | func (r *Runner) Cleanup(ctx context.Context) error { type statusManagerAdapter (line 94) | type statusManagerAdapter struct method SetWorkloadStatus (line 98) | func (a *statusManagerAdapter) SetWorkloadStatus( function NewRunner (line 109) | func NewRunner(runConfig *RunConfig, statusManager statuses.StatusManage... method GetName (line 156) | func (c *RunConfig) GetName() string { method GetPort (line 161) | func (c *RunConfig) GetPort() int { function waitForInitializeSuccess (line 832) | func waitForInitializeSuccess(ctx context.Context, serverURL, transportT... FILE: pkg/runner/runner_test.go constant testServerName (line 26) | testServerName = "test-server" function TestNewRunner (line 28) | func TestNewRunner(t *testing.T) { function TestRunner_AddMiddleware (line 47) | func TestRunner_AddMiddleware(t *testing.T) { function TestRunner_SetAuthInfoHandler (line 72) | func TestRunner_SetAuthInfoHandler(t *testing.T) { function TestRunner_SetPrometheusHandler (line 92) | func TestRunner_SetPrometheusHandler(t *testing.T) { function TestRunner_GetConfig (line 112) | func TestRunner_GetConfig(t *testing.T) { function TestRunConfig_GetName (line 133) | func TestRunConfig_GetName(t *testing.T) { function TestRunConfig_GetPort (line 142) | func TestRunConfig_GetPort(t *testing.T) { function TestRunner_Cleanup (line 151) | func TestRunner_Cleanup(t *testing.T) { function TestRunner_CleanupWithMiddlewareError (line 183) | func TestRunner_CleanupWithMiddlewareError(t *testing.T) { function TestStatusManagerAdapter_SetWorkloadStatus (line 207) | func TestStatusManagerAdapter_SetWorkloadStatus(t *testing.T) { function TestWaitForInitializeSuccess (line 229) | func TestWaitForInitializeSuccess(t *testing.T) { function TestHandleRemoteAuthentication (line 322) | func TestHandleRemoteAuthentication(t *testing.T) { type mockMiddlewareImpl (line 345) | type mockMiddlewareImpl struct method Handler (line 350) | func (m *mockMiddlewareImpl) Handler() types.MiddlewareFunction { method Close (line 356) | func (m *mockMiddlewareImpl) Close() error { function TestRunner_EmbeddedAuthServer_Integration (line 362) | func TestRunner_EmbeddedAuthServer_Integration(t *testing.T) { function TestRunner_RejectsMultiUpstreamConfig (line 467) | func TestRunner_RejectsMultiUpstreamConfig(t *testing.T) { function TestRunner_GetUpstreamTokenReader (line 514) | func TestRunner_GetUpstreamTokenReader(t *testing.T) { FILE: pkg/runner/webhook_integration_test.go function TestWebhookMiddlewareChainIntegration (line 24) | func TestWebhookMiddlewareChainIntegration(t *testing.T) { FILE: pkg/runtime/setup.go type SetupResult (line 27) | type SetupResult struct function Setup (line 39) | func Setup( FILE: pkg/script/description.go constant ExecuteToolScriptName (line 13) | ExecuteToolScriptName = "execute_tool_script" function GenerateToolDescription (line 18) | func GenerateToolDescription(tools []Tool) string { FILE: pkg/script/description_test.go function TestGenerateToolDescription (line 13) | func TestGenerateToolDescription(t *testing.T) { FILE: pkg/script/executor.go type executor (line 21) | type executor struct method Execute (line 27) | func (e *executor) Execute(ctx context.Context, script string, data ma... method ToolDescription (line 51) | func (e *executor) ToolDescription() string { method buildGlobals (line 56) | func (e *executor) buildGlobals(ctx context.Context) starlark.StringDi... function buildResult (line 70) | func buildResult(execResult *core.ExecuteResult) (*mcp.CallToolResult, e... FILE: pkg/script/internal/builtins/builtins.go type ToolDef (line 18) | type ToolDef struct function Build (line 33) | func Build( FILE: pkg/script/internal/builtins/builtins_test.go function TestBuild_ToolCallable (line 20) | func TestBuild_ToolCallable(t *testing.T) { function TestBuild_CallTool (line 66) | func TestBuild_CallTool(t *testing.T) { function TestBuild_Parallel_OrderedResults (line 125) | func TestBuild_Parallel_OrderedResults(t *testing.T) { function TestBuild_Parallel_ErrorPropagation (line 148) | func TestBuild_Parallel_ErrorPropagation(t *testing.T) { function TestBuild_Parallel_ConcurrencyLimit (line 165) | func TestBuild_Parallel_ConcurrencyLimit(t *testing.T) { function TestBuild_GlobalsContainBuiltins (line 220) | func TestBuild_GlobalsContainBuiltins(t *testing.T) { function TestBuild_NameCollision (line 236) | func TestBuild_NameCollision(t *testing.T) { FILE: pkg/script/internal/builtins/calltool.go function newCallTool (line 15) | func newCallTool(ctx context.Context, toolMap map[string]callFunc) *star... FILE: pkg/script/internal/builtins/parallel.go function newParallel (line 21) | func newParallel(ctx context.Context, stepLimit uint64, maxConcurrency i... FILE: pkg/script/internal/builtins/tools.go type callFunc (line 17) | type callFunc function makeToolCallable (line 24) | func makeToolCallable(ctx context.Context, displayName string, fn callFu... function callToolAndConvert (line 34) | func callToolAndConvert(ctx context.Context, fn callFunc, arguments map[... function argsToGoMap (line 54) | func argsToGoMap(args starlark.Tuple, kwargs []starlark.Tuple) map[strin... FILE: pkg/script/internal/conversions/result.go function ParseToolResult (line 24) | func ParseToolResult(result *mcp.CallToolResult) (interface{}, error) { FILE: pkg/script/internal/conversions/result_test.go function TestParseToolResult (line 13) | func TestParseToolResult(t *testing.T) { FILE: pkg/script/internal/conversions/starlark.go function GoToStarlark (line 19) | func GoToStarlark(v interface{}) (starlark.Value, error) { function StarlarkToGo (line 45) | func StarlarkToGo(v starlark.Value) interface{} { function goFloat64ToStarlark (line 90) | func goFloat64ToStarlark(v float64) starlark.Value { function goSliceToStarlark (line 97) | func goSliceToStarlark(v []interface{}) (starlark.Value, error) { function goMapToStarlark (line 109) | func goMapToStarlark(v map[string]interface{}) (starlark.Value, error) { function goJSONNumberToStarlark (line 123) | func goJSONNumberToStarlark(v json.Number) (starlark.Value, error) { FILE: pkg/script/internal/conversions/starlark_test.go function TestGoToStarlark (line 14) | func TestGoToStarlark(t *testing.T) { function TestStarlarkToGo (line 131) | func TestStarlarkToGo(t *testing.T) { function TestRoundTrip (line 155) | func TestRoundTrip(t *testing.T) { FILE: pkg/script/internal/conversions/toolname.go function SanitizeName (line 16) | func SanitizeName(name string) string { FILE: pkg/script/internal/conversions/toolname_test.go function TestSanitizeName (line 12) | func TestSanitizeName(t *testing.T) { FILE: pkg/script/internal/core/execute.go type ExecuteResult (line 16) | type ExecuteResult struct function Execute (line 28) | func Execute(script string, globals starlark.StringDict, stepLimit uint6... function wrapScript (line 80) | func wrapScript(script string) string { FILE: pkg/script/internal/core/execute_test.go function TestExecute (line 13) | func TestExecute(t *testing.T) { FILE: pkg/script/script.go constant DefaultStepLimit (line 16) | DefaultStepLimit uint64 = 100_000 type Executor (line 24) | type Executor interface type Tool (line 41) | type Tool struct type Config (line 60) | type Config struct function New (line 73) | func New(tools []Tool, cfg *Config) Executor { function resolveConfig (line 81) | func resolveConfig(cfg *Config) Config { FILE: pkg/script/script_test.go function TestExecutor (line 16) | func TestExecutor(t *testing.T) { function TestExecutor_ToolDescription (line 208) | func TestExecutor_ToolDescription(t *testing.T) { function extractText (line 225) | func extractText(t *testing.T, result *mcp.CallToolResult) string { FILE: pkg/secrets/1password.go type OnePasswordManager (line 23) | type OnePasswordManager struct method GetSecret (line 30) | func (o *OnePasswordManager) GetSecret(ctx context.Context, path strin... method SetSecret (line 45) | func (*OnePasswordManager) SetSecret(_ context.Context, _, _ string) e... method DeleteSecret (line 51) | func (*OnePasswordManager) DeleteSecret(_ context.Context, _ string) e... method ListSecrets (line 59) | func (o *OnePasswordManager) ListSecrets(ctx context.Context) ([]Secre... method DeleteSecrets (line 96) | func (*OnePasswordManager) DeleteSecrets(_ context.Context, _ []string... method Cleanup (line 101) | func (*OnePasswordManager) Cleanup() error { method Capabilities (line 107) | func (*OnePasswordManager) Capabilities() ProviderCapabilities { function NewOnePasswordManager (line 118) | func NewOnePasswordManager() (Provider, error) { function NewOnePasswordManagerWithClient (line 139) | func NewOnePasswordManagerWithClient(client clients.OnePasswordClient) *... FILE: pkg/secrets/1password_test.go function TestNewOnePasswordManager (line 19) | func TestNewOnePasswordManager(t *testing.T) { function TestOnePasswordManager_GetSecret (line 33) | func TestOnePasswordManager_GetSecret(t *testing.T) { function TestOnePasswordManager_ListSecrets (line 114) | func TestOnePasswordManager_ListSecrets(t *testing.T) { function TestOnePasswordManager_UnsupportedOperations (line 335) | func TestOnePasswordManager_UnsupportedOperations(t *testing.T) { FILE: pkg/secrets/aes/aes.go constant maxPlaintextSize (line 15) | maxPlaintextSize = 32 * 1024 * 1024 function Encrypt (line 23) | func Encrypt(plaintext []byte, key []byte) ([]byte, error) { function Decrypt (line 50) | func Decrypt(ciphertext []byte, key []byte) ([]byte, error) { FILE: pkg/secrets/aes/aes_test.go function TestGCMEncrypt (line 14) | func TestGCMEncrypt(t *testing.T) { function TestGCMDecrypt (line 61) | func TestGCMDecrypt(t *testing.T) { constant plaintext (line 103) | plaintext = "Hello world" FILE: pkg/secrets/clients/1password.go type OnePasswordClient (line 17) | type OnePasswordClient interface function NewOnePasswordClient (line 25) | func NewOnePasswordClient(ctx context.Context, token string) (OnePasswor... type onePasswordClient (line 41) | type onePasswordClient struct method Resolve (line 45) | func (opc *onePasswordClient) Resolve(ctx context.Context, secretRefer... method ListItems (line 53) | func (opc *onePasswordClient) ListItems( method ListVaults (line 61) | func (opc *onePasswordClient) ListVaults(ctx context.Context) ([]onepa... method GetItem (line 65) | func (opc *onePasswordClient) GetItem(ctx context.Context, vaultID, it... FILE: pkg/secrets/clients/mocks/mock_onepassword.go type MockOnePasswordClient (line 21) | type MockOnePasswordClient struct method EXPECT (line 40) | func (m *MockOnePasswordClient) EXPECT() *MockOnePasswordClientMockRec... method GetItem (line 45) | func (m *MockOnePasswordClient) GetItem(ctx context.Context, vaultID, ... method ListItems (line 60) | func (m *MockOnePasswordClient) ListItems(ctx context.Context, vaultID... method ListVaults (line 80) | func (m *MockOnePasswordClient) ListVaults(ctx context.Context) ([]one... method Resolve (line 95) | func (m *MockOnePasswordClient) Resolve(ctx context.Context, secretRef... type MockOnePasswordClientMockRecorder (line 28) | type MockOnePasswordClientMockRecorder struct method GetItem (line 54) | func (mr *MockOnePasswordClientMockRecorder) GetItem(ctx, vaultID, ite... method ListItems (line 73) | func (mr *MockOnePasswordClientMockRecorder) ListItems(ctx, vaultID an... method ListVaults (line 89) | func (mr *MockOnePasswordClientMockRecorder) ListVaults(ctx any) *gomo... method Resolve (line 104) | func (mr *MockOnePasswordClientMockRecorder) Resolve(ctx, secretRefere... function NewMockOnePasswordClient (line 33) | func NewMockOnePasswordClient(ctrl *gomock.Controller) *MockOnePasswordC... FILE: pkg/secrets/concurrency_test.go function TestConcurrentKeyringAvailability (line 20) | func TestConcurrentKeyringAvailability(t *testing.T) { function TestConcurrentUniqueKeyGeneration (line 66) | func TestConcurrentUniqueKeyGeneration(t *testing.T) { function TestSequentialConcurrency (line 110) | func TestSequentialConcurrency(t *testing.T) { FILE: pkg/secrets/encrypted.go type EncryptedManager (line 22) | type EncryptedManager struct method GetSecret (line 37) | func (e *EncryptedManager) GetSecret(_ context.Context, name string) (... method SetSecret (line 54) | func (e *EncryptedManager) SetSecret(_ context.Context, name, value st... method DeleteSecret (line 72) | func (e *EncryptedManager) DeleteSecret(_ context.Context, name string... method ListSecrets (line 93) | func (e *EncryptedManager) ListSecrets(_ context.Context) ([]SecretDes... method DeleteSecrets (line 106) | func (e *EncryptedManager) DeleteSecrets(_ context.Context, keys []str... method Cleanup (line 122) | func (e *EncryptedManager) Cleanup() error { method Capabilities (line 129) | func (*EncryptedManager) Capabilities() ProviderCapabilities { method readFileSecrets (line 141) | func (e *EncryptedManager) readFileSecrets() (map[string]string, error) { method writeFileSecrets (line 171) | func (e *EncryptedManager) writeFileSecrets(secrets map[string]string)... type fileStructure (line 29) | type fileStructure struct function NewEncryptedManager (line 189) | func NewEncryptedManager(filePath string, key []byte) (Provider, error) { FILE: pkg/secrets/encrypted_test.go function generateRandomKey (line 18) | func generateRandomKey(t *testing.T) []byte { function createEncryptedManager (line 26) | func createEncryptedManager(t *testing.T, filePath string, key []byte) *... function TestEncryptedManager_GetSecret (line 34) | func TestEncryptedManager_GetSecret(t *testing.T) { function TestEncryptedManager_SetSecret (line 65) | func TestEncryptedManager_SetSecret(t *testing.T) { function TestEncryptedManager_DeleteSecret (line 106) | func TestEncryptedManager_DeleteSecret(t *testing.T) { function TestEncryptedManager_ListSecrets (line 147) | func TestEncryptedManager_ListSecrets(t *testing.T) { function TestEncryptedManager_Cleanup (line 208) | func TestEncryptedManager_Cleanup(t *testing.T) { function TestNewEncryptedManager (line 244) | func TestNewEncryptedManager(t *testing.T) { function TestEncryptedManager_Concurrency (line 295) | func TestEncryptedManager_Concurrency(t *testing.T) { function TestEncryptedManager_DeleteSecrets_deletesSpecifiedKeys (line 373) | func TestEncryptedManager_DeleteSecrets_deletesSpecifiedKeys(t *testing.... function TestEncryptedManager_DeleteSecrets_persistsToDisk (line 403) | func TestEncryptedManager_DeleteSecrets_persistsToDisk(t *testing.T) { function TestEncryptedManager_DeleteSecrets_emptyListIsNoop (line 432) | func TestEncryptedManager_DeleteSecrets_emptyListIsNoop(t *testing.T) { function TestEncryptedManager_DeleteSecrets_nonExistentKeysNoError (line 451) | func TestEncryptedManager_DeleteSecrets_nonExistentKeysNoError(t *testin... function createTempFile (line 466) | func createTempFile(t *testing.T) string { FILE: pkg/secrets/environment.go type EnvironmentProvider (line 14) | type EnvironmentProvider struct method GetSecret (line 26) | func (e *EnvironmentProvider) GetSecret(_ context.Context, name string... method SetSecret (line 41) | func (*EnvironmentProvider) SetSecret(_ context.Context, name, _ strin... method DeleteSecret (line 49) | func (*EnvironmentProvider) DeleteSecret(_ context.Context, name strin... method ListSecrets (line 57) | func (*EnvironmentProvider) ListSecrets(_ context.Context) ([]SecretDe... method DeleteSecrets (line 62) | func (*EnvironmentProvider) DeleteSecrets(_ context.Context, _ []strin... method Cleanup (line 67) | func (*EnvironmentProvider) Cleanup() error { method Capabilities (line 72) | func (*EnvironmentProvider) Capabilities() ProviderCapabilities { function NewEnvironmentProvider (line 19) | func NewEnvironmentProvider() Provider { FILE: pkg/secrets/environment_test.go function TestEnvironmentProvider_GetSecret (line 17) | func TestEnvironmentProvider_GetSecret(t *testing.T) { //nolint:parallel... function TestEnvironmentProvider_SetSecret (line 74) | func TestEnvironmentProvider_SetSecret(t *testing.T) { //nolint:parallel... function TestEnvironmentProvider_DeleteSecret (line 91) | func TestEnvironmentProvider_DeleteSecret(t *testing.T) { //nolint:paral... function TestEnvironmentProvider_ListSecrets (line 108) | func TestEnvironmentProvider_ListSecrets(t *testing.T) { //nolint:parall... function TestEnvironmentProvider_Cleanup (line 120) | func TestEnvironmentProvider_Cleanup(t *testing.T) { //nolint:paralleltest function TestEnvironmentProvider_Capabilities (line 129) | func TestEnvironmentProvider_Capabilities(t *testing.T) { //nolint:paral... function TestEnvironmentProvider_Integration (line 144) | func TestEnvironmentProvider_Integration(t *testing.T) { //nolint:parall... FILE: pkg/secrets/factory.go constant PasswordEnvVar (line 28) | PasswordEnvVar = "TOOLHIVE_SECRETS_PASSWORD" constant ProviderEnvVar (line 31) | ProviderEnvVar = "TOOLHIVE_SECRETS_PROVIDER" constant keyringService (line 33) | keyringService = "toolhive" function getKeyringProvider (line 41) | func getKeyringProvider() keyring.Provider { type ProviderType (line 49) | type ProviderType constant EncryptedType (line 53) | EncryptedType ProviderType = "encrypted" constant OnePasswordType (line 56) | OnePasswordType ProviderType = "1password" constant EnvironmentType (line 59) | EnvironmentType ProviderType = "environment" type SetupResult (line 76) | type SetupResult struct function ValidateProvider (line 84) | func ValidateProvider(ctx context.Context, providerType ProviderType) *S... function ValidateProviderWithPassword (line 90) | func ValidateProviderWithPassword(ctx context.Context, providerType Prov... function ValidateEnvironmentProvider (line 120) | func ValidateEnvironmentProvider(ctx context.Context, provider Provider,... function validateEncryptedProvider (line 143) | func validateEncryptedProvider(ctx context.Context, provider Provider, r... function validateOnePasswordProvider (line 179) | func validateOnePasswordProvider(ctx context.Context, provider Provider,... function IsKeyringAvailable (line 203) | func IsKeyringAvailable() bool { function CreateSecretProvider (line 210) | func CreateSecretProvider(managerType ProviderType) (Provider, error) { function CreateSecretProviderWithPassword (line 217) | func CreateSecretProviderWithPassword(managerType ProviderType, password... type ProviderOption (line 274) | type ProviderOption type providerOptions (line 277) | type providerOptions struct function WithScope (line 285) | func WithScope(scope SecretScope) ProviderOption { function WithUserFacing (line 299) | func WithUserFacing() ProviderOption { function CreateProvider (line 314) | func CreateProvider(managerType ProviderType, opts ...ProviderOption) (P... function shouldEnableFallback (line 337) | func shouldEnableFallback() bool { function GetSecretsPassword (line 354) | func GetSecretsPassword(optionalPassword string) ([]byte, bool, error) { function StoreSecretsPassword (line 395) | func StoreSecretsPassword(password []byte) error { function readPasswordStdin (line 406) | func readPasswordStdin() ([]byte, error) { function ResetKeyringSecret (line 423) | func ResetKeyringSecret() error { function GenerateSecurePassword (line 429) | func GenerateSecurePassword() (string, error) { function printPasswordPrompt (line 442) | func printPasswordPrompt() { FILE: pkg/secrets/factory_test.go constant testSecretValue (line 17) | testSecretValue = "fallback_value" function TestCreateSecretProvider (line 20) | func TestCreateSecretProvider(t *testing.T) { //nolint:paralleltest function TestCreateSecretProviderWithPassword (line 50) | func TestCreateSecretProviderWithPassword(t *testing.T) { //nolint:paral... function TestValidateProvider (line 63) | func TestValidateProvider(t *testing.T) { //nolint:paralleltest function TestValidateEnvironmentProvider (line 85) | func TestValidateEnvironmentProvider(t *testing.T) { //nolint:paralleltest function TestProviderTypes (line 102) | func TestProviderTypes(t *testing.T) { //nolint:paralleltest function TestEnvVarPrefix (line 110) | func TestEnvVarPrefix(t *testing.T) { //nolint:paralleltest function TestCreateProvider_WithUserFacing (line 116) | func TestCreateProvider_WithUserFacing(t *testing.T) { //nolint:parallel... function TestCreateProvider_WithScope (line 152) | func TestCreateProvider_WithScope(t *testing.T) { //nolint:paralleltest function TestCreateProvider_MutualExclusion (line 180) | func TestCreateProvider_MutualExclusion(t *testing.T) { //nolint:paralle... FILE: pkg/secrets/fallback.go type FallbackProvider (line 14) | type FallbackProvider struct method GetSecret (line 31) | func (f *FallbackProvider) GetSecret(ctx context.Context, name string)... method SetSecret (line 56) | func (f *FallbackProvider) SetSecret(ctx context.Context, name, value ... method DeleteSecret (line 61) | func (f *FallbackProvider) DeleteSecret(ctx context.Context, name stri... method ListSecrets (line 67) | func (f *FallbackProvider) ListSecrets(ctx context.Context) ([]SecretD... method DeleteSecrets (line 72) | func (f *FallbackProvider) DeleteSecrets(ctx context.Context, keys []s... method Cleanup (line 77) | func (f *FallbackProvider) Cleanup() error { method Capabilities (line 82) | func (f *FallbackProvider) Capabilities() ProviderCapabilities { function NewFallbackProvider (line 20) | func NewFallbackProvider(primary Provider) Provider { function IsNotFoundError (line 96) | func IsNotFoundError(err error) bool { FILE: pkg/secrets/fallback_test.go function TestFallbackProvider_GetSecret (line 20) | func TestFallbackProvider_GetSecret(t *testing.T) { //nolint:paralleltest function TestFallbackProvider_SetSecret (line 139) | func TestFallbackProvider_SetSecret(t *testing.T) { //nolint:paralleltest function TestFallbackProvider_DeleteSecret (line 169) | func TestFallbackProvider_DeleteSecret(t *testing.T) { //nolint:parallel... function TestFallbackProvider_ListSecrets (line 199) | func TestFallbackProvider_ListSecrets(t *testing.T) { //nolint:paralleltest function TestFallbackProvider_Cleanup (line 245) | func TestFallbackProvider_Cleanup(t *testing.T) { //nolint:paralleltest function TestFallbackProvider_Capabilities (line 273) | func TestFallbackProvider_Capabilities(t *testing.T) { //nolint:parallel... function TestIsNotFoundError (line 295) | func TestIsNotFoundError(t *testing.T) { //nolint:paralleltest function TestFallbackProvider_Integration (line 318) | func TestFallbackProvider_Integration(t *testing.T) { //nolint:paralleltest FILE: pkg/secrets/integration_test.go constant testSecretName (line 21) | testSecretName = "test_secret" function TestFallbackProvider_IntegrationTests (line 24) | func TestFallbackProvider_IntegrationTests(t *testing.T) { //nolint:para... function TestEnvironmentProvider_IntegrationTests (line 99) | func TestEnvironmentProvider_IntegrationTests(t *testing.T) { //nolint:p... function TestFactoryIntegration (line 167) | func TestFactoryIntegration(t *testing.T) { //nolint:paralleltest FILE: pkg/secrets/keyring/composite.go constant linuxOS (line 16) | linuxOS = "linux" type compositeProvider (line 18) | type compositeProvider struct method getActiveProvider (line 48) | func (c *compositeProvider) getActiveProvider() Provider { method logProviderSelection (line 84) | func (*compositeProvider) logProviderSelection(providerName string) { method Set (line 97) | func (c *compositeProvider) Set(service, key, value string) error { method Get (line 105) | func (c *compositeProvider) Get(service, key string) (string, error) { method Delete (line 113) | func (c *compositeProvider) Delete(service, key string) error { method DeleteAll (line 121) | func (c *compositeProvider) DeleteAll(service string) error { method IsAvailable (line 129) | func (c *compositeProvider) IsAvailable() bool { method Name (line 133) | func (c *compositeProvider) Name() string { function NewCompositeProvider (line 28) | func NewCompositeProvider() Provider { FILE: pkg/secrets/keyring/composite_test.go function isRunningInCI (line 17) | func isRunningInCI() bool { type mockProvider (line 38) | type mockProvider struct method Set (line 55) | func (m *mockProvider) Set(service, key, value string) error { method Get (line 66) | func (m *mockProvider) Get(service, key string) (string, error) { method Delete (line 78) | func (m *mockProvider) Delete(service, key string) error { method DeleteAll (line 91) | func (m *mockProvider) DeleteAll(service string) error { method IsAvailable (line 96) | func (m *mockProvider) IsAvailable() bool { method Name (line 100) | func (m *mockProvider) Name() string { function newMockProvider (line 47) | func newMockProvider(name string, available bool) *mockProvider { function TestNewCompositeProvider (line 104) | func TestNewCompositeProvider(t *testing.T) { function TestCompositeProvider_GetActiveProvider (line 157) | func TestCompositeProvider_GetActiveProvider(t *testing.T) { function TestCompositeProvider_Operations_WithAvailableProvider (line 220) | func TestCompositeProvider_Operations_WithAvailableProvider(t *testing.T) { function TestCompositeProvider_Operations_NoProviderAvailable (line 251) | func TestCompositeProvider_Operations_NoProviderAvailable(t *testing.T) { function TestCompositeProvider_RealProviders (line 280) | func TestCompositeProvider_RealProviders(t *testing.T) { FILE: pkg/secrets/keyring/dbus_wrapper.go type dbusWrapperProvider (line 13) | type dbusWrapperProvider struct method Set (line 21) | func (*dbusWrapperProvider) Set(service, key, value string) error { method Get (line 25) | func (*dbusWrapperProvider) Get(service, key string) (string, error) { method Delete (line 33) | func (*dbusWrapperProvider) Delete(service, key string) error { method DeleteAll (line 37) | func (*dbusWrapperProvider) DeleteAll(service string) error { method IsAvailable (line 41) | func (*dbusWrapperProvider) IsAvailable() bool { method Name (line 55) | func (*dbusWrapperProvider) Name() string { function NewZalandoKeyringProvider (line 17) | func NewZalandoKeyringProvider() Provider { FILE: pkg/secrets/keyring/interface.go type Provider (line 12) | type Provider interface FILE: pkg/secrets/keyring/keyctl_linux.go type keyctlProvider (line 15) | type keyctlProvider struct method Set (line 42) | func (k *keyctlProvider) Set(service, key, value string) error { method Get (line 60) | func (k *keyctlProvider) Get(service, key string) (string, error) { method Delete (line 84) | func (k *keyctlProvider) Delete(service, key string) error { method deleteKeyUnlocked (line 92) | func (k *keyctlProvider) deleteKeyUnlocked(service, key string) error { method DeleteAll (line 119) | func (k *keyctlProvider) DeleteAll(service string) error { method IsAvailable (line 151) | func (k *keyctlProvider) IsAvailable() bool { method Name (line 164) | func (*keyctlProvider) Name() string { function NewKeyctlProvider (line 23) | func NewKeyctlProvider() (Provider, error) { FILE: pkg/secrets/keyring/keyctl_linux_test.go constant testValue (line 17) | testValue = "test-value" function TestKeyctlProvider_DeleteAllNoDeadlock (line 19) | func TestKeyctlProvider_DeleteAllNoDeadlock(t *testing.T) { function TestKeyctlProvider_DeleteAllCrossProcess (line 62) | func TestKeyctlProvider_DeleteAllCrossProcess(t *testing.T) { function TestKeyctlProvider_ConcurrentDeleteAll (line 107) | func TestKeyctlProvider_ConcurrentDeleteAll(t *testing.T) { function TestKeyctlProvider_DeleteAllWithMultipleKeys (line 154) | func TestKeyctlProvider_DeleteAllWithMultipleKeys(t *testing.T) { function TestKeyctlProvider_DeleteUnlocked (line 189) | func TestKeyctlProvider_DeleteUnlocked(t *testing.T) { FILE: pkg/secrets/keyring/keyctl_other.go function NewKeyctlProvider (line 11) | func NewKeyctlProvider() (Provider, error) { FILE: pkg/secrets/keyring/utils.go function GenerateUniqueTestKey (line 15) | func GenerateUniqueTestKey() string { FILE: pkg/secrets/migration.go type KeyMigration (line 14) | type KeyMigration struct function MigrateSystemKeys (line 41) | func MigrateSystemKeys(ctx context.Context, provider Provider, keyMigrat... function DiscoverMigrations (line 80) | func DiscoverMigrations(ctx context.Context, provider Provider) ([]KeyMi... FILE: pkg/secrets/migration_test.go function TestMigrateSystemKeys (line 18) | func TestMigrateSystemKeys(t *testing.T) { function TestDiscoverMigrations (line 174) | func TestDiscoverMigrations(t *testing.T) { FILE: pkg/secrets/mocks/mock_provider.go type MockProvider (line 21) | type MockProvider struct method EXPECT (line 40) | func (m *MockProvider) EXPECT() *MockProviderMockRecorder { method DeleteSecrets (line 45) | func (m *MockProvider) DeleteSecrets(ctx context.Context, keys []strin... method Capabilities (line 59) | func (m *MockProvider) Capabilities() secrets.ProviderCapabilities { method Cleanup (line 73) | func (m *MockProvider) Cleanup() error { method DeleteSecret (line 87) | func (m *MockProvider) DeleteSecret(ctx context.Context, name string) ... method GetSecret (line 101) | func (m *MockProvider) GetSecret(ctx context.Context, name string) (st... method ListSecrets (line 116) | func (m *MockProvider) ListSecrets(ctx context.Context) ([]secrets.Sec... method SetSecret (line 131) | func (m *MockProvider) SetSecret(ctx context.Context, name, value stri... type MockProviderMockRecorder (line 28) | type MockProviderMockRecorder struct method DeleteSecrets (line 53) | func (mr *MockProviderMockRecorder) DeleteSecrets(ctx, keys any) *gomo... method Capabilities (line 67) | func (mr *MockProviderMockRecorder) Capabilities() *gomock.Call { method Cleanup (line 81) | func (mr *MockProviderMockRecorder) Cleanup() *gomock.Call { method DeleteSecret (line 95) | func (mr *MockProviderMockRecorder) DeleteSecret(ctx, name any) *gomoc... method GetSecret (line 110) | func (mr *MockProviderMockRecorder) GetSecret(ctx, name any) *gomock.C... method ListSecrets (line 125) | func (mr *MockProviderMockRecorder) ListSecrets(ctx any) *gomock.Call { method SetSecret (line 139) | func (mr *MockProviderMockRecorder) SetSecret(ctx, name, value any) *g... function NewMockProvider (line 33) | func NewMockProvider(ctrl *gomock.Controller) *MockProvider { FILE: pkg/secrets/scoped.go type SecretScope (line 26) | type SecretScope constant SystemKeyPrefix (line 34) | SystemKeyPrefix = "__thv_" constant ScopeRegistry (line 37) | ScopeRegistry SecretScope = "registry" constant ScopeWorkloads (line 41) | ScopeWorkloads SecretScope = "workloads" constant ScopeAuth (line 44) | ScopeAuth SecretScope = "auth" constant ScopeLLM (line 47) | ScopeLLM SecretScope = "llm" type ScopedProvider (line 58) | type ScopedProvider struct method GetSecret (line 76) | func (s *ScopedProvider) GetSecret(ctx context.Context, name string) (... method SetSecret (line 103) | func (s *ScopedProvider) SetSecret(ctx context.Context, name, value st... method DeleteSecret (line 108) | func (s *ScopedProvider) DeleteSecret(ctx context.Context, name string... method ListSecrets (line 114) | func (s *ScopedProvider) ListSecrets(ctx context.Context) ([]SecretDes... method DeleteSecrets (line 134) | func (s *ScopedProvider) DeleteSecrets(ctx context.Context, names []st... method Cleanup (line 144) | func (s *ScopedProvider) Cleanup() error { method Capabilities (line 166) | func (s *ScopedProvider) Capabilities() ProviderCapabilities { method getScopedKey (line 171) | func (s *ScopedProvider) getScopedKey(name string) string { method getScopePrefix (line 176) | func (s *ScopedProvider) getScopePrefix() string { function NewScopedProvider (line 65) | func NewScopedProvider(inner Provider, scope SecretScope) Provider { type UserProvider (line 184) | type UserProvider struct method GetSecret (line 197) | func (u *UserProvider) GetSecret(ctx context.Context, name string) (st... method SetSecret (line 206) | func (u *UserProvider) SetSecret(ctx context.Context, name, value stri... method DeleteSecret (line 215) | func (u *UserProvider) DeleteSecret(ctx context.Context, name string) ... method ListSecrets (line 224) | func (u *UserProvider) ListSecrets(ctx context.Context) ([]SecretDescr... method DeleteSecrets (line 243) | func (u *UserProvider) DeleteSecrets(ctx context.Context, names []stri... method Cleanup (line 255) | func (u *UserProvider) Cleanup() error { method Capabilities (line 276) | func (u *UserProvider) Capabilities() ProviderCapabilities { function NewUserProvider (line 191) | func NewUserProvider(inner Provider) Provider { function IsSystemKey (line 282) | func IsSystemKey(name string) bool { function ParseSystemKey (line 289) | func ParseSystemKey(key string) (scope, name string, ok bool) { FILE: pkg/secrets/scoped_test.go function TestScopedProvider_GetSecret (line 25) | func TestScopedProvider_GetSecret(t *testing.T) { function TestScopedProvider_SetSecret (line 81) | func TestScopedProvider_SetSecret(t *testing.T) { function TestScopedProvider_DeleteSecret (line 128) | func TestScopedProvider_DeleteSecret(t *testing.T) { function TestScopedProvider_ListSecrets (line 175) | func TestScopedProvider_ListSecrets(t *testing.T) { function TestScopedProvider_Cleanup (line 245) | func TestScopedProvider_Cleanup(t *testing.T) { function TestScopedProvider_Capabilities (line 329) | func TestScopedProvider_Capabilities(t *testing.T) { function TestUserProvider_GetSecret (line 354) | func TestUserProvider_GetSecret(t *testing.T) { function TestUserProvider_SetSecret (line 409) | func TestUserProvider_SetSecret(t *testing.T) { function TestUserProvider_DeleteSecret (line 460) | func TestUserProvider_DeleteSecret(t *testing.T) { function TestUserProvider_ListSecrets (line 511) | func TestUserProvider_ListSecrets(t *testing.T) { function TestUserProvider_Cleanup (line 588) | func TestUserProvider_Cleanup(t *testing.T) { function TestScopedProvider_DeleteSecrets (line 669) | func TestScopedProvider_DeleteSecrets(t *testing.T) { function TestUserProvider_DeleteSecrets (line 722) | func TestUserProvider_DeleteSecrets(t *testing.T) { function TestSecretScopeInvariants (line 798) | func TestSecretScopeInvariants(t *testing.T) { function TestUserProvider_Capabilities (line 815) | func TestUserProvider_Capabilities(t *testing.T) { function TestScopedProvider_GetSecret_MigrationFallback (line 840) | func TestScopedProvider_GetSecret_MigrationFallback(t *testing.T) { FILE: pkg/secrets/types.go constant EnvVarPrefix (line 15) | EnvVarPrefix = "TOOLHIVE_SECRET_" type ProviderCapabilities (line 22) | type ProviderCapabilities struct method IsReadOnly (line 31) | func (pc ProviderCapabilities) IsReadOnly() bool { method IsReadWrite (line 36) | func (pc ProviderCapabilities) IsReadWrite() bool { method String (line 41) | func (pc ProviderCapabilities) String() string { type Provider (line 52) | type Provider interface type SecretParameter (line 65) | type SecretParameter struct method ToCLIString (line 93) | func (sp SecretParameter) ToCLIString() string { function ParseSecretParameter (line 72) | func ParseSecretParameter(parameter string) (SecretParameter, error) { function SecretParametersToCLI (line 99) | func SecretParametersToCLI(params []SecretParameter) []string { type SecretDescription (line 108) | type SecretDescription struct FILE: pkg/secrets/types_test.go function TestParseSecretParameter (line 12) | func TestParseSecretParameter(t *testing.T) { function TestSecretParameter_ToCLIString (line 80) | func TestSecretParameter_ToCLIString(t *testing.T) { FILE: pkg/security/security.go function ConstantTimeHashCompare (line 38) | func ConstantTimeHashCompare(hashA, hashB string, normalizedLen int) bool { FILE: pkg/security/security_test.go function TestConstantTimeHashCompare (line 12) | func TestConstantTimeHashCompare(t *testing.T) { function TestConstantTimeHashCompare_Symmetry (line 93) | func TestConstantTimeHashCompare_Symmetry(t *testing.T) { function TestConstantTimeHashCompare_DifferentNormalizedLengths (line 126) | func TestConstantTimeHashCompare_DifferentNormalizedLengths(t *testing.T) { FILE: pkg/sentry/sentry.go constant flushTimeout (line 22) | flushTimeout = 2 * time.Second type Config (line 28) | type Config struct function Init (line 42) | func Init(cfg Config) error { function Close (line 90) | func Close() { function Enabled (line 100) | func Enabled() bool { function CaptureException (line 112) | func CaptureException(r *http.Request, err error) { function RecoverPanic (line 125) | func RecoverPanic(r *http.Request, recovered interface{}) { FILE: pkg/sentry/sentry_test.go function TestInit (line 23) | func TestInit(t *testing.T) { function TestClose (line 70) | func TestClose(t *testing.T) { function TestInit_RegistersSpanProcessor (line 91) | func TestInit_RegistersSpanProcessor(t *testing.T) { function TestCaptureException (line 116) | func TestCaptureException(t *testing.T) { function TestRecoverPanic (line 156) | func TestRecoverPanic(t *testing.T) { function TestEnabled (line 196) | func TestEnabled(t *testing.T) { FILE: pkg/server/discovery/discover.go type ServerState (line 16) | type ServerState method String (line 30) | func (s ServerState) String() string { constant StateNotFound (line 20) | StateNotFound ServerState = iota constant StateRunning (line 22) | StateRunning constant StateStale (line 24) | StateStale constant StateUnhealthy (line 26) | StateUnhealthy type DiscoverResult (line 46) | type DiscoverResult struct function Discover (line 56) | func Discover(ctx context.Context) (*DiscoverResult, error) { function discover (line 61) | func discover(ctx context.Context, dir string) (*DiscoverResult, error) { function CleanupStale (line 91) | func CleanupStale() error { FILE: pkg/server/discovery/discover_test.go function TestDiscover_NotFound (line 18) | func TestDiscover_NotFound(t *testing.T) { function TestDiscover_Running (line 28) | func TestDiscover_Running(t *testing.T) { function TestDiscover_Stale_DeadProcess (line 53) | func TestDiscover_Stale_DeadProcess(t *testing.T) { function TestDiscover_Unhealthy_AliveButNotResponding (line 71) | func TestDiscover_Unhealthy_AliveButNotResponding(t *testing.T) { function TestDiscover_NonceMismatch_TreatedAsUnhealthy (line 95) | func TestDiscover_NonceMismatch_TreatedAsUnhealthy(t *testing.T) { FILE: pkg/server/discovery/discovery.go constant dirPermissions (line 24) | dirPermissions = 0700 constant filePermissions (line 26) | filePermissions = 0600 type ServerInfo (line 30) | type ServerInfo struct function defaultDiscoveryDir (line 50) | func defaultDiscoveryDir() string { function FilePath (line 56) | func FilePath() string { function WriteServerInfo (line 63) | func WriteServerInfo(info *ServerInfo) error { function ReadServerInfo (line 69) | func ReadServerInfo() (*ServerInfo, error) { function RemoveServerInfo (line 75) | func RemoveServerInfo() error { function writeServerInfoTo (line 80) | func writeServerInfoTo(dir string, info *ServerInfo) error { function readServerInfoFrom (line 113) | func readServerInfoFrom(dir string) (*ServerInfo, error) { function removeServerInfoFrom (line 137) | func removeServerInfoFrom(dir string) error { FILE: pkg/server/discovery/discovery_test.go function TestWriteReadServerInfo_TCP (line 16) | func TestWriteReadServerInfo_TCP(t *testing.T) { function TestWriteReadServerInfo_UnixSocket (line 37) | func TestWriteReadServerInfo_UnixSocket(t *testing.T) { function TestReadServerInfo_NotFound (line 57) | func TestReadServerInfo_NotFound(t *testing.T) { function TestRemoveServerInfo_Exists (line 65) | func TestRemoveServerInfo_Exists(t *testing.T) { function TestRemoveServerInfo_NotFound (line 83) | func TestRemoveServerInfo_NotFound(t *testing.T) { function TestWriteServerInfo_FilePermissions (line 91) | func TestWriteServerInfo_FilePermissions(t *testing.T) { function TestWriteServerInfo_CreatesDirectoryWithCorrectPermissions (line 108) | func TestWriteServerInfo_CreatesDirectoryWithCorrectPermissions(t *testi... function TestWriteServerInfo_RejectsSymlink (line 126) | func TestWriteServerInfo_RejectsSymlink(t *testing.T) { function TestReadServerInfo_RejectsSymlink (line 146) | func TestReadServerInfo_RejectsSymlink(t *testing.T) { function TestWriteServerInfo_TightensExistingDirPermissions (line 171) | func TestWriteServerInfo_TightensExistingDirPermissions(t *testing.T) { function TestWriteServerInfo_OverwritesExistingFile (line 192) | func TestWriteServerInfo_OverwritesExistingFile(t *testing.T) { FILE: pkg/server/discovery/health.go constant healthTimeout (line 20) | healthTimeout = 5 * time.Second constant NonceHeader (line 23) | NonceHeader = "X-Toolhive-Nonce" function CheckHealth (line 28) | func CheckHealth(ctx context.Context, serverURL string, expectedNonce st... function buildHealthClient (line 64) | func buildHealthClient(serverURL string) (*http.Client, string, error) { function HTTPClientForURL (line 82) | func HTTPClientForURL(serverURL string) (*http.Client, string, error) { function ValidateLoopbackURL (line 110) | func ValidateLoopbackURL(rawURL string) error { function ParseUnixSocketPath (line 128) | func ParseUnixSocketPath(rawURL string) (string, error) { FILE: pkg/server/discovery/health_test.go function TestParseUnixSocketPath_Valid (line 19) | func TestParseUnixSocketPath_Valid(t *testing.T) { function TestParseUnixSocketPath_RelativePathRejected (line 26) | func TestParseUnixSocketPath_RelativePathRejected(t *testing.T) { function TestParseUnixSocketPath_DotDotRejected (line 33) | func TestParseUnixSocketPath_DotDotRejected(t *testing.T) { function TestParseUnixSocketPath_Empty (line 40) | func TestParseUnixSocketPath_Empty(t *testing.T) { function TestCheckHealth_TCP_Success (line 47) | func TestCheckHealth_TCP_Success(t *testing.T) { function TestCheckHealth_TCP_NonceMismatch (line 60) | func TestCheckHealth_TCP_NonceMismatch(t *testing.T) { function TestCheckHealth_TCP_NoNonceCheck (line 73) | func TestCheckHealth_TCP_NoNonceCheck(t *testing.T) { function TestCheckHealth_UnixSocket_Success (line 85) | func TestCheckHealth_UnixSocket_Success(t *testing.T) { function TestCheckHealth_Unreachable (line 112) | func TestCheckHealth_Unreachable(t *testing.T) { function TestCheckHealth_InvalidScheme (line 119) | func TestCheckHealth_InvalidScheme(t *testing.T) { function TestCheckHealth_NonLoopbackRejected (line 126) | func TestCheckHealth_NonLoopbackRejected(t *testing.T) { function TestCheckHealth_UnhealthyStatus (line 133) | func TestCheckHealth_UnhealthyStatus(t *testing.T) { function TestValidateLoopbackURL (line 145) | func TestValidateLoopbackURL(t *testing.T) { function TestCheckHealth_UnixSocket_NotFound (line 170) | func TestCheckHealth_UnixSocket_NotFound(t *testing.T) { FILE: pkg/skills/client/client.go constant skillsBasePath (line 27) | skillsBasePath = "/api/v1beta/skills" constant defaultBaseURL (line 28) | defaultBaseURL = "http://127.0.0.1:8080" constant defaultTimeout (line 29) | defaultTimeout = 30 * time.Second constant envAPIURL (line 30) | envAPIURL = "TOOLHIVE_API_URL" constant maxResponseSize (line 31) | maxResponseSize = 1 << 20 constant maxErrorBodySize (line 32) | maxErrorBodySize = 1 << 16 type Client (line 44) | type Client struct method List (line 136) | func (c *Client) List(ctx context.Context, opts skills.ListOptions) ([... method Install (line 156) | func (c *Client) Install(ctx context.Context, opts skills.InstallOptio... method Uninstall (line 175) | func (c *Client) Uninstall(ctx context.Context, opts skills.UninstallO... method Info (line 189) | func (c *Client) Info(ctx context.Context, opts skills.InfoOptions) (*... method Validate (line 207) | func (c *Client) Validate(ctx context.Context, path string) (*skills.V... method Build (line 218) | func (c *Client) Build(ctx context.Context, opts skills.BuildOptions) ... method Push (line 232) | func (c *Client) Push(ctx context.Context, opts skills.PushOptions) er... method ListBuilds (line 238) | func (c *Client) ListBuilds(ctx context.Context) ([]skills.LocalBuild,... method DeleteBuild (line 247) | func (c *Client) DeleteBuild(ctx context.Context, tag string) error { method GetContent (line 252) | func (c *Client) GetContent(ctx context.Context, opts skills.ContentOp... method buildURL (line 264) | func (c *Client) buildURL(path string, query url.Values) string { method doJSONRequest (line 275) | func (c *Client) doJSONRequest( type Option (line 50) | type Option function WithTimeout (line 53) | func WithTimeout(d time.Duration) Option { function WithHTTPClient (line 61) | func WithHTTPClient(hc *http.Client) Option { function NewClient (line 68) | func NewClient(baseURL string, opts ...Option) *Client { function NewDefaultClient (line 85) | func NewDefaultClient(ctx context.Context, opts ...Option) *Client { function newDefaultClientWithEnv (line 90) | func newDefaultClientWithEnv(ctx context.Context, envReader env.Reader, ... function resolveViaDiscovery (line 113) | func resolveViaDiscovery(ctx context.Context) (string, []Option) { function handleErrorResponse (line 324) | func handleErrorResponse(resp *http.Response) error { FILE: pkg/skills/client/client_test.go function newTestClient (line 25) | func newTestClient(t *testing.T, srv *httptest.Server) *Client { function TestList (line 30) | func TestList(t *testing.T) { function TestInstall (line 113) | func TestInstall(t *testing.T) { function TestUninstall (line 205) | func TestUninstall(t *testing.T) { function TestInfo (line 280) | func TestInfo(t *testing.T) { function TestValidate (line 350) | func TestValidate(t *testing.T) { function TestBuild (line 422) | func TestBuild(t *testing.T) { function TestPush (line 484) | func TestPush(t *testing.T) { function TestGetContent (line 545) | func TestGetContent(t *testing.T) { function TestConnectionError (line 623) | func TestConnectionError(t *testing.T) { function TestNewDefaultClient (line 636) | func TestNewDefaultClient(t *testing.T) { function TestWithHTTPClient (line 670) | func TestWithHTTPClient(t *testing.T) { function TestURLEncodesSkillNames (line 678) | func TestURLEncodesSkillNames(t *testing.T) { function TestHandleErrorResponseReadFailure (line 696) | func TestHandleErrorResponseReadFailure(t *testing.T) { type failReader (line 710) | type failReader struct method Read (line 712) | func (*failReader) Read([]byte) (int, error) { FILE: pkg/skills/client/dto.go type installRequest (line 10) | type installRequest struct type validateRequest (line 20) | type validateRequest struct type buildRequest (line 24) | type buildRequest struct type pushRequest (line 29) | type pushRequest struct type listResponse (line 33) | type listResponse struct type installResponse (line 37) | type installResponse struct type listBuildsResponse (line 41) | type listBuildsResponse struct FILE: pkg/skills/gitresolver/auth.go type EnvFunc (line 29) | type EnvFunc function ResolveAuth (line 37) | func ResolveAuth(cloneURL string) transport.AuthMethod { function ResolveAuthWith (line 43) | func ResolveAuthWith(getenv EnvFunc, cloneURL string) transport.AuthMeth... function extractHost (line 73) | func extractHost(rawURL string) string { function hostMatches (line 82) | func hostMatches(host string, allowed []string) bool { FILE: pkg/skills/gitresolver/auth_test.go function fakeEnv (line 15) | func fakeEnv(vars map[string]string) EnvFunc { function TestResolveAuthWith (line 21) | func TestResolveAuthWith(t *testing.T) { FILE: pkg/skills/gitresolver/mocks/mock_resolver.go type MockResolver (line 21) | type MockResolver struct method EXPECT (line 40) | func (m *MockResolver) EXPECT() *MockResolverMockRecorder { method Resolve (line 45) | func (m *MockResolver) Resolve(ctx context.Context, ref *gitresolver.G... type MockResolverMockRecorder (line 28) | type MockResolverMockRecorder struct method Resolve (line 54) | func (mr *MockResolverMockRecorder) Resolve(ctx, ref any) *gomock.Call { function NewMockResolver (line 33) | func NewMockResolver(ctrl *gomock.Controller) *MockResolver { FILE: pkg/skills/gitresolver/reference.go constant gitScheme (line 16) | gitScheme = "git://" type GitReference (line 19) | type GitReference struct method SkillName (line 113) | func (r *GitReference) SkillName() string { function IsGitReference (line 29) | func IsGitReference(name string) bool { function ParseGitReference (line 42) | func ParseGitReference(raw string) (*GitReference, error) { function validateHost (line 129) | func validateHost(host string) error { function validateRef (line 159) | func validateRef(ref string) error { function validateSkillPath (line 183) | func validateSkillPath(p string) error { function isDevMode (line 207) | func isDevMode() bool { FILE: pkg/skills/gitresolver/reference_test.go function TestIsGitReference (line 13) | func TestIsGitReference(t *testing.T) { function TestParseGitReference (line 39) | func TestParseGitReference(t *testing.T) { function TestGitReference_SkillName (line 184) | func TestGitReference_SkillName(t *testing.T) { function TestParseGitReferenceDevMode (line 223) | func TestParseGitReferenceDevMode(t *testing.T) { FILE: pkg/skills/gitresolver/resolver.go constant cloneTimeout (line 24) | cloneTimeout = 2 * time.Minute type Resolver (line 32) | type Resolver interface type ResolveResult (line 39) | type ResolveResult struct type FileEntry (line 49) | type FileEntry struct type ResolverOption (line 56) | type ResolverOption function WithGitClient (line 60) | func WithGitClient(client git.Client) ResolverOption { function NewResolver (line 67) | func NewResolver(opts ...ResolverOption) Resolver { type defaultResolver (line 75) | type defaultResolver struct method clientForURL (line 84) | func (r *defaultResolver) clientForURL(cloneURL string) git.Client { method Resolve (line 97) | func (r *defaultResolver) Resolve(ctx context.Context, ref *GitReferen... method collectFiles (line 177) | func (*defaultResolver) collectFiles(repoInfo *git.RepositoryInfo, bas... function isHex (line 223) | func isHex(s string) bool { FILE: pkg/skills/gitresolver/resolver_test.go constant validSkillMD (line 23) | validSkillMD = `--- function createTestRepo (line 35) | func createTestRepo(t *testing.T, skillPath string, skillMD string) stri... type nestedFile (line 75) | type nestedFile struct function createNestedTestRepo (line 83) | func createNestedTestRepo(t *testing.T, files []nestedFile) string { function createTaggedTestRepo (line 114) | func createTaggedTestRepo(t *testing.T, skillMD, tagName string) string { function TestResolver_Resolve (line 130) | func TestResolver_Resolve(t *testing.T) { function TestResolver_Resolve_NestedFiles (line 216) | func TestResolver_Resolve_NestedFiles(t *testing.T) { function TestResolver_Resolve_TagRef (line 293) | func TestResolver_Resolve_TagRef(t *testing.T) { function TestResolver_Resolve_CommitRef (line 309) | func TestResolver_Resolve_CommitRef(t *testing.T) { function TestResolver_Resolve_MissingSkillMD (line 333) | func TestResolver_Resolve_MissingSkillMD(t *testing.T) { function TestResolver_Resolve_ContextCancellation (line 367) | func TestResolver_Resolve_ContextCancellation(t *testing.T) { type blockingCloneClient (line 385) | type blockingCloneClient struct method Clone (line 387) | func (*blockingCloneClient) Clone(ctx context.Context, _ *git.CloneCon... method GetFileContent (line 392) | func (*blockingCloneClient) GetFileContent(_ *git.RepositoryInfo, _ st... method HeadCommitHash (line 396) | func (*blockingCloneClient) HeadCommitHash(_ *git.RepositoryInfo) (str... method Cleanup (line 400) | func (*blockingCloneClient) Cleanup(_ context.Context, _ *git.Reposito... function TestResolver_SemverDetection (line 404) | func TestResolver_SemverDetection(t *testing.T) { function TestIsHex (line 439) | func TestIsHex(t *testing.T) { function TestResolver_Resolve_BranchRef (line 462) | func TestResolver_Resolve_BranchRef(t *testing.T) { FILE: pkg/skills/gitresolver/writer.go function WriteFiles (line 21) | func WriteFiles(files []FileEntry, targetDir string, force bool) error { FILE: pkg/skills/gitresolver/writer_test.go function resolvedTempDir (line 15) | func resolvedTempDir(t *testing.T) string { function TestWriteFiles (line 23) | func TestWriteFiles(t *testing.T) { FILE: pkg/skills/installer.go constant MaxTotalExtractSize (line 18) | MaxTotalExtractSize int64 = 500 * 1024 * 1024 constant MaxFileExtractSize (line 21) | MaxFileExtractSize int64 = 100 * 1024 * 1024 constant MaxExtractFileCount (line 23) | MaxExtractFileCount = 1000 constant DirPermissions (line 26) | DirPermissions os.FileMode = 0750 constant FilePermissionMask (line 28) | FilePermissionMask os.FileMode = 0644 type ExtractResult (line 32) | type ExtractResult struct type defaultInstaller (line 40) | type defaultInstaller struct method Extract (line 48) | func (*defaultInstaller) Extract(layerData []byte, targetDir string, f... method Remove (line 52) | func (*defaultInstaller) Remove(skillDir string) error { function NewInstaller (line 44) | func NewInstaller() Installer { function Extract (line 59) | func Extract(layerData []byte, targetDir string, force bool) (*ExtractRe... function writeFiles (line 115) | func writeFiles(files []ociskills.FileEntry, targetDir string) error { function Remove (line 131) | func Remove(skillDir string) error { function ValidatePathNoSymlinks (line 187) | func ValidatePathNoSymlinks(targetDir string) error { function RemoveEmptyParents (line 223) | func RemoveEmptyParents(dir, stopAt string) { function pathDepth (line 237) | func pathDepth(absPath string) int { FILE: pkg/skills/installer_test.go function makeLayerData (line 18) | func makeLayerData(t *testing.T, files []ociskills.FileEntry) []byte { function TestExtract (line 25) | func TestExtract(t *testing.T) { function TestExtract_PermissionsSanitized (line 118) | func TestExtract_PermissionsSanitized(t *testing.T) { function TestExtract_MalformedGzip (line 145) | func TestExtract_MalformedGzip(t *testing.T) { function TestExtract_FileCountLimit (line 154) | func TestExtract_FileCountLimit(t *testing.T) { function TestRemove (line 174) | func TestRemove(t *testing.T) { function TestNewInstaller (line 229) | func TestNewInstaller(t *testing.T) { function TestRemoveEmptyParents (line 235) | func TestRemoveEmptyParents(t *testing.T) { FILE: pkg/skills/mocks/mock_path_resolver.go type MockPathResolver (line 20) | type MockPathResolver struct method EXPECT (line 39) | func (m *MockPathResolver) EXPECT() *MockPathResolverMockRecorder { method GetSkillPath (line 44) | func (m *MockPathResolver) GetSkillPath(clientType, skillName string, ... method ListSkillSupportingClients (line 59) | func (m *MockPathResolver) ListSkillSupportingClients() []string { type MockPathResolverMockRecorder (line 27) | type MockPathResolverMockRecorder struct method GetSkillPath (line 53) | func (mr *MockPathResolverMockRecorder) GetSkillPath(clientType, skill... method ListSkillSupportingClients (line 67) | func (mr *MockPathResolverMockRecorder) ListSkillSupportingClients() *... function NewMockPathResolver (line 32) | func NewMockPathResolver(ctrl *gomock.Controller) *MockPathResolver { type MockInstaller (line 73) | type MockInstaller struct method EXPECT (line 92) | func (m *MockInstaller) EXPECT() *MockInstallerMockRecorder { method Extract (line 97) | func (m *MockInstaller) Extract(layerData []byte, targetDir string, fo... method Remove (line 112) | func (m *MockInstaller) Remove(skillDir string) error { type MockInstallerMockRecorder (line 80) | type MockInstallerMockRecorder struct method Extract (line 106) | func (mr *MockInstallerMockRecorder) Extract(layerData, targetDir, for... method Remove (line 120) | func (mr *MockInstallerMockRecorder) Remove(skillDir any) *gomock.Call { function NewMockInstaller (line 85) | func NewMockInstaller(ctrl *gomock.Controller) *MockInstaller { FILE: pkg/skills/mocks/mock_service.go type MockSkillService (line 21) | type MockSkillService struct method EXPECT (line 40) | func (m *MockSkillService) EXPECT() *MockSkillServiceMockRecorder { method Build (line 45) | func (m *MockSkillService) Build(ctx context.Context, opts skills.Buil... method DeleteBuild (line 60) | func (m *MockSkillService) DeleteBuild(ctx context.Context, tag string... method GetContent (line 74) | func (m *MockSkillService) GetContent(ctx context.Context, opts skills... method Info (line 89) | func (m *MockSkillService) Info(ctx context.Context, opts skills.InfoO... method Install (line 104) | func (m *MockSkillService) Install(ctx context.Context, opts skills.In... method List (line 119) | func (m *MockSkillService) List(ctx context.Context, opts skills.ListO... method ListBuilds (line 134) | func (m *MockSkillService) ListBuilds(ctx context.Context) ([]skills.L... method Push (line 149) | func (m *MockSkillService) Push(ctx context.Context, opts skills.PushO... method Uninstall (line 163) | func (m *MockSkillService) Uninstall(ctx context.Context, opts skills.... method Validate (line 177) | func (m *MockSkillService) Validate(ctx context.Context, path string) ... type MockSkillServiceMockRecorder (line 28) | type MockSkillServiceMockRecorder struct method Build (line 54) | func (mr *MockSkillServiceMockRecorder) Build(ctx, opts any) *gomock.C... method DeleteBuild (line 68) | func (mr *MockSkillServiceMockRecorder) DeleteBuild(ctx, tag any) *gom... method GetContent (line 83) | func (mr *MockSkillServiceMockRecorder) GetContent(ctx, opts any) *gom... method Info (line 98) | func (mr *MockSkillServiceMockRecorder) Info(ctx, opts any) *gomock.Ca... method Install (line 113) | func (mr *MockSkillServiceMockRecorder) Install(ctx, opts any) *gomock... method List (line 128) | func (mr *MockSkillServiceMockRecorder) List(ctx, opts any) *gomock.Ca... method ListBuilds (line 143) | func (mr *MockSkillServiceMockRecorder) ListBuilds(ctx any) *gomock.Ca... method Push (line 157) | func (mr *MockSkillServiceMockRecorder) Push(ctx, opts any) *gomock.Ca... method Uninstall (line 171) | func (mr *MockSkillServiceMockRecorder) Uninstall(ctx, opts any) *gomo... method Validate (line 186) | func (mr *MockSkillServiceMockRecorder) Validate(ctx, path any) *gomoc... function NewMockSkillService (line 33) | func NewMockSkillService(ctrl *gomock.Controller) *MockSkillService { FILE: pkg/skills/options.go type ListOptions (line 7) | type ListOptions struct type InstallOptions (line 19) | type InstallOptions struct type InstallResult (line 43) | type InstallResult struct type UninstallOptions (line 49) | type UninstallOptions struct type InfoOptions (line 59) | type InfoOptions struct type SkillInfo (line 69) | type SkillInfo struct type ContentOptions (line 77) | type ContentOptions struct type SkillFileEntry (line 83) | type SkillFileEntry struct type SkillContent (line 91) | type SkillContent struct type ValidationResult (line 107) | type ValidationResult struct type BuildOptions (line 117) | type BuildOptions struct type BuildResult (line 125) | type BuildResult struct type PushOptions (line 131) | type PushOptions struct type LocalBuild (line 137) | type LocalBuild struct FILE: pkg/skills/parser.go constant MaxFrontmatterSize (line 19) | MaxFrontmatterSize = 64 * 1024 constant MaxDependencies (line 23) | MaxDependencies = 100 function ParseSkillMD (line 29) | func ParseSkillMD(content []byte) (*ParseResult, error) { function extractFrontmatter (line 55) | func extractFrontmatter(content []byte) (*SkillFrontmatter, []byte, erro... function toDependencies (line 97) | func toDependencies(refs []string) ([]Dependency, error) { FILE: pkg/skills/parser_test.go function TestParseSkillMD (line 16) | func TestParseSkillMD(t *testing.T) { function TestParseSkillMD_FrontmatterSizeLimit (line 253) | func TestParseSkillMD_FrontmatterSizeLimit(t *testing.T) { function TestParseSkillMD_DependencyLimit (line 290) | func TestParseSkillMD_DependencyLimit(t *testing.T) { function TestStringOrSlice_UnmarshalYAML (line 326) | func TestStringOrSlice_UnmarshalYAML(t *testing.T) { FILE: pkg/skills/project_root.go function ValidateProjectRoot (line 17) | func ValidateProjectRoot(projectRoot string) (string, error) { function NormalizeScopeAndProjectRoot (line 39) | func NormalizeScopeAndProjectRoot(scope Scope, projectRoot string) (Scop... function validateProjectRootInput (line 59) | func validateProjectRootInput(projectRoot string) error { function resolveProjectRoot (line 72) | func resolveProjectRoot(projectRoot string) (string, error) { function validateProjectRootDir (line 94) | func validateProjectRootDir(projectRoot string) error { function validateProjectRootGitDir (line 110) | func validateProjectRootGitDir(projectRoot string) error { function validateNoTraversal (line 125) | func validateNoTraversal(path string) error { FILE: pkg/skills/project_root_test.go function TestValidateProjectRoot (line 15) | func TestValidateProjectRoot(t *testing.T) { function TestNormalizeScopeAndProjectRoot (line 110) | func TestNormalizeScopeAndProjectRoot(t *testing.T) { function TestValidateProjectRootSymlink (line 191) | func TestValidateProjectRootSymlink(t *testing.T) { function resolvedTempDir (line 208) | func resolvedTempDir(t *testing.T) string { function makeGitRoot (line 216) | func makeGitRoot(t *testing.T) string { FILE: pkg/skills/service.go type SkillService (line 11) | type SkillService interface FILE: pkg/skills/skillsvc/build.go method Validate (line 23) | func (*service) Validate(_ context.Context, path string) (*skills.Valida... method Build (line 31) | func (s *service) Build(ctx context.Context, opts skills.BuildOptions) (... method Push (line 101) | func (s *service) Push(ctx context.Context, opts skills.PushOptions) err... method ListBuilds (line 135) | func (s *service) ListBuilds(ctx context.Context) ([]skills.LocalBuild, ... method DeleteBuild (line 198) | func (s *service) DeleteBuild(ctx context.Context, tag string) error { function validateLocalPath (line 211) | func validateLocalPath(path string) error { function validateOCITagOrReference (line 238) | func validateOCITagOrReference(value string) error { FILE: pkg/skills/skillsvc/build_test.go function TestValidate (line 27) | func TestValidate(t *testing.T) { function TestBuild (line 82) | func TestBuild(t *testing.T) { function TestPush (line 338) | func TestPush(t *testing.T) { function TestValidateOCITagOrReference (line 438) | func TestValidateOCITagOrReference(t *testing.T) { function TestListBuilds (line 496) | func TestListBuilds(t *testing.T) { function TestDeleteBuild (line 666) | func TestDeleteBuild(t *testing.T) { function TestBuild_StampsLocalBuildAnnotation (line 744) | func TestBuild_StampsLocalBuildAnnotation(t *testing.T) { function indexContainsTaggedMarker (line 783) | func indexContainsTaggedMarker(t *testing.T, storeRoot, tag string) bool { FILE: pkg/skills/skillsvc/clients.go constant clientsAllSentinel (line 20) | clientsAllSentinel = "all" method resolveAndValidateClients (line 25) | func (s *service) resolveAndValidateClients( method expandToExistingClients (line 92) | func (s *service) expandToExistingClients( function validateResolvedDir (line 121) | func validateResolvedDir(dir string) error { function dedupeStringsPreserveOrder (line 133) | func dedupeStringsPreserveOrder(in []string) []string { function clientsContainAll (line 147) | func clientsContainAll(existing, requested []string) bool { function mergeClientLists (line 157) | func mergeClientLists(existing, requested []string) []string { function missingClients (line 177) | func missingClients(existing, requested []string) []string { function uniqueDirClients (line 195) | func uniqueDirClients(clients []string, clientDirs map[string]string, oc... function existingClientDirs (line 216) | func existingClientDirs(existing []string, clientDirs map[string]string)... FILE: pkg/skills/skillsvc/content.go method GetContent (line 30) | func (s *service) GetContent(ctx context.Context, opts skills.ContentOpt... method getContentFromGit (line 109) | func (s *service) getContentFromGit(ctx context.Context, ref string) (*s... method getContentFromOCI (line 154) | func (s *service) getContentFromOCI(ctx context.Context, ref string) (*s... function isHTTPURL (line 239) | func isHTTPURL(ref string) bool { FILE: pkg/skills/skillsvc/content_test.go function TestGetContent (line 30) | func TestGetContent(t *testing.T) { FILE: pkg/skills/skillsvc/info_test.go function TestInfo (line 21) | func TestInfo(t *testing.T) { FILE: pkg/skills/skillsvc/install.go method Install (line 24) | func (s *service) Install(ctx context.Context, opts skills.InstallOption... method installByName (line 95) | func (s *service) installByName( method installFromRegistryLookup (line 142) | func (s *service) installFromRegistryLookup( method installFromResolvedRegistry (line 165) | func (s *service) installFromResolvedRegistry( method registerSkillInGroup (line 201) | func (s *service) registerSkillInGroup(ctx context.Context, groupName st... method installAndRegister (line 215) | func (s *service) installAndRegister( FILE: pkg/skills/skillsvc/install_extraction.go method installWithExtraction (line 22) | func (s *service) installWithExtraction( function isExtractionNoOp (line 56) | func isExtractionNoOp(existing skills.InstalledSkill, storeErr error, op... method installExtractionSameDigestNewClients (line 66) | func (s *service) installExtractionSameDigestNewClients( function removeSkillDirs (line 112) | func removeSkillDirs(inst skills.Installer, clientDirs map[string]string... method installExtractionUpgradeDigest (line 118) | func (s *service) installExtractionUpgradeDigest( method installExtractionFresh (line 150) | func (s *service) installExtractionFresh( function buildInstalledSkill (line 189) | func buildInstalledSkill( FILE: pkg/skills/skillsvc/install_git.go method installFromGit (line 23) | func (s *service) installFromGit( method applyGitInstall (line 91) | func (s *service) applyGitInstall( method applyGitInstallExisting (line 110) | func (s *service) applyGitInstallExisting( method applyGitInstallFresh (line 158) | func (s *service) applyGitInstallFresh( method gitWriteMultiAndPersist (line 184) | func (s *service) gitWriteMultiAndPersist( FILE: pkg/skills/skillsvc/install_git_test.go function TestInstallFromGit (line 29) | func TestInstallFromGit(t *testing.T) { function TestInstallFromGitGroupRegistrationRollback (line 260) | func TestInstallFromGitGroupRegistrationRollback(t *testing.T) { function TestInstallFromRegistryGitFallback (line 303) | func TestInstallFromRegistryGitFallback(t *testing.T) { FILE: pkg/skills/skillsvc/install_oci.go constant ociPullTimeout (line 22) | ociPullTimeout = 5 * time.Minute constant maxCompressedLayerSize (line 27) | maxCompressedLayerSize int64 = 50 * 1024 * 1024 method installFromOCI (line 31) | func (s *service) installFromOCI( method resolveFromLocalStore (line 120) | func (s *service) resolveFromLocalStore(ctx context.Context, opts *skill... FILE: pkg/skills/skillsvc/install_oci_test.go function TestInstallFromOCI (line 32) | func TestInstallFromOCI(t *testing.T) { function TestInstallFromOCI_DoesNotLeakIntoListBuilds (line 304) | func TestInstallFromOCI_DoesNotLeakIntoListBuilds(t *testing.T) { function TestInstallFromLocalStore (line 358) | func TestInstallFromLocalStore(t *testing.T) { function TestInstallQualifiedNameOCIFallback (line 512) | func TestInstallQualifiedNameOCIFallback(t *testing.T) { FILE: pkg/skills/skillsvc/install_registry_test.go function TestInstallFromRegistry (line 27) | func TestInstallFromRegistry(t *testing.T) { function TestBuildGitReferenceFromRegistryURL (line 300) | func TestBuildGitReferenceFromRegistryURL(t *testing.T) { function TestSplitQualifiedName (line 367) | func TestSplitQualifiedName(t *testing.T) { function TestResolveRegistryPackagesSubfolder (line 391) | func TestResolveRegistryPackagesSubfolder(t *testing.T) { FILE: pkg/skills/skillsvc/install_test.go function TestInstallPlainNameNotFound (line 28) | func TestInstallPlainNameNotFound(t *testing.T) { function TestInstallWithExtraction (line 76) | func TestInstallWithExtraction(t *testing.T) { function TestInstallAddsSkillToGroup (line 724) | func TestInstallAddsSkillToGroup(t *testing.T) { FILE: pkg/skills/skillsvc/list.go method List (line 17) | func (s *service) List(ctx context.Context, opts skills.ListOptions) ([]... method Info (line 64) | func (s *service) Info(ctx context.Context, opts skills.InfoOptions) (*s... FILE: pkg/skills/skillsvc/local_build_marker.go constant LocalBuildAnnotation (line 31) | LocalBuildAnnotation = "dev.stacklok.toolhive.local-build" function tagAsLocalBuild (line 37) | func tagAsLocalBuild(ctx context.Context, store *ociskills.Store, d dige... function isLocalBuild (line 57) | func isLocalBuild(ctx context.Context, store *ociskills.Store, tag strin... FILE: pkg/skills/skillsvc/oci.go function qualifiedOCIRef (line 27) | func qualifiedOCIRef(ref nameref.Reference) string { function parseOCIReference (line 38) | func parseOCIReference(name string) (nameref.Reference, bool, error) { function isUnambiguousOCIRef (line 66) | func isUnambiguousOCIRef(raw string, ref nameref.Reference) bool { method isSkillArtifact (line 76) | func (s *service) isSkillArtifact(ctx context.Context, d digest.Digest) ... method extractOCIContent (line 103) | func (s *service) extractOCIContent(ctx context.Context, d digest.Digest... FILE: pkg/skills/skillsvc/oci_test.go function TestQualifiedOCIRef (line 14) | func TestQualifiedOCIRef(t *testing.T) { FILE: pkg/skills/skillsvc/pull_errors.go function classifyPullError (line 32) | func classifyPullError(err error) int { FILE: pkg/skills/skillsvc/pull_errors_test.go function TestClassifyPullError (line 19) | func TestClassifyPullError(t *testing.T) { function newErrResp (line 121) | func newErrResp(status int) *errcode.ErrorResponse { FILE: pkg/skills/skillsvc/registry.go type registryResolveResult (line 21) | type registryResolveResult struct method resolveFromRegistry (line 31) | func (s *service) resolveFromRegistry(name string) (*registryResolveResu... function splitQualifiedName (line 86) | func splitQualifiedName(s string) (namespace, name string) { method resolveGitFallbackForOCIRef (line 111) | func (s *service) resolveGitFallbackForOCIRef(ref nameref.Reference) str... function canonicalOCIRepo (line 155) | func canonicalOCIRepo(ref nameref.Reference) string { function skillHasMatchingOCIRepo (line 162) | func skillHasMatchingOCIRepo(sk regtypes.Skill, wantRepo string) bool { function firstGitPackageURL (line 184) | func firstGitPackageURL(pkgs []regtypes.SkillPackage) string { function preferredGitRef (line 207) | func preferredGitRef(pkg regtypes.SkillPackage) string { function resolveRegistryPackages (line 216) | func resolveRegistryPackages(name string, packages []regtypes.SkillPacka... function truncate (line 257) | func truncate(s string, maxLen int) string { function buildGitReferenceFromRegistryURL (line 266) | func buildGitReferenceFromRegistryURL(rawURL string) (string, error) { FILE: pkg/skills/skillsvc/scope.go function normalizeProjectRoot (line 13) | func normalizeProjectRoot(scope skills.Scope, projectRoot string) (skill... function defaultScope (line 22) | func defaultScope(s skills.Scope) skills.Scope { FILE: pkg/skills/skillsvc/service.go type Option (line 19) | type Option function WithPathResolver (line 22) | func WithPathResolver(pr skills.PathResolver) Option { function WithInstaller (line 29) | func WithInstaller(inst skills.Installer) Option { function WithOCIStore (line 36) | func WithOCIStore(store *ociskills.Store) Option { function WithPackager (line 43) | func WithPackager(p ociskills.SkillPackager) Option { function WithRegistryClient (line 50) | func WithRegistryClient(rc ociskills.RegistryClient) Option { function WithGroupManager (line 57) | func WithGroupManager(mgr groups.Manager) Option { type SkillLookup (line 65) | type SkillLookup interface function WithSkillLookup (line 70) | func WithSkillLookup(sl SkillLookup) Option { function WithGitResolver (line 77) | func WithGitResolver(gr gitresolver.Resolver) Option { type skillLock (line 86) | type skillLock struct method lock (line 95) | func (sl *skillLock) lock(name string, scope skills.Scope, projectRoot... type service (line 110) | type service struct function New (line 124) | func New(store storage.SkillStore, opts ...Option) skills.SkillService { FILE: pkg/skills/skillsvc/service_test.go function TestList (line 23) | func TestList(t *testing.T) { function TestNewWithZeroOptions (line 115) | func TestNewWithZeroOptions(t *testing.T) { function TestListFiltersByGroup (line 124) | func TestListFiltersByGroup(t *testing.T) { FILE: pkg/skills/skillsvc/testhelpers_test.go constant testCommitHash (line 21) | testCommitHash = "abcdef1234567890abcdef1234567890abcdef12" function makeLayerData (line 23) | func makeLayerData(t *testing.T) []byte { function tempDir (line 33) | func tempDir(t *testing.T) string { function makeProjectRoot (line 39) | func makeProjectRoot(t *testing.T) string { function buildTestArtifact (line 52) | func buildTestArtifact(t *testing.T, store *ociskills.Store, skillName, ... function buildManifestWithLayerSize (line 68) | func buildManifestWithLayerSize(t *testing.T, store *ociskills.Store, sk... function putTestManifest (line 114) | func putTestManifest(t *testing.T, store *ociskills.Store) godigest.Dige... FILE: pkg/skills/skillsvc/uninstall.go method Uninstall (line 20) | func (s *service) Uninstall(ctx context.Context, opts skills.UninstallOp... FILE: pkg/skills/skillsvc/uninstall_test.go function TestUninstall (line 30) | func TestUninstall(t *testing.T) { function TestConcurrentInstallAndUninstall (line 204) | func TestConcurrentInstallAndUninstall(t *testing.T) { function TestUninstallRemovesSkillFromGroups (line 289) | func TestUninstallRemovesSkillFromGroups(t *testing.T) { FILE: pkg/skills/types.go type Scope (line 16) | type Scope constant ScopeUser (line 20) | ScopeUser Scope = "user" constant ScopeProject (line 22) | ScopeProject Scope = "project" function ValidateScope (line 27) | func ValidateScope(s Scope) error { type InstallStatus (line 37) | type InstallStatus constant InstallStatusInstalled (line 41) | InstallStatusInstalled InstallStatus = "installed" constant InstallStatusPending (line 43) | InstallStatusPending InstallStatus = "pending" constant InstallStatusFailed (line 45) | InstallStatusFailed InstallStatus = "failed" type StringOrSlice (line 50) | type StringOrSlice method UnmarshalYAML (line 55) | func (s *StringOrSlice) UnmarshalYAML(value *yaml.Node) error { type SkillFrontmatter (line 99) | type SkillFrontmatter struct type Dependency (line 111) | type Dependency struct type ParseResult (line 121) | type ParseResult struct type SkillMetadata (line 134) | type SkillMetadata struct type InstalledSkill (line 148) | type InstalledSkill struct type SkillIndexEntry (line 173) | type SkillIndexEntry struct type SkillIndex (line 183) | type SkillIndex struct type PathResolver (line 192) | type PathResolver interface type Installer (line 200) | type Installer interface FILE: pkg/skills/validator.go constant MaxCompatibilityLength (line 21) | MaxCompatibilityLength = 500 constant MaxDescriptionLength (line 24) | MaxDescriptionLength = 1024 constant RecommendedMaxSkillMDLines (line 28) | RecommendedMaxSkillMDLines = 500 function ValidateSkillDir (line 32) | func ValidateSkillDir(path string) (*ValidationResult, error) { function validateFields (line 86) | func validateFields(result *ParseResult, dirName string) []string { function collectWarnings (line 116) | func collectWarnings(result *ParseResult, content []byte) []string { function ValidateSkillName (line 138) | func ValidateSkillName(name string) error { function CheckFilesystem (line 153) | func CheckFilesystem(path string) error { FILE: pkg/skills/validator_test.go function makeSkillDir (line 19) | func makeSkillDir(t *testing.T, dirName, skillMD string) string { function TestValidateSkillDir (line 27) | func TestValidateSkillDir(t *testing.T) { function TestValidateSkillDir_Symlink (line 263) | func TestValidateSkillDir_Symlink(t *testing.T) { function TestValidateSkillName (line 282) | func TestValidateSkillName(t *testing.T) { function TestValidateScope (line 319) | func TestValidateScope(t *testing.T) { function containsSubstring (line 354) | func containsSubstring(strs []string, substr string) bool { FILE: pkg/state/factory.go constant RunConfigsDir (line 12) | RunConfigsDir = "runconfigs" constant GroupConfigsDir (line 15) | GroupConfigsDir = "groups" function NewRunConfigStore (line 19) | func NewRunConfigStore(appName string) (Store, error) { function NewRunConfigStoreWithDetector (line 24) | func NewRunConfigStoreWithDetector(appName string) (Store, error) { function NewGroupConfigStore (line 32) | func NewGroupConfigStore(appName string) (Store, error) { function NewGroupConfigStoreWithDetector (line 37) | func NewGroupConfigStoreWithDetector(appName string) (Store, error) { FILE: pkg/state/factory_test.go function TestNewRunConfigStoreWithDetector (line 13) | func TestNewRunConfigStoreWithDetector(t *testing.T) { function TestNewGroupConfigStoreWithDetector (line 22) | func TestNewGroupConfigStoreWithDetector(t *testing.T) { function TestNewRunConfigStore (line 31) | func TestNewRunConfigStore(t *testing.T) { function TestNewGroupConfigStore (line 40) | func TestNewGroupConfigStore(t *testing.T) { FILE: pkg/state/interface.go type Store (line 16) | type Store interface FILE: pkg/state/kubernetes.go type KubernetesStore (line 14) | type KubernetesStore struct method Exists (line 22) | func (*KubernetesStore) Exists(_ context.Context, _ string) (bool, err... method List (line 27) | func (*KubernetesStore) List(_ context.Context) ([]string, error) { method GetReader (line 32) | func (*KubernetesStore) GetReader(_ context.Context, _ string) (io.Rea... method GetWriter (line 37) | func (*KubernetesStore) GetWriter(_ context.Context, _ string) (io.Wri... method CreateExclusive (line 43) | func (*KubernetesStore) CreateExclusive(_ context.Context, _ string) (... method Delete (line 48) | func (*KubernetesStore) Delete(_ context.Context, _ string) error { function NewKubernetesStore (line 17) | func NewKubernetesStore() Store { type noopWriteCloser (line 53) | type noopWriteCloser struct method Write (line 56) | func (*noopWriteCloser) Write(p []byte) (n int, err error) { method Close (line 61) | func (*noopWriteCloser) Close() error { FILE: pkg/state/kubernetes_test.go function TestNewKubernetesStore (line 16) | func TestNewKubernetesStore(t *testing.T) { function TestKubernetesStore_Exists (line 23) | func TestKubernetesStore_Exists(t *testing.T) { function TestKubernetesStore_List (line 47) | func TestKubernetesStore_List(t *testing.T) { function TestKubernetesStore_GetReader (line 58) | func TestKubernetesStore_GetReader(t *testing.T) { function TestKubernetesStore_GetWriter (line 89) | func TestKubernetesStore_GetWriter(t *testing.T) { function TestKubernetesStore_Delete (line 112) | func TestKubernetesStore_Delete(t *testing.T) { function TestNoopWriteCloser_Write (line 134) | func TestNoopWriteCloser_Write(t *testing.T) { function TestNoopWriteCloser_Close (line 157) | func TestNoopWriteCloser_Close(t *testing.T) { function TestNoopWriteCloser_WriteAndClose (line 172) | func TestNoopWriteCloser_WriteAndClose(t *testing.T) { function TestKubernetesStore_InterfaceCompliance (line 193) | func TestKubernetesStore_InterfaceCompliance(t *testing.T) { function TestNoopWriteCloser_InterfaceCompliance (line 200) | func TestNoopWriteCloser_InterfaceCompliance(t *testing.T) { FILE: pkg/state/local.go constant DefaultAppName (line 22) | DefaultAppName = "toolhive" constant FileExtension (line 25) | FileExtension = ".json" type LocalStore (line 30) | type LocalStore struct method getFilePath (line 56) | func (s *LocalStore) getFilePath(name string) string { method GetReader (line 65) | func (s *LocalStore) GetReader(_ context.Context, name string) (io.Rea... method GetWriter (line 81) | func (s *LocalStore) GetWriter(_ context.Context, name string) (io.Wri... method CreateExclusive (line 95) | func (s *LocalStore) CreateExclusive(_ context.Context, name string) (... method Delete (line 114) | func (s *LocalStore) Delete(_ context.Context, name string) error { method List (line 127) | func (s *LocalStore) List(_ context.Context) ([]string, error) { method Exists (line 156) | func (s *LocalStore) Exists(_ context.Context, name string) (bool, err... function NewLocalStore (line 37) | func NewLocalStore(appName string, storeName string) (*LocalStore, error) { FILE: pkg/state/mocks/mock_store.go type MockStore (line 21) | type MockStore struct method EXPECT (line 40) | func (m *MockStore) EXPECT() *MockStoreMockRecorder { method CreateExclusive (line 45) | func (m *MockStore) CreateExclusive(ctx context.Context, name string) ... method Delete (line 60) | func (m *MockStore) Delete(ctx context.Context, name string) error { method Exists (line 74) | func (m *MockStore) Exists(ctx context.Context, name string) (bool, er... method GetReader (line 89) | func (m *MockStore) GetReader(ctx context.Context, name string) (io.Re... method GetWriter (line 104) | func (m *MockStore) GetWriter(ctx context.Context, name string) (io.Wr... method List (line 119) | func (m *MockStore) List(ctx context.Context) ([]string, error) { type MockStoreMockRecorder (line 28) | type MockStoreMockRecorder struct method CreateExclusive (line 54) | func (mr *MockStoreMockRecorder) CreateExclusive(ctx, name any) *gomoc... method Delete (line 68) | func (mr *MockStoreMockRecorder) Delete(ctx, name any) *gomock.Call { method Exists (line 83) | func (mr *MockStoreMockRecorder) Exists(ctx, name any) *gomock.Call { method GetReader (line 98) | func (mr *MockStoreMockRecorder) GetReader(ctx, name any) *gomock.Call { method GetWriter (line 113) | func (mr *MockStoreMockRecorder) GetWriter(ctx, name any) *gomock.Call { method List (line 128) | func (mr *MockStoreMockRecorder) List(ctx any) *gomock.Call { function NewMockStore (line 33) | func NewMockStore(ctrl *gomock.Controller) *MockStore { FILE: pkg/state/runconfig.go function LoadRunConfigJSON (line 17) | func LoadRunConfigJSON(ctx context.Context, name string) (io.ReadCloser,... function DeleteSavedRunConfig (line 43) | func DeleteSavedRunConfig(ctx context.Context, name string) error { type RunConfigPersister (line 69) | type RunConfigPersister interface type ReadJSONFunc (line 77) | type ReadJSONFunc function SaveRunConfig (line 80) | func SaveRunConfig[T RunConfigPersister](ctx context.Context, config T) ... function LoadRunConfig (line 108) | func LoadRunConfig[T any](ctx context.Context, name string, readJSONFunc... function ReadRunConfigJSON (line 126) | func ReadRunConfigJSON[T any](r io.Reader) (*T, error) { function LoadRunConfigOfType (line 136) | func LoadRunConfigOfType[T any](ctx context.Context, name string) (*T, e... type RunConfigReadJSONFunc (line 142) | type RunConfigReadJSONFunc function LoadRunConfigWithFunc (line 145) | func LoadRunConfigWithFunc(ctx context.Context, name string, readFunc Ru... function ReadJSON (line 161) | func ReadJSON(r io.Reader, target interface{}) error { FILE: pkg/storage/interfaces.go type SkillStore (line 16) | type SkillStore interface type ListFilter (line 32) | type ListFilter struct FILE: pkg/storage/mocks/mock_skill_store.go type MockSkillStore (line 22) | type MockSkillStore struct method EXPECT (line 41) | func (m *MockSkillStore) EXPECT() *MockSkillStoreMockRecorder { method Close (line 46) | func (m *MockSkillStore) Close() error { method Create (line 60) | func (m *MockSkillStore) Create(ctx context.Context, skill skills.Inst... method Delete (line 74) | func (m *MockSkillStore) Delete(ctx context.Context, name string, scop... method Get (line 88) | func (m *MockSkillStore) Get(ctx context.Context, name string, scope s... method List (line 103) | func (m *MockSkillStore) List(ctx context.Context, filter storage.List... method Update (line 118) | func (m *MockSkillStore) Update(ctx context.Context, skill skills.Inst... type MockSkillStoreMockRecorder (line 29) | type MockSkillStoreMockRecorder struct method Close (line 54) | func (mr *MockSkillStoreMockRecorder) Close() *gomock.Call { method Create (line 68) | func (mr *MockSkillStoreMockRecorder) Create(ctx, skill any) *gomock.C... method Delete (line 82) | func (mr *MockSkillStoreMockRecorder) Delete(ctx, name, scope, project... method Get (line 97) | func (mr *MockSkillStoreMockRecorder) Get(ctx, name, scope, projectRoo... method List (line 112) | func (mr *MockSkillStoreMockRecorder) List(ctx, filter any) *gomock.Ca... method Update (line 126) | func (mr *MockSkillStoreMockRecorder) Update(ctx, skill any) *gomock.C... function NewMockSkillStore (line 34) | func NewMockSkillStore(ctrl *gomock.Controller) *MockSkillStore { FILE: pkg/storage/noop.go type NoopSkillStore (line 14) | type NoopSkillStore struct method Create (line 19) | func (*NoopSkillStore) Create(_ context.Context, _ skills.InstalledSki... method Get (line 24) | func (*NoopSkillStore) Get(_ context.Context, _ string, _ skills.Scope... method List (line 29) | func (*NoopSkillStore) List(_ context.Context, _ ListFilter) ([]skills... method Update (line 34) | func (*NoopSkillStore) Update(_ context.Context, _ skills.InstalledSki... method Delete (line 39) | func (*NoopSkillStore) Delete(_ context.Context, _ string, _ skills.Sc... method Close (line 44) | func (*NoopSkillStore) Close() error { return nil } FILE: pkg/storage/noop_test.go function TestNoopSkillStore_Create (line 14) | func TestNoopSkillStore_Create(t *testing.T) { function TestNoopSkillStore_Get (line 23) | func TestNoopSkillStore_Get(t *testing.T) { function TestNoopSkillStore_List (line 32) | func TestNoopSkillStore_List(t *testing.T) { function TestNoopSkillStore_Update (line 44) | func TestNoopSkillStore_Update(t *testing.T) { function TestNoopSkillStore_Delete (line 53) | func TestNoopSkillStore_Delete(t *testing.T) { FILE: pkg/storage/sqlite/db.go type DB (line 20) | type DB struct method Close (line 79) | func (d *DB) Close() error { method DB (line 84) | func (d *DB) DB() *sql.DB { function Open (line 27) | func Open(ctx context.Context, dbPath string) (_ *DB, err error) { function DefaultDBPath (line 74) | func DefaultDBPath() string { function applyPragmas (line 89) | func applyPragmas(db *sql.DB) error { FILE: pkg/storage/sqlite/db_test.go function TestOpen (line 14) | func TestOpen(t *testing.T) { function TestOpenCreatesDirectory (line 25) | func TestOpenCreatesDirectory(t *testing.T) { function TestClose (line 34) | func TestClose(t *testing.T) { function TestPragmas (line 47) | func TestPragmas(t *testing.T) { function TestDefaultDBPath (line 74) | func TestDefaultDBPath(t *testing.T) { function TestMaxOpenConns (line 81) | func TestMaxOpenConns(t *testing.T) { function TestOpenReturnsUnderlyingDB (line 92) | func TestOpenReturnsUnderlyingDB(t *testing.T) { FILE: pkg/storage/sqlite/factory.go function NewDefaultSkillStore (line 17) | func NewDefaultSkillStore() (storage.SkillStore, error) { function newSkillStoreWithDetector (line 22) | func newSkillStoreWithDetector(envReader env.Reader) (storage.SkillStore... function newSkillStoreFromPath (line 30) | func newSkillStoreFromPath(ctx context.Context, dbPath string) (storage.... FILE: pkg/storage/sqlite/factory_test.go function TestFactory_Kubernetes (line 16) | func TestFactory_Kubernetes(t *testing.T) { function TestFactory_KubernetesServiceHost (line 31) | func TestFactory_KubernetesServiceHost(t *testing.T) { function TestFactory_Local (line 47) | func TestFactory_Local(t *testing.T) { function TestFactory_FromPath (line 60) | func TestFactory_FromPath(t *testing.T) { FILE: pkg/storage/sqlite/migrations.go function runMigrations (line 21) | func runMigrations(ctx context.Context, db *sql.DB) error { FILE: pkg/storage/sqlite/migrations/001_create_entries_and_skills.sql type entries (line 3) | CREATE TABLE entries ( type installed_skills (line 16) | CREATE TABLE installed_skills ( type skill_dependencies (line 37) | CREATE TABLE skill_dependencies ( type oci_tags (line 46) | CREATE TABLE oci_tags ( FILE: pkg/storage/sqlite/migrations_test.go function TestMigrationsApply (line 14) | func TestMigrationsApply(t *testing.T) { function TestMigrationsIdempotent (line 33) | func TestMigrationsIdempotent(t *testing.T) { function TestMigrationsSchemaConstraints (line 56) | func TestMigrationsSchemaConstraints(t *testing.T) { FILE: pkg/storage/sqlite/skill_store.go type SkillStore (line 22) | type SkillStore struct method Close (line 33) | func (s *SkillStore) Close() error { method Create (line 45) | func (s *SkillStore) Create(ctx context.Context, skill skills.Installe... method Get (line 128) | func (s *SkillStore) Get( method List (line 155) | func (s *SkillStore) List(ctx context.Context, filter storage.ListFilt... method Update (line 223) | func (s *SkillStore) Update(ctx context.Context, skill skills.Installe... method Delete (line 305) | func (s *SkillStore) Delete(ctx context.Context, name string, scope sk... function NewSkillStore (line 28) | func NewSkillStore(db *DB) *SkillStore { constant skillColumns (line 40) | skillColumns = `is_.id, e.name, is_.scope, is_.project_root, is_.referen... type scanner (line 354) | type scanner interface function scanSkillFields (line 357) | func scanSkillFields(sc scanner) (skills.InstalledSkill, int64, error) { function fetchDependencies (line 421) | func fetchDependencies(ctx context.Context, db *sql.DB, installedSkillID... function insertDependencies (line 450) | func insertDependencies(ctx context.Context, tx *sql.Tx, installedSkillI... function encodeJSONB (line 464) | func encodeJSONB(values []string) (string, error) { function decodeJSONB (line 476) | func decodeJSONB(data []byte) ([]string, error) { function isUniqueViolation (line 488) | func isUniqueViolation(err error) bool { function rollback (line 497) | func rollback(tx *sql.Tx) { _ = tx.Rollback() } FILE: pkg/storage/sqlite/skill_store_test.go function newTestStore (line 17) | func newTestStore(t *testing.T) *SkillStore { function testSkill (line 27) | func testSkill(name string) skills.InstalledSkill { function TestSkillStore_Create (line 48) | func TestSkillStore_Create(t *testing.T) { function TestSkillStore_CreateDuplicate (line 77) | func TestSkillStore_CreateDuplicate(t *testing.T) { function TestSkillStore_Get (line 88) | func TestSkillStore_Get(t *testing.T) { function TestSkillStore_GetByScope (line 96) | func TestSkillStore_GetByScope(t *testing.T) { function TestSkillStore_List (line 126) | func TestSkillStore_List(t *testing.T) { function TestSkillStore_ListFilterByScope (line 145) | func TestSkillStore_ListFilterByScope(t *testing.T) { function TestSkillStore_ListFilterByProjectRoot (line 173) | func TestSkillStore_ListFilterByProjectRoot(t *testing.T) { function TestSkillStore_ListFilterByClientApp (line 193) | func TestSkillStore_ListFilterByClientApp(t *testing.T) { function TestSkillStore_Update (line 221) | func TestSkillStore_Update(t *testing.T) { function TestSkillStore_UpdateNotFound (line 250) | func TestSkillStore_UpdateNotFound(t *testing.T) { function TestSkillStore_Delete (line 259) | func TestSkillStore_Delete(t *testing.T) { function TestSkillStore_DeleteNotFound (line 273) | func TestSkillStore_DeleteNotFound(t *testing.T) { function TestSkillStore_DeleteCascade (line 281) | func TestSkillStore_DeleteCascade(t *testing.T) { function TestSkillStore_NilSlicesRoundTrip (line 315) | func TestSkillStore_NilSlicesRoundTrip(t *testing.T) { function TestSkillStore_MultiConnectionAccess (line 333) | func TestSkillStore_MultiConnectionAccess(t *testing.T) { FILE: pkg/syncutil/atmost.go type AtMost (line 15) | type AtMost struct method Do (line 34) | func (a *AtMost) Do(fn func()) { function NewAtMost (line 23) | func NewAtMost(interval time.Duration) *AtMost { FILE: pkg/syncutil/atmost_test.go function TestAtMost (line 15) | func TestAtMost(t *testing.T) { function TestAtMost_ConcurrentSafety (line 85) | func TestAtMost_ConcurrentSafety(t *testing.T) { FILE: pkg/telemetry/attributes.go function ParseCustomAttributes (line 17) | func ParseCustomAttributes(input string) (map[string]string, error) { function ConvertMapToAttributes (line 51) | func ConvertMapToAttributes(attrs map[string]string) []attribute.KeyValue { FILE: pkg/telemetry/attributes_test.go function TestParseCustomAttributes (line 12) | func TestParseCustomAttributes(t *testing.T) { function TestConvertMapToAttributes (line 179) | func TestConvertMapToAttributes(t *testing.T) { FILE: pkg/telemetry/config.go type Config (line 28) | type Config struct method GoString (line 113) | func (c Config) GoString() string { method String (line 118) | func (c Config) String() string { method GetSamplingRateFloat (line 137) | func (c *Config) GetSamplingRateFloat() float64 { method SetSamplingRateFromFloat (line 149) | func (c *Config) SetSamplingRateFromFloat(rate float64) { constant DefaultServiceNamePrefix (line 155) | DefaultServiceNamePrefix = "thv-" function DefaultConfig (line 158) | func DefaultConfig() Config { function MaybeMakeConfig (line 175) | func MaybeMakeConfig( function ResolveServiceName (line 229) | func ResolveServiceName(config *Config, serverName string) { type Provider (line 239) | type Provider struct method Middleware (line 317) | func (p *Provider) Middleware(serverName, transport string) types.Midd... method Shutdown (line 322) | func (p *Provider) Shutdown(ctx context.Context) error { method TracerProvider (line 330) | func (p *Provider) TracerProvider() trace.TracerProvider { method MeterProvider (line 335) | func (p *Provider) MeterProvider() metric.MeterProvider { method PrometheusHandler (line 341) | func (p *Provider) PrometheusHandler() http.Handler { function NewProvider (line 249) | func NewProvider(ctx context.Context, config Config, extraProcessors ...... function setGlobalProvidersAndReturn (line 293) | func setGlobalProvidersAndReturn(telemetryProviders *providers.Composite... function validateOtelConfig (line 346) | func validateOtelConfig(config Config) error { FILE: pkg/telemetry/config_test.go function TestTelemetryProviderValidation (line 21) | func TestTelemetryProviderValidation(t *testing.T) { function getProviderTypeName (line 166) | func getProviderTypeName(provider interface{}) string { function isConnectionError (line 175) | func isConnectionError(err error) bool { function TestDefaultConfig (line 183) | func TestDefaultConfig(t *testing.T) { function TestResolveServiceName (line 199) | func TestResolveServiceName(t *testing.T) { function TestProvider_Middleware (line 246) | func TestProvider_Middleware(t *testing.T) { function TestProvider_ShutdownTimeout (line 276) | func TestProvider_ShutdownTimeout(t *testing.T) { function TestConfigString_HeaderRedaction (line 306) | func TestConfigString_HeaderRedaction(t *testing.T) { FILE: pkg/telemetry/integration_test.go constant testToolName (line 30) | testToolName = "github_search" constant metricRequestCounter (line 31) | metricRequestCounter = "toolhive_mcp_requests" function TestTelemetryIntegration_EndToEnd (line 34) | func TestTelemetryIntegration_EndToEnd(t *testing.T) { function TestTelemetryIntegration_WithRealProviders (line 175) | func TestTelemetryIntegration_WithRealProviders(t *testing.T) { function TestTelemetryIntegration_ErrorHandling (line 328) | func TestTelemetryIntegration_ErrorHandling(t *testing.T) { function TestTelemetryIntegration_ToolSpecificMetrics (line 380) | func TestTelemetryIntegration_ToolSpecificMetrics(t *testing.T) { function TestTelemetryIntegration_MultipleRequests (line 481) | func TestTelemetryIntegration_MultipleRequests(t *testing.T) { function TestTelemetryIntegration_MetaTraceContextExtraction (line 529) | func TestTelemetryIntegration_MetaTraceContextExtraction(t *testing.T) {... FILE: pkg/telemetry/middleware.go constant instrumentationName (line 32) | instrumentationName = "github.com/stacklok/toolhive/pkg/telemetry" constant methodPromptsGet (line 34) | methodPromptsGet = "prompts/get" constant networkTransportTCP (line 36) | networkTransportTCP = "tcp" constant networkProtocolHTTP (line 38) | networkProtocolHTTP = "http" type HTTPMiddleware (line 47) | type HTTPMiddleware struct method Handler (line 142) | func (m *HTTPMiddleware) Handler(next http.Handler) http.Handler { method createSpanName (line 226) | func (*HTTPMiddleware) createSpanName(ctx context.Context) string { method addHTTPAttributes (line 240) | func (m *HTTPMiddleware) addHTTPAttributes(span trace.Span, r *http.Re... method addEnvironmentAttributes (line 280) | func (m *HTTPMiddleware) addEnvironmentAttributes(span trace.Span) { method addMCPAttributes (line 298) | func (m *HTTPMiddleware) addMCPAttributes(ctx context.Context, span tr... method addNetworkAttributes (line 364) | func (*HTTPMiddleware) addNetworkAttributes(span trace.Span, r *http.R... method addMethodSpecificAttributes (line 399) | func (m *HTTPMiddleware) addMethodSpecificAttributes(span trace.Span, ... method extractServerName (line 447) | func (m *HTTPMiddleware) extractServerName(r *http.Request) string { method extractBackendTransport (line 468) | func (m *HTTPMiddleware) extractBackendTransport(r *http.Request) stri... method sanitizeArguments (line 518) | func (m *HTTPMiddleware) sanitizeArguments(arguments map[string]interf... method isSensitiveKey (line 550) | func (*HTTPMiddleware) isSensitiveKey(key string) bool { method finalizeSpan (line 582) | func (m *HTTPMiddleware) finalizeSpan(span trace.Span, rw *responseWri... method recordMetrics (line 661) | func (m *HTTPMiddleware) recordMetrics(ctx context.Context, r *http.Re... method recordOperationDuration (line 725) | func (m *HTTPMiddleware) recordOperationDuration( method recordSSEConnection (line 770) | func (m *HTTPMiddleware) recordSSEConnection(ctx context.Context, r *h... function NewHTTPMiddleware (line 67) | func NewHTTPMiddleware( function mapTransport (line 477) | func mapTransport(mcpTransport string) (networkTransport, protocolName, ... function httpProtocolVersion (line 491) | func httpProtocolVersion(r *http.Request) string { function parseRemoteAddr (line 502) | func parseRemoteAddr(remoteAddr string) (string, int) { function formatRequestID (line 566) | func formatRequestID(id interface{}) string { type responseWriter (line 612) | type responseWriter struct method WriteHeader (line 621) | func (rw *responseWriter) WriteHeader(statusCode int) { method Write (line 638) | func (rw *responseWriter) Write(data []byte) (int, error) { method Flush (line 654) | func (rw *responseWriter) Flush() { constant MiddlewareType (line 818) | MiddlewareType = "telemetry" type FactoryMiddlewareParams (line 822) | type FactoryMiddlewareParams struct type FactoryMiddleware (line 829) | type FactoryMiddleware struct method Handler (line 836) | func (m *FactoryMiddleware) Handler() types.MiddlewareFunction { method Close (line 841) | func (m *FactoryMiddleware) Close() error { method PrometheusHandler (line 849) | func (m *FactoryMiddleware) PrometheusHandler() http.Handler { function CreateMiddleware (line 854) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... FILE: pkg/telemetry/middleware_sse_test.go function TestHTTPMiddleware_SSEHandling (line 17) | func TestHTTPMiddleware_SSEHandling(t *testing.T) { function TestHTTPMiddleware_RecordSSEConnection (line 108) | func TestHTTPMiddleware_RecordSSEConnection(t *testing.T) { function TestHTTPMiddleware_SSEIntegration (line 157) | func TestHTTPMiddleware_SSEIntegration(t *testing.T) { FILE: pkg/telemetry/middleware_test.go function TestNewHTTPMiddleware (line 32) | func TestNewHTTPMiddleware(t *testing.T) { function TestHTTPMiddleware_Handler_BasicRequest (line 46) | func TestHTTPMiddleware_Handler_BasicRequest(t *testing.T) { function TestHTTPMiddleware_Handler_WithMCPData (line 80) | func TestHTTPMiddleware_Handler_WithMCPData(t *testing.T) { function TestHTTPMiddleware_CreateSpanName (line 130) | func TestHTTPMiddleware_CreateSpanName(t *testing.T) { function TestMapTransport (line 192) | func TestMapTransport(t *testing.T) { function TestHTTPProtocolVersion (line 219) | func TestHTTPProtocolVersion(t *testing.T) { function TestParseRemoteAddr (line 249) | func TestParseRemoteAddr(t *testing.T) { function TestHTTPMiddleware_AddHTTPAttributes_Logic (line 276) | func TestHTTPMiddleware_AddHTTPAttributes_Logic(t *testing.T) { function TestHTTPMiddleware_MCP_AttributeLogic (line 301) | func TestHTTPMiddleware_MCP_AttributeLogic(t *testing.T) { function TestHTTPMiddleware_SanitizeArguments (line 387) | func TestHTTPMiddleware_SanitizeArguments(t *testing.T) { function TestHTTPMiddleware_IsSensitiveKey (line 470) | func TestHTTPMiddleware_IsSensitiveKey(t *testing.T) { function TestHTTPMiddleware_FormatRequestID (line 506) | func TestHTTPMiddleware_FormatRequestID(t *testing.T) { function TestHTTPMiddleware_ExtractServerName (line 532) | func TestHTTPMiddleware_ExtractServerName(t *testing.T) { function TestHTTPMiddleware_ExtractBackendTransport (line 590) | func TestHTTPMiddleware_ExtractBackendTransport(t *testing.T) { function TestResponseWriter (line 629) | func TestResponseWriter(t *testing.T) { function TestResponseWriter_DuplicateWriteHeader (line 653) | func TestResponseWriter_DuplicateWriteHeader(t *testing.T) { function TestResponseWriter_WriteThenWriteHeader (line 682) | func TestResponseWriter_WriteThenWriteHeader(t *testing.T) { function TestResponseWriter_WriteHeaderThenWrite (line 715) | func TestResponseWriter_WriteHeaderThenWrite(t *testing.T) { function TestHTTPMiddleware_WithRealMetrics (line 746) | func TestHTTPMiddleware_WithRealMetrics(t *testing.T) { function TestHTTPMiddleware_addEnvironmentAttributes (line 802) | func TestHTTPMiddleware_addEnvironmentAttributes(t *testing.T) { type mockSpan (line 906) | type mockSpan struct method SetAttributes (line 913) | func (m *mockSpan) SetAttributes(kv ...attribute.KeyValue) { method End (line 919) | func (*mockSpan) End(...trace.SpanEndOption) {} method AddEvent (line 920) | func (*mockSpan) AddEvent(string, ...trace.EventOption) {} method IsRecording (line 921) | func (*mockSpan) IsRecording() bool { return true } method RecordError (line 922) | func (*mockSpan) RecordError(error, ...trace.EventOption) {} method SpanContext (line 923) | func (*mockSpan) SpanContext() trace.SpanContext { return tra... method SetStatus (line 924) | func (s *mockSpan) SetStatus(code codes.Code, description string) { method SetName (line 928) | func (*mockSpan) SetName(string) {} method TracerProvider (line 929) | func (*mockSpan) TracerProvider() trace.TracerProvider { return tracen... type mockTracer (line 932) | type mockTracer struct method Start (line 938) | func (mt *mockTracer) Start(ctx context.Context, spanName string, _ ..... function contains (line 945) | func contains(slice []string, item string) bool { function TestCreateMiddleware_ValidConfig (line 956) | func TestCreateMiddleware_ValidConfig(t *testing.T) { function TestCreateMiddleware_InvalidConfig (line 1093) | func TestCreateMiddleware_InvalidConfig(t *testing.T) { function TestFactoryMiddleware_Handler (line 1208) | func TestFactoryMiddleware_Handler(t *testing.T) { function TestFactoryMiddleware_Close (line 1317) | func TestFactoryMiddleware_Close(t *testing.T) { function TestFactoryMiddleware_PrometheusHandler (line 1402) | func TestFactoryMiddleware_PrometheusHandler(t *testing.T) { function TestFactoryMiddleware_Integration (line 1511) | func TestFactoryMiddleware_Integration(t *testing.T) { function TestHTTPMiddleware_LegacyAttributes_Disabled (line 1634) | func TestHTTPMiddleware_LegacyAttributes_Disabled(t *testing.T) { function TestHTTPMiddleware_LegacyAttributes_Enabled (line 1917) | func TestHTTPMiddleware_LegacyAttributes_Enabled(t *testing.T) { constant metricOperationDuration (line 2036) | metricOperationDuration = "mcp.server.operation.duration" function TestHTTPMiddleware_OperationDuration (line 2038) | func TestHTTPMiddleware_OperationDuration(t *testing.T) { function TestRecordSSEConnection_DualEmission (line 2212) | func TestRecordSSEConnection_DualEmission(t *testing.T) { FILE: pkg/telemetry/propagation.go type MetaCarrier (line 23) | type MetaCarrier struct method Get (line 37) | func (c *MetaCarrier) Get(key string) string { method Set (line 47) | func (c *MetaCarrier) Set(key string, value string) { method Keys (line 52) | func (c *MetaCarrier) Keys() []string { method Meta (line 62) | func (c *MetaCarrier) Meta() map[string]interface{} { function NewMetaCarrier (line 29) | func NewMetaCarrier(meta map[string]interface{}) *MetaCarrier { function InjectMetaTraceContext (line 71) | func InjectMetaTraceContext(ctx context.Context, meta map[string]interfa... FILE: pkg/telemetry/propagation_test.go function TestMetaCarrier_GetSetKeys (line 15) | func TestMetaCarrier_GetSetKeys(t *testing.T) { function TestNewMetaCarrier_NilMeta (line 83) | func TestNewMetaCarrier_NilMeta(t *testing.T) { function TestMetaCarrier_Meta (line 97) | func TestMetaCarrier_Meta(t *testing.T) { function TestInjectMetaTraceContext (line 117) | func TestInjectMetaTraceContext(t *testing.T) { //nolint:paralleltest //... function TestInjectMetaTraceContext_NilMeta (line 149) | func TestInjectMetaTraceContext_NilMeta(t *testing.T) { FILE: pkg/telemetry/providers/otlp/config.go type Config (line 8) | type Config struct FILE: pkg/telemetry/providers/otlp/endpoint.go constant otlpTracesPath (line 18) | otlpTracesPath = "/v1/traces" constant otlpMetricsPath (line 19) | otlpMetricsPath = "/v1/metrics" function splitEndpointPath (line 28) | func splitEndpointPath(endpoint string) (hostPort, basePath string) { FILE: pkg/telemetry/providers/otlp/endpoint_test.go function TestSplitEndpointPath (line 12) | func TestSplitEndpointPath(t *testing.T) { FILE: pkg/telemetry/providers/otlp/metrics.go function NewMetricReader (line 16) | func NewMetricReader(ctx context.Context, config Config) (sdkmetric.Read... function createMetricExporter (line 29) | func createMetricExporter(ctx context.Context, config Config) (sdkmetric... FILE: pkg/telemetry/providers/otlp/metrics_test.go function TestCreateMetricExporter (line 13) | func TestCreateMetricExporter(t *testing.T) { function TestNewMetricReader (line 88) | func TestNewMetricReader(t *testing.T) { FILE: pkg/telemetry/providers/otlp/tls.go function newTLSConfigFromCA (line 17) | func newTLSConfigFromCA(caCertPath string) (*tls.Config, error) { FILE: pkg/telemetry/providers/otlp/tls_test.go function generateSelfSignedCACert (line 26) | func generateSelfSignedCACert(t *testing.T) []byte { function TestNewTLSConfigFromCA (line 53) | func TestNewTLSConfigFromCA(t *testing.T) { FILE: pkg/telemetry/providers/otlp/tracing.go function createTraceExporter (line 17) | func createTraceExporter(ctx context.Context, config Config) (sdktrace.S... function NewTracerProviderWithShutdown (line 54) | func NewTracerProviderWithShutdown( FILE: pkg/telemetry/providers/otlp/tracing_test.go function TestCreateTraceExporter (line 17) | func TestCreateTraceExporter(t *testing.T) { function TestNewTracerProviderWithShutdown (line 107) | func TestNewTracerProviderWithShutdown(t *testing.T) { FILE: pkg/telemetry/providers/prometheus/prometheus.go type Config (line 19) | type Config struct function NewReader (line 27) | func NewReader(config Config) (sdkmetric.Reader, http.Handler, error) { FILE: pkg/telemetry/providers/prometheus/prometheus_test.go function TestNewReader (line 19) | func TestNewReader(t *testing.T) { function TestNewReader_Integration (line 99) | func TestNewReader_Integration(t *testing.T) { FILE: pkg/telemetry/providers/providers.go type Config (line 26) | type Config struct type ProviderOption (line 55) | type ProviderOption function WithServiceName (line 58) | func WithServiceName(serviceName string) ProviderOption { function WithServiceVersion (line 69) | func WithServiceVersion(serviceVersion string) ProviderOption { function WithOTLPEndpoint (line 80) | func WithOTLPEndpoint(endpoint string) ProviderOption { function WithHeaders (line 88) | func WithHeaders(headers map[string]string) ProviderOption { function WithInsecure (line 96) | func WithInsecure(insecure bool) ProviderOption { function WithCACertPath (line 104) | func WithCACertPath(path string) ProviderOption { function WithTracingEnabled (line 112) | func WithTracingEnabled(tracingEnabled bool) ProviderOption { function WithMetricsEnabled (line 120) | func WithMetricsEnabled(metricsEnabled bool) ProviderOption { function WithSamplingRate (line 128) | func WithSamplingRate(samplingRate float64) ProviderOption { function WithEnablePrometheusMetricsPath (line 136) | func WithEnablePrometheusMetricsPath(enablePrometheusMetricsPath bool) P... function WithCustomAttributes (line 144) | func WithCustomAttributes(attributes map[string]string) ProviderOption { function WithExtraSpanProcessors (line 152) | func WithExtraSpanProcessors(processors ...sdktrace.SpanProcessor) Provi... type CompositeProvider (line 161) | type CompositeProvider struct method TracerProvider (line 313) | func (p *CompositeProvider) TracerProvider() trace.TracerProvider { method MeterProvider (line 318) | func (p *CompositeProvider) MeterProvider() metric.MeterProvider { method PrometheusHandler (line 323) | func (p *CompositeProvider) PrometheusHandler() http.Handler { method Shutdown (line 328) | func (p *CompositeProvider) Shutdown(ctx context.Context) error { function NewCompositeProvider (line 169) | func NewCompositeProvider( function createNoOpProvider (line 223) | func createNoOpProvider() *CompositeProvider { function buildProviders (line 233) | func buildProviders( function createMetricsProvider (line 256) | func createMetricsProvider( function createTracingProvider (line 286) | func createTracingProvider( FILE: pkg/telemetry/providers/providers_strategy.go type TracerStrategy (line 25) | type TracerStrategy interface type NoOpTracerStrategy (line 33) | type NoOpTracerStrategy struct method CreateTracerProvider (line 36) | func (*NoOpTracerStrategy) CreateTracerProvider( type OTLPTracerStrategy (line 47) | type OTLPTracerStrategy struct method CreateTracerProvider (line 50) | func (*OTLPTracerStrategy) CreateTracerProvider( type MeterResult (line 77) | type MeterResult struct type MeterStrategy (line 84) | type MeterStrategy interface type NoOpMeterStrategy (line 90) | type NoOpMeterStrategy struct method CreateMeterProvider (line 93) | func (*NoOpMeterStrategy) CreateMeterProvider( type UnifiedMeterStrategy (line 108) | type UnifiedMeterStrategy struct method CreateMeterProvider (line 114) | func (s *UnifiedMeterStrategy) CreateMeterProvider( type StrategySelector (line 182) | type StrategySelector struct method SelectTracerStrategy (line 193) | func (s *StrategySelector) SelectTracerStrategy() TracerStrategy { method SelectMeterStrategy (line 217) | func (s *StrategySelector) SelectMeterStrategy() MeterStrategy { method IsFullyNoOp (line 234) | func (s *StrategySelector) IsFullyNoOp() bool { method hasOTLPMetrics (line 239) | func (s *StrategySelector) hasOTLPMetrics() bool { method hasOTLPTracing (line 244) | func (s *StrategySelector) hasOTLPTracing() bool { method hasPrometheus (line 249) | func (s *StrategySelector) hasPrometheus() bool { method hasExtraProcessors (line 254) | func (s *StrategySelector) hasExtraProcessors() bool { function NewStrategySelector (line 188) | func NewStrategySelector(config Config) *StrategySelector { FILE: pkg/telemetry/providers/providers_strategy_test.go type noopSpanProcessor (line 22) | type noopSpanProcessor struct method OnStart (line 24) | func (noopSpanProcessor) OnStart(_ context.Context, _ sdktrace.ReadWri... method OnEnd (line 25) | func (noopSpanProcessor) OnEnd(_ sdktrace.ReadOnlySpan) ... method Shutdown (line 26) | func (noopSpanProcessor) Shutdown(_ context.Context) error ... method ForceFlush (line 27) | func (noopSpanProcessor) ForceFlush(_ context.Context) error ... function TestStrategySelector_SelectTracerStrategy (line 29) | func TestStrategySelector_SelectTracerStrategy(t *testing.T) { function TestNoOpTracerStrategy_CreateTracerProvider (line 92) | func TestNoOpTracerStrategy_CreateTracerProvider(t *testing.T) { function TestOTLPTracerStrategy_CreateTracerProvider (line 111) | func TestOTLPTracerStrategy_CreateTracerProvider(t *testing.T) { function TestOTLPTracerStrategy_ExtraProcessorsWithoutEndpoint (line 183) | func TestOTLPTracerStrategy_ExtraProcessorsWithoutEndpoint(t *testing.T) { function TestStrategySelector_SelectMeterStrategy (line 209) | func TestStrategySelector_SelectMeterStrategy(t *testing.T) { function TestStrategySelector_IsFullyNoOp (line 270) | func TestStrategySelector_IsFullyNoOp(t *testing.T) { function TestNoOpMeterStrategy_CreateMeterProvider (line 337) | func TestNoOpMeterStrategy_CreateMeterProvider(t *testing.T) { function TestUnifiedMeterStrategy_Configurations (line 357) | func TestUnifiedMeterStrategy_Configurations(t *testing.T) { function TestUnifiedMeterStrategyConfiguration (line 463) | func TestUnifiedMeterStrategyConfiguration(t *testing.T) { function isConnectionError (line 568) | func isConnectionError(err error) bool { function getTypeName (line 577) | func getTypeName(v interface{}) string { function createTestResource (line 584) | func createTestResource(t *testing.T) *resource.Resource { function createTestResourceWithName (line 589) | func createTestResourceWithName(t *testing.T, serviceName, serviceVersio... FILE: pkg/telemetry/providers/providers_test.go function TestAssembler_CreateNoOpProvider (line 57) | func TestAssembler_CreateNoOpProvider(t *testing.T) { function TestAssembler_Assemble_NoOpCase (line 76) | func TestAssembler_Assemble_NoOpCase(t *testing.T) { function TestAssembler_Assemble_WithOTLPTracing (line 98) | func TestAssembler_Assemble_WithOTLPTracing(t *testing.T) { function TestAssembler_Assemble_WithPrometheus (line 121) | func TestAssembler_Assemble_WithPrometheus(t *testing.T) { function TestAssembler_Assemble_WithOTLPMetrics (line 142) | func TestAssembler_Assemble_WithOTLPMetrics(t *testing.T) { function TestAssembler_Assemble_WithEverything (line 163) | func TestAssembler_Assemble_WithEverything(t *testing.T) { function TestCompositeProvider_Accessors (line 189) | func TestCompositeProvider_Accessors(t *testing.T) { function TestCompositeProvider_Shutdown (line 207) | func TestCompositeProvider_Shutdown(t *testing.T) { function TestAssembler_Shutdown_WithErrors (line 293) | func TestAssembler_Shutdown_WithErrors(t *testing.T) { function TestCompositeProvider_ShutdownTimeout (line 332) | func TestCompositeProvider_ShutdownTimeout(t *testing.T) { function TestCompositeProvider_MultipleShutdown (line 360) | func TestCompositeProvider_MultipleShutdown(t *testing.T) { function TestAssembler_Assemble_WithHeaders (line 384) | func TestAssembler_Assemble_WithHeaders(t *testing.T) { function TestAssembler_Assemble_DifferentSamplingRates (line 409) | func TestAssembler_Assemble_DifferentSamplingRates(t *testing.T) { function TestAssembler_Assemble_EdgeCases (line 446) | func TestAssembler_Assemble_EdgeCases(t *testing.T) { type TestMockErrorMeterStrategy (line 530) | type TestMockErrorMeterStrategy struct method CreateMeterProvider (line 534) | func (s *TestMockErrorMeterStrategy) CreateMeterProvider(_ context.Con... type TestMockErrorTracerStrategy (line 538) | type TestMockErrorTracerStrategy struct method CreateTracerProvider (line 542) | func (s *TestMockErrorTracerStrategy) CreateTracerProvider(_ context.C... function TestErrorStrategies (line 549) | func TestErrorStrategies(t *testing.T) { FILE: pkg/telemetry/providers/unified_test.go function TestUnifiedMeterProvider_BothProviders (line 16) | func TestUnifiedMeterProvider_BothProviders(t *testing.T) { function TestUnifiedMeterProvider_PrometheusOnly (line 64) | func TestUnifiedMeterProvider_PrometheusOnly(t *testing.T) { function TestUnifiedMeterProvider_OTLPOnly (line 103) | func TestUnifiedMeterProvider_OTLPOnly(t *testing.T) { FILE: pkg/telemetry/registry.go function RegisterSpanProcessor (line 28) | func RegisterSpanProcessor(p sdktrace.SpanProcessor) { function HasRegisteredSpanProcessors (line 45) | func HasRegisteredSpanProcessors() bool { function ResetSpanProcessorsForTesting (line 53) | func ResetSpanProcessorsForTesting() { function registeredSpanProcessors (line 60) | func registeredSpanProcessors() []sdktrace.SpanProcessor { FILE: pkg/telemetry/registry_test.go type countingSpanProcessor (line 19) | type countingSpanProcessor struct method OnStart (line 24) | func (c *countingSpanProcessor) OnStart(_ context.Context, _ sdktrace.... method OnEnd (line 28) | func (c *countingSpanProcessor) OnEnd(_ sdktrace.ReadOnlySpan) { method Shutdown (line 32) | func (*countingSpanProcessor) Shutdown(_ context.Context) error { re... method ForceFlush (line 33) | func (*countingSpanProcessor) ForceFlush(_ context.Context) error { re... function TestRegisterSpanProcessor_Dedup (line 39) | func TestRegisterSpanProcessor_Dedup(t *testing.T) { function TestRegisterSpanProcessor_Nil (line 54) | func TestRegisterSpanProcessor_Nil(t *testing.T) { function TestNewProvider_PicksUpRegisteredProcessor (line 67) | func TestNewProvider_PicksUpRegisteredProcessor(t *testing.T) { FILE: pkg/telemetry/serve.go function NewServeProvider (line 26) | func NewServeProvider(ctx context.Context) (provider *Provider, otelEnab... function handleUnusedEndpoint (line 84) | func handleUnusedEndpoint(otelCfg *config.OpenTelemetryConfig) { FILE: pkg/telemetry/zz_generated.deepcopy.go method DeepCopyInto (line 26) | func (in *Config) DeepCopyInto(out *Config) { method DeepCopy (line 50) | func (in *Config) DeepCopy() *Config { FILE: pkg/templates/funcs.go function FuncMap (line 22) | func FuncMap() template.FuncMap { function jsonEncode (line 31) | func jsonEncode(v any) (string, error) { function quote (line 40) | func quote(s string) string { function fromJson (line 46) | func fromJson(s string) (any, error) { FILE: pkg/templates/references.go function ExtractReferences (line 16) | func ExtractReferences(tmplStr string) ([]string, error) { function ExtractReferencesFromTemplate (line 25) | func ExtractReferencesFromTemplate(tmpl *template.Template) []string { function walkNode (line 43) | func walkNode(node parse.Node, refs map[string]bool) { FILE: pkg/templates/references_test.go function TestExtractReferences (line 15) | func TestExtractReferences(t *testing.T) { function TestExtractReferences_InvalidTemplate (line 124) | func TestExtractReferences_InvalidTemplate(t *testing.T) { function TestExtractReferencesFromTemplate (line 131) | func TestExtractReferencesFromTemplate(t *testing.T) { function TestExtractReferencesFromTemplate_NilTree (line 142) | func TestExtractReferencesFromTemplate_NilTree(t *testing.T) { FILE: pkg/transport/bridge.go type StdioBridge (line 24) | type StdioBridge struct method Start (line 46) | func (b *StdioBridge) Start(ctx context.Context) { method Shutdown (line 53) | func (b *StdioBridge) Shutdown() { method run (line 63) | func (b *StdioBridge) run(ctx context.Context) { method connectUpstream (line 120) | func (b *StdioBridge) connectUpstream(_ context.Context) (*client.Clie... method initializeUpstream (line 180) | func (b *StdioBridge) initializeUpstream(ctx context.Context) error { method forwardAll (line 196) | func (b *StdioBridge) forwardAll(ctx context.Context) { function NewStdioBridge (line 37) | func NewStdioBridge(name, rawURL string, mode types.TransportType) (*Std... FILE: pkg/transport/errors/errors_test.go function TestErrUnsupportedTransport (line 11) | func TestErrUnsupportedTransport(t *testing.T) { function TestErrContainerNameNotSet (line 34) | func TestErrContainerNameNotSet(t *testing.T) { FILE: pkg/transport/factory.go type Factory (line 14) | type Factory struct method Create (line 45) | func (*Factory) Create(config types.Config, opts ...Option) (types.Tra... function NewFactory (line 17) | func NewFactory() *Factory { type Option (line 22) | type Option function WithContainerName (line 25) | func WithContainerName(containerName string) Option { function WithTargetURI (line 35) | func WithTargetURI(targetURI string) Option { FILE: pkg/transport/http.go constant LocalhostName (line 31) | LocalhostName = "localhost" constant LocalhostIPv4 (line 33) | LocalhostIPv4 = "127.0.0.1" type HTTPTransport (line 37) | type HTTPTransport struct method SetRemoteURL (line 144) | func (t *HTTPTransport) SetRemoteURL(remoteURL string) { method SetTokenSource (line 149) | func (t *HTTPTransport) SetTokenSource(tokenSource oauth2.TokenSource) { method SetOnHealthCheckFailed (line 154) | func (t *HTTPTransport) SetOnHealthCheckFailed(callback types.HealthCh... method SetStateless (line 159) | func (t *HTTPTransport) SetStateless(stateless bool) { method SetOnUnauthorizedResponse (line 165) | func (t *HTTPTransport) SetOnUnauthorizedResponse(callback types.Unaut... method checkAndMarkUnauthorized (line 183) | func (t *HTTPTransport) checkAndMarkUnauthorized() bool { method createTokenInjectionMiddleware (line 194) | func (t *HTTPTransport) createTokenInjectionMiddleware() types.Middlew... method Mode (line 225) | func (t *HTTPTransport) Mode() types.TransportType { method ProxyPort (line 230) | func (t *HTTPTransport) ProxyPort() int { method setContainerName (line 236) | func (t *HTTPTransport) setContainerName(containerName string) { method setTargetURI (line 244) | func (t *HTTPTransport) setTargetURI(targetURI string) { method Start (line 254) | func (t *HTTPTransport) Start(ctx context.Context) error { method Stop (line 385) | func (t *HTTPTransport) Stop(ctx context.Context) error { method buildProxyOptions (line 426) | func (t *HTTPTransport) buildProxyOptions(remoteBasePath, remoteRawQue... method handleContainerExit (line 444) | func (t *HTTPTransport) handleContainerExit(ctx context.Context) { method reconnectMonitor (line 498) | func (t *HTTPTransport) reconnectMonitor(ctx context.Context) error { method ShouldRestart (line 525) | func (t *HTTPTransport) ShouldRestart() bool { method IsRunning (line 542) | func (t *HTTPTransport) IsRunning() (bool, error) { function NewHTTPTransport (line 101) | func NewHTTPTransport( function hasTokenExchangeMiddleware (line 201) | func hasTokenExchangeMiddleware(middlewares []types.NamedMiddleware) bool { function shouldEnableHealthCheck (line 214) | func shouldEnableHealthCheck(isRemote bool) bool { FILE: pkg/transport/http_remote_query_test.go function TestHTTPTransport_Start_RemoteURLQueryParams (line 26) | func TestHTTPTransport_Start_RemoteURLQueryParams(t *testing.T) { FILE: pkg/transport/http_test.go function TestHTTPTransport_ShouldRestart (line 22) | func TestHTTPTransport_ShouldRestart(t *testing.T) { function TestHTTPTransport_SetOnUnauthorizedResponse (line 67) | func TestHTTPTransport_SetOnUnauthorizedResponse(t *testing.T) { function TestHTTPTransport_checkAndMarkUnauthorized (line 108) | func TestHTTPTransport_checkAndMarkUnauthorized(t *testing.T) { function TestHTTPTransport_UnauthorizedResponseCallback (line 172) | func TestHTTPTransport_UnauthorizedResponseCallback(t *testing.T) { function TestHasTokenExchangeMiddleware (line 221) | func TestHasTokenExchangeMiddleware(t *testing.T) { function TestHTTPTransport_IsRunning (line 265) | func TestHTTPTransport_IsRunning(t *testing.T) { function TestShouldEnableHealthCheck (line 355) | func TestShouldEnableHealthCheck(t *testing.T) { FILE: pkg/transport/middleware/header_forward.go constant HeaderForwardMiddlewareName (line 19) | HeaderForwardMiddlewareName = "header-forward" type HeaderForwardMiddlewareParams (line 49) | type HeaderForwardMiddlewareParams struct type HeaderForwardFactoryMiddleware (line 55) | type HeaderForwardFactoryMiddleware struct method Handler (line 60) | func (m *HeaderForwardFactoryMiddleware) Handler() types.MiddlewareFun... method Close (line 65) | func (*HeaderForwardFactoryMiddleware) Close() error { function CreateMiddleware (line 70) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... function CreateHeaderForwardMiddleware (line 92) | func CreateHeaderForwardMiddleware(addHeaders map[string]string) (types.... function createHeaderForwardHandler (line 100) | func createHeaderForwardHandler(addHeaders map[string]string) (types.Mid... FILE: pkg/transport/middleware/header_forward_test.go function executeMiddleware (line 21) | func executeMiddleware(t *testing.T, mw func(http.Handler) http.Handler,... function TestCreateHeaderForwardMiddleware (line 35) | func TestCreateHeaderForwardMiddleware(t *testing.T) { function TestCreateHeaderForwardMiddleware_RestrictedHeaders (line 100) | func TestCreateHeaderForwardMiddleware_RestrictedHeaders(t *testing.T) { function TestCreateHeaderForwardMiddleware_AuthorizationAllowed (line 137) | func TestCreateHeaderForwardMiddleware_AuthorizationAllowed(t *testing.T) { function TestCreateMiddleware (line 145) | func TestCreateMiddleware(t *testing.T) { function mustMarshal (line 198) | func mustMarshal(t *testing.T, v any) json.RawMessage { FILE: pkg/transport/middleware/token_injection.go constant retryAfterSecs (line 20) | retryAfterSecs = "10" function CreateTokenInjectionMiddleware (line 26) | func CreateTokenInjectionMiddleware(tokenSource oauth2.TokenSource) type... FILE: pkg/transport/middleware/token_injection_test.go type stubTokenSource (line 18) | type stubTokenSource struct method Token (line 23) | func (s *stubTokenSource) Token() (*oauth2.Token, error) { function TestCreateTokenInjectionMiddleware (line 27) | func TestCreateTokenInjectionMiddleware(t *testing.T) { FILE: pkg/transport/middleware/write_timeout.go function WriteTimeout (line 17) | func WriteTimeout(endpointPath string) func(http.Handler) http.Handler { FILE: pkg/transport/middleware/write_timeout_test.go constant testEndpointPath (line 21) | testEndpointPath = "/mcp" type deadlineTrackingResponseWriter (line 26) | type deadlineTrackingResponseWriter struct method SetWriteDeadline (line 32) | func (d *deadlineTrackingResponseWriter) SetWriteDeadline(t time.Time)... function newDeadlineTracker (line 38) | func newDeadlineTracker() *deadlineTrackingResponseWriter { function mw (line 48) | func mw(next http.Handler) http.Handler { function TestWriteTimeout_SSERequestClearsDeadline (line 55) | func TestWriteTimeout_SSERequestClearsDeadline(t *testing.T) { function TestWriteTimeout_GETWithoutAcceptHeaderLeavesDeadlineUntouched (line 72) | func TestWriteTimeout_GETWithoutAcceptHeaderLeavesDeadlineUntouched(t *t... function TestWriteTimeout_GETOnWrongPathLeavesDeadlineUntouched (line 87) | func TestWriteTimeout_GETOnWrongPathLeavesDeadlineUntouched(t *testing.T) { function TestWriteTimeout_POSTLeavesDeadlineUntouched (line 102) | func TestWriteTimeout_POSTLeavesDeadlineUntouched(t *testing.T) { function TestWriteTimeout_DELETELeavesDeadlineUntouched (line 115) | func TestWriteTimeout_DELETELeavesDeadlineUntouched(t *testing.T) { function TestWriteTimeout_HandlerIsAlwaysCalled (line 129) | func TestWriteTimeout_HandlerIsAlwaysCalled(t *testing.T) { function TestWriteTimeout_SSEStreamSurvivesTimeout (line 174) | func TestWriteTimeout_SSEStreamSurvivesTimeout(t *testing.T) { FILE: pkg/transport/proxy/httpsse/http_proxy.go type Proxy (line 33) | type Proxy interface type HTTPSSEProxy (line 60) | type HTTPSSEProxy struct method Start (line 179) | func (p *HTTPSSEProxy) Start(_ context.Context) error { method Stop (line 256) | func (p *HTTPSSEProxy) Stop(ctx context.Context) error { method IsRunning (line 295) | func (p *HTTPSSEProxy) IsRunning() (bool, error) { method GetMessageChannel (line 305) | func (p *HTTPSSEProxy) GetMessageChannel() chan jsonrpc2.Message { method SendMessageToDestination (line 310) | func (p *HTTPSSEProxy) SendMessageToDestination(msg jsonrpc2.Message) ... method ForwardResponseToClients (line 322) | func (p *HTTPSSEProxy) ForwardResponseToClients(_ context.Context, msg... method handleSSEConnection (line 353) | func (p *HTTPSSEProxy) handleSSEConnection(w http.ResponseWriter, r *h... method handlePostRequest (line 443) | func (p *HTTPSSEProxy) handlePostRequest(w http.ResponseWriter, r *htt... method sendSSEEvent (line 505) | func (p *HTTPSSEProxy) sendSSEEvent(msg *ssecommon.SSEMessage) error { method removeClient (line 541) | func (p *HTTPSSEProxy) removeClient(clientID string) { method processPendingMessages (line 560) | func (p *HTTPSSEProxy) processPendingMessages(clientID string, message... method buildEndpointURL (line 592) | func (p *HTTPSSEProxy) buildEndpointURL(r *http.Request, clientID stri... type Option (line 99) | type Option function WithSessionStorage (line 119) | func WithSessionStorage(storage session.Storage) Option { function NewHTTPSSEProxy (line 133) | func NewHTTPSSEProxy( function applyMiddlewares (line 170) | func applyMiddlewares(handler http.Handler, middlewares ...types.NamedMi... function stripSSEEndpointSuffix (line 636) | func stripSSEEndpointSuffix(prefix string) string { FILE: pkg/transport/proxy/httpsse/http_proxy_integration_test.go function TestIntegrationSSEProxyStressTest (line 24) | func TestIntegrationSSEProxyStressTest(t *testing.T) { function TestIntegrationConcurrentClientsWithLongRunning (line 171) | func TestIntegrationConcurrentClientsWithLongRunning(t *testing.T) { function TestIntegrationLiveSessionsCleanup (line 319) | func TestIntegrationLiveSessionsCleanup(t *testing.T) { function extractSessionID (line 359) | func extractSessionID(body io.Reader) (string, error) { FILE: pkg/transport/proxy/httpsse/http_proxy_test.go constant testClientID (line 25) | testClientID = "eeeeeeee-0001-0001-0001-000000000001" function TestNewHTTPSSEProxy (line 30) | func TestNewHTTPSSEProxy(t *testing.T) { function TestGetMessageChannel (line 44) | func TestGetMessageChannel(t *testing.T) { function TestSendMessageToDestination (line 55) | func TestSendMessageToDestination(t *testing.T) { function TestSendMessageToDestination_ChannelFull (line 78) | func TestSendMessageToDestination_ChannelFull(t *testing.T) { function TestRemoveClient (line 97) | func TestRemoveClient(t *testing.T) { function TestConcurrentClientRemoval (line 133) | func TestConcurrentClientRemoval(t *testing.T) { function TestForwardResponseToClients (line 182) | func TestForwardResponseToClients(t *testing.T) { function TestForwardResponseToClients_NoClients (line 221) | func TestForwardResponseToClients_NoClients(t *testing.T) { function TestSendSSEEvent_ChannelFull (line 242) | func TestSendSSEEvent_ChannelFull(t *testing.T) { function TestProcessPendingMessages (line 279) | func TestProcessPendingMessages(t *testing.T) { function TestProcessPendingMessages_ChannelFull (line 309) | func TestProcessPendingMessages_ChannelFull(t *testing.T) { function TestHandleSSEConnection (line 349) | func TestHandleSSEConnection(t *testing.T) { function TestHandleSSEConnection_WithTrustProxyHeaders (line 376) | func TestHandleSSEConnection_WithTrustProxyHeaders(t *testing.T) { function TestHandleSSEConnection_WithoutTrustProxyHeaders (line 412) | func TestHandleSSEConnection_WithoutTrustProxyHeaders(t *testing.T) { function TestHandlePostRequest (line 448) | func TestHandlePostRequest(t *testing.T) { function TestHandlePostRequest_NoSessionID (line 493) | func TestHandlePostRequest_NoSessionID(t *testing.T) { function TestHandlePostRequest_InvalidSession (line 511) | func TestHandlePostRequest_InvalidSession(t *testing.T) { function TestRWMutexUsage (line 530) | func TestRWMutexUsage(t *testing.T) { function TestRemoveClientCleansLiveSessions (line 571) | func TestRemoveClientCleansLiveSessions(t *testing.T) { function TestNewHTTPSSEProxyWithSessionStorage (line 598) | func TestNewHTTPSSEProxyWithSessionStorage(t *testing.T) { function TestStartStop (line 609) | func TestStartStop(t *testing.T) { FILE: pkg/transport/proxy/httpsse/pinger.go type MCPPinger (line 20) | type MCPPinger struct method Ping (line 34) | func (p *MCPPinger) Ping(ctx context.Context) (time.Duration, error) { function NewMCPPinger (line 25) | func NewMCPPinger(proxy *HTTPSSEProxy) healthcheck.MCPPinger { FILE: pkg/transport/proxy/socket/socket_unix.go function ListenConfig (line 19) | func ListenConfig() net.ListenConfig { FILE: pkg/transport/proxy/socket/socket_windows.go function ListenConfig (line 14) | func ListenConfig() net.ListenConfig { FILE: pkg/transport/proxy/streamable/dispatcher.go method dispatchResponses (line 16) | func (p *HTTPProxy) dispatchResponses() { method waitForResponse (line 57) | func (p *HTTPProxy) waitForResponse(ch <-chan jsonrpc2.Message, timeout ... FILE: pkg/transport/proxy/streamable/streamable_proxy.go constant StreamableHTTPEndpoint (line 31) | StreamableHTTPEndpoint = "/mcp" constant defaultRequestTimeout (line 35) | defaultRequestTimeout = 60 * time.Second constant proxyRequestTimeoutEnv (line 39) | proxyRequestTimeoutEnv = "TOOLHIVE_PROXY_REQUEST_TIMEOUT" type HTTPProxy (line 43) | type HTTPProxy struct method Start (line 124) | func (p *HTTPProxy) Start(_ context.Context) error { method Stop (line 160) | func (p *HTTPProxy) Stop(ctx context.Context) error { method IsRunning (line 184) | func (p *HTTPProxy) IsRunning() (bool, error) { method GetMessageChannel (line 194) | func (p *HTTPProxy) GetMessageChannel() chan jsonrpc2.Message { method GetResponseChannel (line 199) | func (p *HTTPProxy) GetResponseChannel() <-chan jsonrpc2.Message { method SendMessageToDestination (line 204) | func (p *HTTPProxy) SendMessageToDestination(msg jsonrpc2.Message) err... method ForwardResponseToClients (line 214) | func (p *HTTPProxy) ForwardResponseToClients(_ context.Context, msg js... method SendResponseMessage (line 224) | func (p *HTTPProxy) SendResponseMessage(msg jsonrpc2.Message) error { method handleStreamableRequest (line 231) | func (p *HTTPProxy) handleStreamableRequest(w http.ResponseWriter, r *... method handleGet (line 244) | func (*HTTPProxy) handleGet(w http.ResponseWriter, _ *http.Request) { method handleDelete (line 249) | func (p *HTTPProxy) handleDelete(w http.ResponseWriter, r *http.Reques... method handlePost (line 266) | func (p *HTTPProxy) handlePost(w http.ResponseWriter, r *http.Request) { method handleBatchRequest (line 326) | func (p *HTTPProxy) handleBatchRequest(w http.ResponseWriter, body []b... method handleSingleRequest (line 362) | func (p *HTTPProxy) handleSingleRequest( method handleSingleRequestSSE (line 394) | func (p *HTTPProxy) handleSingleRequestSSE( method processSingleMessage (line 460) | func (p *HTTPProxy) processSingleMessage(sessID string, raw json.RawMe... method restoreResponseID (line 550) | func (p *HTTPProxy) restoreResponseID(resp *jsonrpc2.Response, ck stri... method doRequest (line 574) | func (p *HTTPProxy) doRequest(ctx context.Context, sessID string, req ... method applyMiddlewares (line 608) | func (p *HTTPProxy) applyMiddlewares(handler http.Handler) http.Handler { method ensureSession (line 615) | func (p *HTTPProxy) ensureSession(id string) error { method resolveSessionForBatch (line 624) | func (p *HTTPProxy) resolveSessionForBatch(w http.ResponseWriter, r *h... method resolveSessionForRequest (line 645) | func (p *HTTPProxy) resolveSessionForRequest( method handleNotificationOrClientResponse (line 711) | func (p *HTTPProxy) handleNotificationOrClientResponse(w http.Response... method createWaiter (line 741) | func (p *HTTPProxy) createWaiter(sessID string, id jsonrpc2.ID) (chan ... type Option (line 72) | type Option function WithSessionStorage (line 76) | func WithSessionStorage(storage session.Storage) Option { function NewHTTPProxy (line 90) | func NewHTTPProxy( function encodeRequestWithID (line 533) | func encodeRequestWithID(req *jsonrpc2.Request, newID string) (jsonrpc2.... function isBatch (line 683) | func isBatch(body []byte) bool { function decodeBatch (line 688) | func decodeBatch(w http.ResponseWriter, body []byte) ([]json.RawMessage,... function decodeJSONRPCMessage (line 700) | func decodeJSONRPCMessage(w http.ResponseWriter, body []byte) (jsonrpc2.... function resolveRequestTimeout (line 725) | func resolveRequestTimeout() time.Duration { FILE: pkg/transport/proxy/streamable/streamable_proxy_integration_test.go function getFreePort (line 22) | func getFreePort(t *testing.T) int { function TestHTTPRequestIgnoresNotifications (line 34) | func TestHTTPRequestIgnoresNotifications(t *testing.T) { FILE: pkg/transport/proxy/streamable/streamable_proxy_mcp_client_integration_test.go constant methodInitialize (line 22) | methodInitialize = "initialize" constant methodToolsList (line 23) | methodToolsList = "tools/list" constant methodToolsCall (line 24) | methodToolsCall = "tools/call" constant methodResourcesList (line 25) | methodResourcesList = "resources/list" constant methodPing (line 26) | methodPing = "ping" constant protoVersion (line 28) | protoVersion = "2024-11-05" constant toolEcho (line 29) | toolEcho = "echo" function TestMCPGoClientInitializeAndPing (line 35) | func TestMCPGoClientInitializeAndPing(t *testing.T) { function TestMCPGoConcurrentClientsAndPings (line 162) | func TestMCPGoConcurrentClientsAndPings(t *testing.T) { function TestMCPGoManySequentialPingsSingleClient (line 312) | func TestMCPGoManySequentialPingsSingleClient(t *testing.T) { FILE: pkg/transport/proxy/streamable/streamable_proxy_spec_test.go function startProxyWithBackend (line 22) | func startProxyWithBackend(t *testing.T, port int) (*HTTPProxy, context.... function TestGETReturns405 (line 55) | func TestGETReturns405(t *testing.T) { function TestDeleteTerminatesSession (line 78) | func TestDeleteTerminatesSession(t *testing.T) { function TestInitializeSetsSessionHeader (line 123) | func TestInitializeSetsSessionHeader(t *testing.T) { function TestPOSTNotificationOnlyAccepted (line 146) | func TestPOSTNotificationOnlyAccepted(t *testing.T) { function TestBatchOnlyNotificationsAccepted (line 175) | func TestBatchOnlyNotificationsAccepted(t *testing.T) { function TestBatchMixedNotificationsAndRequest (line 204) | func TestBatchMixedNotificationsAndRequest(t *testing.T) { function TestDeleteUnknownSessionReturnsJSONRPCError (line 241) | func TestDeleteUnknownSessionReturnsJSONRPCError(t *testing.T) { function TestBatchWithStaleSessionReturnsJSONRPCError (line 267) | func TestBatchWithStaleSessionReturnsJSONRPCError(t *testing.T) { function TestSingleRequestWithStaleSessionIncludesRequestID (line 296) | func TestSingleRequestWithStaleSessionIncludesRequestID(t *testing.T) { FILE: pkg/transport/proxy/streamable/streamable_proxy_test.go function TestNewHTTPProxy (line 22) | func TestNewHTTPProxy(t *testing.T) { function TestProxyChannelCommunication (line 35) | func TestProxyChannelCommunication(t *testing.T) { function TestSendMessageToDestination (line 73) | func TestSendMessageToDestination(t *testing.T) { function TestSendMessageToDestination_ChannelFull (line 96) | func TestSendMessageToDestination_ChannelFull(t *testing.T) { function TestStartStop (line 115) | func TestStartStop(t *testing.T) { function TestResolveRequestTimeout (line 144) | func TestResolveRequestTimeout(t *testing.T) { function TestNewHTTPProxyUsesResolvedTimeout (line 195) | func TestNewHTTPProxyUsesResolvedTimeout(t *testing.T) { function TestNewHTTPProxyDefaultTimeout (line 204) | func TestNewHTTPProxyDefaultTimeout(t *testing.T) { //nolint:paralleltest function TestNewHTTPProxyWithSessionStorage (line 210) | func TestNewHTTPProxyWithSessionStorage(t *testing.T) { FILE: pkg/transport/proxy/streamable/utils.go function isNotification (line 15) | func isNotification(msg jsonrpc2.Message) bool { function writeHTTPError (line 23) | func writeHTTPError(w http.ResponseWriter, status int, msg string) { function writeJSONRPC (line 28) | func writeJSONRPC(w http.ResponseWriter, msg jsonrpc2.Message) error { function idKeyFromID (line 40) | func idKeyFromID(id jsonrpc2.ID) string { function compositeKey (line 58) | func compositeKey(sessID, idKey string) string { function isSupportedMCPVersion (line 65) | func isSupportedMCPVersion(_ string) bool { FILE: pkg/transport/proxy/transparent/backend_recovery_test.go type stubSessionStore (line 23) | type stubSessionStore struct method Get (line 35) | func (s *stubSessionStore) Get(id string) (session.Session, bool) { method UpsertSession (line 40) | func (s *stubSessionStore) UpsertSession(sess session.Session) error { function newStubStore (line 27) | func newStubStore(sessions ...session.Session) *stubSessionStore { function newRecovery (line 46) | func newRecovery(targetURL string, store recoverySessionStore, fwd func(... function TestBackendRecoveryNoSession (line 56) | func TestBackendRecoveryNoSession(t *testing.T) { function TestBackendRecoveryUnknownSession (line 71) | func TestBackendRecoveryUnknownSession(t *testing.T) { function TestBackendRecoveryNoInitBody (line 88) | func TestBackendRecoveryNoInitBody(t *testing.T) { function TestBackendRecoveryHappyPath (line 119) | func TestBackendRecoveryHappyPath(t *testing.T) { function TestBackendRecoveryReinitForwardError (line 184) | func TestBackendRecoveryReinitForwardError(t *testing.T) { function TestBackendRecoveryNoNewSessionID (line 212) | func TestBackendRecoveryNoNewSessionID(t *testing.T) { function TestPodBackendURLWithCapturedAddr (line 249) | func TestPodBackendURLWithCapturedAddr(t *testing.T) { function TestPodBackendURLFallback (line 259) | func TestPodBackendURLFallback(t *testing.T) { function TestPodBackendURLHTTPSFallback (line 270) | func TestPodBackendURLHTTPSFallback(t *testing.T) { FILE: pkg/transport/proxy/transparent/backend_routing_test.go function startProxy (line 25) | func startProxy(t *testing.T, targetURL string) (proxy *TransparentProxy... function TestRewriteRoutesViaBackendURL (line 48) | func TestRewriteRoutesViaBackendURL(t *testing.T) { function TestRewriteFallsBackToStaticTargetWhenNoBackendURL (line 94) | func TestRewriteFallsBackToStaticTargetWhenNoBackendURL(t *testing.T) { function TestRewriteFallsBackToStaticTargetForNonAbsoluteBackendURL (line 130) | func TestRewriteFallsBackToStaticTargetForNonAbsoluteBackendURL(t *testi... function TestRoundTripReturns404ForUnknownSession (line 167) | func TestRoundTripReturns404ForUnknownSession(t *testing.T) { function TestRoundTripAllowsInitializeWithUnknownSession (line 201) | func TestRoundTripAllowsInitializeWithUnknownSession(t *testing.T) { function TestRoundTripAllowsBatchInitializeWithUnknownSession (line 233) | func TestRoundTripAllowsBatchInitializeWithUnknownSession(t *testing.T) { function TestRoundTripStoresBackendURLOnInitialize (line 264) | func TestRoundTripStoresBackendURLOnInitialize(t *testing.T) { function TestRoundTripStoresInitBodyOnInitialize (line 297) | func TestRoundTripStoresInitBodyOnInitialize(t *testing.T) { function TestRoundTripReinitializesOnBackend404 (line 331) | func TestRoundTripReinitializesOnBackend404(t *testing.T) { function TestRoundTripReinitializesPreservesNonUUIDBackendSessionID (line 398) | func TestRoundTripReinitializesPreservesNonUUIDBackendSessionID(t *testi... function TestRoundTripReinitializesAfterPriorReinit (line 478) | func TestRoundTripReinitializesAfterPriorReinit(t *testing.T) { function TestRoundTripReinitializesOnDialError (line 534) | func TestRoundTripReinitializesOnDialError(t *testing.T) { FILE: pkg/transport/proxy/transparent/delete_session_test.go function TestDeleteSessionCleanup (line 16) | func TestDeleteSessionCleanup(t *testing.T) { FILE: pkg/transport/proxy/transparent/method_gate_test.go function TestStatelessMethodGate (line 14) | func TestStatelessMethodGate(t *testing.T) { FILE: pkg/transport/proxy/transparent/pinger.go type MCPPinger (line 19) | type MCPPinger struct method Ping (line 51) | func (p *MCPPinger) Ping(ctx context.Context) (time.Duration, error) { constant DefaultPingerTimeout (line 26) | DefaultPingerTimeout = 5 * time.Second function NewMCPPinger (line 30) | func NewMCPPinger(targetURL string) healthcheck.MCPPinger { function NewMCPPingerWithTimeout (line 35) | func NewMCPPingerWithTimeout(targetURL string, timeout time.Duration) he... type StatelessMCPPinger (line 94) | type StatelessMCPPinger struct method Ping (line 119) | func (p *StatelessMCPPinger) Ping(ctx context.Context) (time.Duration,... function NewStatelessMCPPinger (line 100) | func NewStatelessMCPPinger(targetURL string) healthcheck.MCPPinger { function NewStatelessMCPPingerWithTimeout (line 105) | func NewStatelessMCPPingerWithTimeout(targetURL string, timeout time.Dur... FILE: pkg/transport/proxy/transparent/pinger_test.go function TestStatelessMCPPinger_Ping (line 19) | func TestStatelessMCPPinger_Ping(t *testing.T) { function TestStatelessMCPPinger_Ping_ConnectionRefused (line 82) | func TestStatelessMCPPinger_Ping_ConnectionRefused(t *testing.T) { function TestStatelessMCPPinger_Ping_UsesPost (line 96) | func TestStatelessMCPPinger_Ping_UsesPost(t *testing.T) { function TestStatelessMCPPinger_Ping_SendsJsonBody (line 113) | func TestStatelessMCPPinger_Ping_SendsJsonBody(t *testing.T) { function TestNewStatelessMCPPingerWithTimeout_ZeroTimeout (line 136) | func TestNewStatelessMCPPingerWithTimeout_ZeroTimeout(t *testing.T) { FILE: pkg/transport/proxy/transparent/redirect_test.go function TestRedirectFollowing (line 19) | func TestRedirectFollowing(t *testing.T) { function TestRedirectLoopStopsAtMax (line 124) | func TestRedirectLoopStopsAtMax(t *testing.T) { function TestRedirectChainMultipleHops (line 155) | func TestRedirectChainMultipleHops(t *testing.T) { function TestRedirectMissingLocationHeader (line 193) | func TestRedirectMissingLocationHeader(t *testing.T) { function TestRedirectRelativeLocation (line 217) | func TestRedirectRelativeLocation(t *testing.T) { function TestRedirectCrossHostBlocked (line 254) | func TestRedirectCrossHostBlocked(t *testing.T) { function TestNonRedirectPassesThrough (line 289) | func TestNonRedirectPassesThrough(t *testing.T) { function TestFollowRedirectsDirect (line 318) | func TestFollowRedirectsDirect(t *testing.T) { FILE: pkg/transport/proxy/transparent/remote_path_test.go function TestRemoteQueryForwarding (line 28) | func TestRemoteQueryForwarding(t *testing.T) { function TestRemotePathForwarding (line 145) | func TestRemotePathForwarding(t *testing.T) { FILE: pkg/transport/proxy/transparent/response_processor.go type ResponseProcessor (line 16) | type ResponseProcessor interface type NoOpResponseProcessor (line 27) | type NoOpResponseProcessor struct method ProcessResponse (line 30) | func (*NoOpResponseProcessor) ProcessResponse(_ *http.Response) error { method ShouldProcess (line 35) | func (*NoOpResponseProcessor) ShouldProcess(_ *http.Response) bool { function createResponseProcessor (line 41) | func createResponseProcessor( FILE: pkg/transport/proxy/transparent/session_id.go function normalizeSessionID (line 20) | func normalizeSessionID(id string) string { FILE: pkg/transport/proxy/transparent/session_id_test.go function TestNormalizeSessionID (line 13) | func TestNormalizeSessionID(t *testing.T) { FILE: pkg/transport/proxy/transparent/sse_response_processor.go type inboundRequestKey (line 26) | type inboundRequestKey struct function InboundRequestToContext (line 29) | func InboundRequestToContext(ctx context.Context, req *http.Request) con... function inboundRequestFromContext (line 35) | func inboundRequestFromContext(ctx context.Context) *http.Request { type sseRewriteConfig (line 43) | type sseRewriteConfig struct method hasRewriteConfig (line 53) | func (c sseRewriteConfig) hasRewriteConfig() bool { type SSEResponseProcessor (line 62) | type SSEResponseProcessor struct method ShouldProcess (line 82) | func (*SSEResponseProcessor) ShouldProcess(resp *http.Response) bool { method ProcessResponse (line 98) | func (s *SSEResponseProcessor) ProcessResponse(resp *http.Response) er... method getSSERewriteConfig (line 135) | func (s *SSEResponseProcessor) getSSERewriteConfig(req *http.Request) ... method processSSEStream (line 291) | func (s *SSEResponseProcessor) processSSEStream(originalBody io.Reader... function NewSSEResponseProcessor (line 69) | func NewSSEResponseProcessor( function rewriteEndpointURL (line 174) | func rewriteEndpointURL(originalURL string, config sseRewriteConfig) (st... type sseLineProcessor (line 210) | type sseLineProcessor struct method processLine (line 218) | func (s *sseLineProcessor) processLine(line string) string { method processDataLine (line 240) | func (s *sseLineProcessor) processDataLine(line string) string { method extractSessionID (line 255) | func (s *sseLineProcessor) extractSessionID(line string) { method rewriteDataLine (line 273) | func (s *sseLineProcessor) rewriteDataLine(line, dataContent string) s... FILE: pkg/transport/proxy/transparent/transparent_proxy.go type TransparentProxy (line 44) | type TransparentProxy struct method setServerInitialized (line 502) | func (p *TransparentProxy) setServerInitialized() { method serverInitialized (line 510) | func (p *TransparentProxy) serverInitialized() bool { method modifyResponse (line 983) | func (p *TransparentProxy) modifyResponse(resp *http.Response) error { method Start (line 989) | func (p *TransparentProxy) Start(ctx context.Context) error { method ListenerAddr (line 1171) | func (p *TransparentProxy) ListenerAddr() string { method CloseListener (line 1179) | func (p *TransparentProxy) CloseListener() error { method performHealthCheckRetry (line 1188) | func (p *TransparentProxy) performHealthCheckRetry(ctx context.Context... method handleHealthCheckFailure (line 1210) | func (p *TransparentProxy) handleHealthCheckFailure( method monitorHealth (line 1244) | func (p *TransparentProxy) monitorHealth(parentCtx context.Context) { method Stop (line 1290) | func (p *TransparentProxy) Stop(ctx context.Context) error { method IsRunning (line 1355) | func (p *TransparentProxy) IsRunning() (bool, error) { method GetMessageChannel (line 1368) | func (*TransparentProxy) GetMessageChannel() chan jsonrpc2.Message { method SendMessageToDestination (line 1374) | func (*TransparentProxy) SendMessageToDestination(_ jsonrpc2.Message) ... method ForwardResponseToClients (line 1380) | func (*TransparentProxy) ForwardResponseToClients(_ context.Context, _... constant DefaultHealthCheckInterval (line 143) | DefaultHealthCheckInterval = 10 * time.Second constant DefaultHealthCheckRetryDelay (line 146) | DefaultHealthCheckRetryDelay = 5 * time.Second constant defaultShutdownTimeout (line 150) | defaultShutdownTimeout = 30 * time.Second constant defaultIdleTimeout (line 154) | defaultIdleTimeout = 120 * time.Second constant HealthCheckIntervalEnvVar (line 157) | HealthCheckIntervalEnvVar = "TOOLHIVE_HEALTH_CHECK_INTERVAL" constant sessionMetadataBackendURL (line 162) | sessionMetadataBackendURL = "backend_url" constant sessionMetadataInitBody (line 167) | sessionMetadataInitBody = "init_body" constant sessionMetadataBackendSID (line 173) | sessionMetadataBackendSID = "backend_sid" constant HealthCheckPingTimeoutEnvVar (line 176) | HealthCheckPingTimeoutEnvVar = "TOOLHIVE_HEALTH_CHECK_PING_TIMEOUT" constant HealthCheckRetryDelayEnvVar (line 179) | HealthCheckRetryDelayEnvVar = "TOOLHIVE_HEALTH_CHECK_RETRY_DELAY" constant HealthCheckFailureThresholdEnvVar (line 183) | HealthCheckFailureThresholdEnvVar = "TOOLHIVE_HEALTH_CHECK_FAILURE_THRES... constant DefaultHealthCheckFailureThreshold (line 187) | DefaultHealthCheckFailureThreshold = 5 constant maxRedirects (line 193) | maxRedirects = 10 type Option (line 197) | type Option function withHealthCheckInterval (line 202) | func withHealthCheckInterval(interval time.Duration) Option { function withHealthCheckRetryDelay (line 213) | func withHealthCheckRetryDelay(delay time.Duration) Option { function WithRemoteBasePath (line 224) | func WithRemoteBasePath(basePath string) Option { function WithRemoteRawQuery (line 234) | func WithRemoteRawQuery(rawQuery string) Option { function WithStateless (line 245) | func WithStateless() Option { function withHealthCheckPingTimeout (line 254) | func withHealthCheckPingTimeout(timeout time.Duration) Option { function withHealthCheckFailureThreshold (line 265) | func withHealthCheckFailureThreshold(threshold int) Option { function withShutdownTimeout (line 276) | func withShutdownTimeout(timeout time.Duration) Option { function WithSessionStorage (line 288) | func WithSessionStorage(storage session.Storage) Option { function NewTransparentProxy (line 308) | func NewTransparentProxy( function getHealthCheckInterval (line 345) | func getHealthCheckInterval() time.Duration { function getHealthCheckPingTimeout (line 360) | func getHealthCheckPingTimeout() time.Duration { function getHealthCheckRetryDelay (line 375) | func getHealthCheckRetryDelay() time.Duration { function getHealthCheckFailureThreshold (line 390) | func getHealthCheckFailureThreshold() int { function NewTransparentProxyWithOptions (line 403) | func NewTransparentProxyWithOptions( type recoverySessionStore (line 471) | type recoverySessionStore interface type backendRecovery (line 480) | type backendRecovery struct method podBackendURL (line 743) | func (r *backendRecovery) podBackendURL(capturedAddr string) string { method reinitializeAndReplay (line 868) | func (r *backendRecovery) reinitializeAndReplay(req *http.Request, ori... type tracingTransport (line 486) | type tracingTransport struct method RoundTrip (line 515) | func (t *tracingTransport) RoundTrip(req *http.Request) (*http.Respons... method detectInitialize (line 706) | func (t *tracingTransport) detectInitialize(body []byte) bool { function newTracingTransport (line 491) | func newTracingTransport(base http.RoundTripper, p *TransparentProxy) *t... function readRequestBody (line 692) | func readRequestBody(req *http.Request) []byte { function isDialError (line 760) | func isDialError(err error) bool { function followRedirects (line 770) | func followRedirects( function isRedirectStatus (line 845) | func isRedirectStatus(code int) bool { function statelessMethodGate (line 1388) | func statelessMethodGate(next http.Handler) http.Handler { FILE: pkg/transport/proxy/transparent/transparent_test.go function TestStreamingSessionIDDetection (line 30) | func TestStreamingSessionIDDetection(t *testing.T) { function createBasicProxy (line 73) | func createBasicProxy(p *TransparentProxy, targetURL *url.URL) *httputil... function TestNoSessionIDInNonSSE (line 86) | func TestNoSessionIDInNonSSE(t *testing.T) { function TestHeaderBasedSessionInitialization (line 112) | func TestHeaderBasedSessionInitialization(t *testing.T) { function TestTracePropagationHeaders (line 138) | func TestTracePropagationHeaders(t *testing.T) { function TestWellKnownPathPrefixMatching (line 203) | func TestWellKnownPathPrefixMatching(t *testing.T) { function TestWellKnownPathWithoutAuthHandler (line 330) | func TestWellKnownPathWithoutAuthHandler(t *testing.T) { function TestTransparentProxy_IdempotentStop (line 356) | func TestTransparentProxy_IdempotentStop(t *testing.T) { function TestTransparentProxy_StopWithoutStart (line 384) | func TestTransparentProxy_StopWithoutStart(t *testing.T) { function TestTransparentProxy_UnauthorizedResponseCallback (line 400) | func TestTransparentProxy_UnauthorizedResponseCallback(t *testing.T) { function TestTransparentProxy_UnauthorizedResponseCallback_Multiple401s (line 449) | func TestTransparentProxy_UnauthorizedResponseCallback_Multiple401s(t *t... function TestTransparentProxy_NoUnauthorizedCallbackOnSuccess (line 494) | func TestTransparentProxy_NoUnauthorizedCallbackOnSuccess(t *testing.T) { function TestTransparentProxy_NilUnauthorizedCallback (line 539) | func TestTransparentProxy_NilUnauthorizedCallback(t *testing.T) { function TestHealthCheckRetryConstants (line 571) | func TestHealthCheckRetryConstants(t *testing.T) { function TestGetHealthCheckInterval (line 583) | func TestGetHealthCheckInterval(t *testing.T) { function TestGetHealthCheckPingTimeout (line 605) | func TestGetHealthCheckPingTimeout(t *testing.T) { function TestGetHealthCheckRetryDelay (line 627) | func TestGetHealthCheckRetryDelay(t *testing.T) { function TestGetHealthCheckFailureThreshold (line 649) | func TestGetHealthCheckFailureThreshold(t *testing.T) { function TestNewTransparentProxyUsesEnvVars (line 672) | func TestNewTransparentProxyUsesEnvVars(t *testing.T) { function TestNewTransparentProxyDefaultValues (line 686) | func TestNewTransparentProxyDefaultValues(t *testing.T) { function TestWithHealthCheckFailureThresholdOption (line 700) | func TestWithHealthCheckFailureThresholdOption(t *testing.T) { function TestWithHealthCheckFailureThresholdOption_IgnoresNonPositive (line 708) | func TestWithHealthCheckFailureThresholdOption_IgnoresNonPositive(t *tes... function TestRewriteEndpointURL (line 717) | func TestRewriteEndpointURL(t *testing.T) { function TestGetSSERewriteConfig (line 832) | func TestGetSSERewriteConfig(t *testing.T) { function TestSSEEndpointRewriting (line 961) | func TestSSEEndpointRewriting(t *testing.T) { function TestSSEEndpointRewritingWithExplicitPrefix (line 1011) | func TestSSEEndpointRewritingWithExplicitPrefix(t *testing.T) { function TestSSEMessageEventNotRewritten (line 1053) | func TestSSEMessageEventNotRewritten(t *testing.T) { type callbackTracker (line 1105) | type callbackTracker struct method isInvoked (line 1148) | func (ct *callbackTracker) isInvoked() bool { function newMinimalProxy (line 1113) | func newMinimalProxy(options ...Option) *TransparentProxy { function newCallbackTracker (line 1133) | func newCallbackTracker() (*callbackTracker, func()) { function waitForShutdown (line 1156) | func waitForShutdown(t *testing.T, tracker *callbackTracker, proxy *Tran... function setupRemoteProxyTest (line 1182) | func setupRemoteProxyTest(t *testing.T, serverURL string, callback types... function setupRemoteProxyTestWithTimeout (line 1188) | func setupRemoteProxyTestWithTimeout(t *testing.T, serverURL string, cal... function TestTransparentProxy_RemoteServerFailure_ConnectionRefused (line 1222) | func TestTransparentProxy_RemoteServerFailure_ConnectionRefused(t *testi... function TestTransparentProxy_RemoteServerFailure_Timeout (line 1257) | func TestTransparentProxy_RemoteServerFailure_Timeout(t *testing.T) { function TestTransparentProxy_RemoteServerFailure_BecomesUnavailable (line 1306) | func TestTransparentProxy_RemoteServerFailure_BecomesUnavailable(t *test... function TestTransparentProxy_RemoteServerStatusCodes (line 1342) | func TestTransparentProxy_RemoteServerStatusCodes(t *testing.T) { function TestTransparentProxy_HealthCheckNotRunBeforeInitialization (line 1442) | func TestTransparentProxy_HealthCheckNotRunBeforeInitialization(t *testi... function TestTransparentProxy_HealthCheckFailureWithNilCallback (line 1470) | func TestTransparentProxy_HealthCheckFailureWithNilCallback(t *testing.T) { function TestPrefixHandlers_MountingAndRouting (line 1496) | func TestPrefixHandlers_MountingAndRouting(t *testing.T) { function TestPrefixHandlers_NilMapDoesNotPanic (line 1652) | func TestPrefixHandlers_NilMapDoesNotPanic(t *testing.T) { function TestPrefixHandlers_EmptyMapWorks (line 1696) | func TestPrefixHandlers_EmptyMapWorks(t *testing.T) { function TestPrefixHandlers_LongestMatchRouting (line 1741) | func TestPrefixHandlers_LongestMatchRouting(t *testing.T) { function TestPrefixHandlers_WellKnownNamespaceCoexistence (line 1821) | func TestPrefixHandlers_WellKnownNamespaceCoexistence(t *testing.T) { function TestTransparentProxy_IsRunningDoesNotBlockDuringStop (line 1927) | func TestTransparentProxy_IsRunningDoesNotBlockDuringStop(t *testing.T) { function TestTransparentProxy_StopForcesCloseAfterTimeout (line 2002) | func TestTransparentProxy_StopForcesCloseAfterTimeout(t *testing.T) { function TestTransparentProxy_ServerHasIdleTimeout (line 2064) | func TestTransparentProxy_ServerHasIdleTimeout(t *testing.T) { function TestWithSessionStorage (line 2084) | func TestWithSessionStorage(t *testing.T) { FILE: pkg/transport/session/jsonrpc_errors.go constant CodeSessionNotFound (line 19) | CodeSessionNotFound int64 = -32001 constant MessageSessionNotFound (line 22) | MessageSessionNotFound = "Session not found" function NotFoundBody (line 29) | func NotFoundBody(requestID any) []byte { function WriteNotFound (line 50) | func WriteNotFound(w http.ResponseWriter, requestID any) { function NotFoundResponse (line 60) | func NotFoundResponse(req *http.Request) *http.Response { FILE: pkg/transport/session/jsonrpc_errors_test.go function TestNotFoundBody (line 17) | func TestNotFoundBody(t *testing.T) { function TestWriteNotFound (line 72) | func TestWriteNotFound(t *testing.T) { function TestNotFoundResponse (line 84) | func TestNotFoundResponse(t *testing.T) { FILE: pkg/transport/session/manager.go constant defaultOperationTimeout (line 18) | defaultOperationTimeout = 5 * time.Second constant cleanupOperationTimeout (line 20) | cleanupOperationTimeout = 30 * time.Second type Session (line 24) | type Session interface type Manager (line 39) | type Manager struct method cleanupRoutine (line 133) | func (m *Manager) cleanupRoutine() { method AddWithID (line 165) | func (m *Manager) AddWithID(id string) error { method AddSession (line 184) | func (m *Manager) AddSession(session Session) error { method Get (line 205) | func (m *Manager) Get(id string) (Session, bool) { method GetWithError (line 221) | func (m *Manager) GetWithError(id string) (Session, error) { method UpsertSession (line 230) | func (m *Manager) UpsertSession(session Session) error { method Delete (line 244) | func (m *Manager) Delete(id string) error { method Stop (line 255) | func (m *Manager) Stop() error { method Count (line 272) | func (m *Manager) Count() int { method cleanupExpiredOnce (line 279) | func (m *Manager) cleanupExpiredOnce() error { type Factory (line 48) | type Factory type LegacyFactory (line 51) | type LegacyFactory function NewManager (line 55) | func NewManager(ttl time.Duration, factory interface{}) *Manager { function NewTypedManager (line 89) | func NewTypedManager(ttl time.Duration, sessionType SessionType) *Manager { function NewManagerWithStorage (line 107) | func NewManagerWithStorage(ttl time.Duration, factory Factory, storage S... function NewManagerWithRedis (line 125) | func NewManagerWithRedis(ctx context.Context, ttl time.Duration, factory... function validateSessionID (line 153) | func validateSessionID(id string) error { FILE: pkg/transport/session/manager_redis_test.go function proxyFactory (line 16) | func proxyFactory(id string) Session { return NewProxySession(id) } function TestNewManagerWithRedis (line 18) | func TestNewManagerWithRedis(t *testing.T) { function TestNewManagerUsesLocalStorage (line 99) | func TestNewManagerUsesLocalStorage(t *testing.T) { function TestNewTypedManagerUsesLocalStorage (line 109) | func TestNewTypedManagerUsesLocalStorage(t *testing.T) { FILE: pkg/transport/session/manager_test.go constant uuidFoo (line 16) | uuidFoo = "11111111-1111-1111-1111-111111111111" constant uuidDup (line 17) | uuidDup = "22222222-2222-2222-2222-222222222222" constant uuidDel (line 18) | uuidDel = "33333333-3333-3333-3333-333333333333" constant uuidTouchme (line 19) | uuidTouchme = "44444444-4444-4444-4444-444444444444" constant uuidOld (line 20) | uuidOld = "55555555-5555-5555-5555-555555555555" constant uuidNew (line 21) | uuidNew = "66666666-6666-6666-6666-666666666666" constant uuidStay (line 22) | uuidStay = "77777777-7777-7777-7777-777777777777" constant uuidBrandNew (line 23) | uuidBrandNew = "88888888-8888-8888-8888-888888888888" constant uuidReplaceMe (line 24) | uuidReplaceMe = "99999999-9999-9999-9999-999999999999" type stubFactory (line 28) | type stubFactory struct method New (line 34) | func (f *stubFactory) New(id string) *ProxySession { function TestAddAndGetWithStubSession (line 45) | func TestAddAndGetWithStubSession(t *testing.T) { function TestInvalidSessionID (line 61) | func TestInvalidSessionID(t *testing.T) { function TestAddDuplicate (line 96) | func TestAddDuplicate(t *testing.T) { function TestDeleteSession (line 110) | func TestDeleteSession(t *testing.T) { function TestGetPreventsEviction (line 124) | func TestGetPreventsEviction(t *testing.T) { function TestCleanupExpired_ManualTrigger (line 154) | func TestCleanupExpired_ManualTrigger(t *testing.T) { function TestStopDisablesCleanup (line 181) | func TestStopDisablesCleanup(t *testing.T) { function TestUpsertSession_NilSessionReturnsError (line 196) | func TestUpsertSession_NilSessionReturnsError(t *testing.T) { function TestUpsertSession_EmptyIDReturnsError (line 208) | func TestUpsertSession_EmptyIDReturnsError(t *testing.T) { function TestUpsertSession_UpsertNewSession (line 222) | func TestUpsertSession_UpsertNewSession(t *testing.T) { function TestUpsertSession_ReplacesExistingSession (line 239) | func TestUpsertSession_ReplacesExistingSession(t *testing.T) { FILE: pkg/transport/session/proxy_session.go type SessionType (line 14) | type SessionType constant SessionTypeMCP (line 18) | SessionTypeMCP SessionType = "mcp" constant SessionTypeSSE (line 20) | SessionTypeSSE SessionType = "sse" constant SessionTypeStreamable (line 22) | SessionTypeStreamable SessionType = "streamable" constant DefaultSessionTTL (line 27) | DefaultSessionTTL = 2 * time.Hour type ProxySession (line 32) | type ProxySession struct method ID (line 68) | func (s *ProxySession) ID() string { return s.id } method CreatedAt (line 71) | func (s *ProxySession) CreatedAt() time.Time { return s.created } method UpdatedAt (line 74) | func (s *ProxySession) UpdatedAt() time.Time { method Touch (line 81) | func (s *ProxySession) Touch() { method Type (line 88) | func (s *ProxySession) Type() SessionType { return s.sessType } method GetData (line 91) | func (s *ProxySession) GetData() interface{} { method SetData (line 98) | func (s *ProxySession) SetData(data interface{}) { method GetMetadata (line 105) | func (s *ProxySession) GetMetadata() map[string]string { method SetMetadata (line 117) | func (s *ProxySession) SetMetadata(key, value string) { method GetMetadataValue (line 127) | func (s *ProxySession) GetMetadataValue(key string) (string, bool) { method DeleteMetadata (line 135) | func (s *ProxySession) DeleteMetadata(key string) { method setTimestamps (line 143) | func (s *ProxySession) setTimestamps(created, updated time.Time) { method setMetadataMap (line 152) | func (s *ProxySession) setMetadataMap(metadata map[string]string) { function NewProxySession (line 44) | func NewProxySession(id string) *ProxySession { function NewTypedProxySession (line 56) | func NewTypedProxySession(id string, sessType SessionType) *ProxySession { FILE: pkg/transport/session/redis_config.go constant RedisPasswordEnvVar (line 12) | RedisPasswordEnvVar = "THV_SESSION_REDIS_PASSWORD" constant DefaultDialTimeout (line 16) | DefaultDialTimeout = 5 * time.Second constant DefaultReadTimeout (line 17) | DefaultReadTimeout = 3 * time.Second constant DefaultWriteTimeout (line 18) | DefaultWriteTimeout = 3 * time.Second type RedisConfig (line 23) | type RedisConfig struct type SentinelConfig (line 59) | type SentinelConfig struct type RedisTLSConfig (line 66) | type RedisTLSConfig struct FILE: pkg/transport/session/serialization.go type sessionData (line 14) | type sessionData struct function serializeSession (line 24) | func serializeSession(s Session) ([]byte, error) { function deserializeSession (line 51) | func deserializeSession(data []byte) (Session, error) { FILE: pkg/transport/session/serialization_test.go function TestSerialization (line 16) | func TestSerialization(t *testing.T) { FILE: pkg/transport/session/session_data_storage.go type DataStorage (line 42) | type DataStorage interface function NewLocalSessionDataStorage (line 70) | func NewLocalSessionDataStorage(ttl time.Duration) (*LocalSessionDataSto... FILE: pkg/transport/session/session_data_storage_local.go type localDataEntry (line 17) | type localDataEntry struct method lastAccess (line 28) | func (e *localDataEntry) lastAccess() time.Time { function newLocalDataEntry (line 22) | func newLocalDataEntry(metadata map[string]string) *localDataEntry { type LocalSessionDataStorage (line 37) | type LocalSessionDataStorage struct method Load (line 47) | func (s *LocalSessionDataStorage) Load(_ context.Context, id string) (... method Create (line 65) | func (s *LocalSessionDataStorage) Create(_ context.Context, id string,... method Update (line 83) | func (s *LocalSessionDataStorage) Update(_ context.Context, id string,... method Delete (line 100) | func (s *LocalSessionDataStorage) Delete(_ context.Context, id string)... method Close (line 111) | func (s *LocalSessionDataStorage) Close() error { method cleanupRoutine (line 125) | func (s *LocalSessionDataStorage) cleanupRoutine() { method deleteExpired (line 145) | func (s *LocalSessionDataStorage) deleteExpired() { constant minCleanupInterval (line 123) | minCleanupInterval = time.Millisecond FILE: pkg/transport/session/session_data_storage_redis.go type RedisSessionDataStorage (line 24) | type RedisSessionDataStorage struct method key (line 51) | func (s *RedisSessionDataStorage) key(id string) string { method Load (line 57) | func (s *RedisSessionDataStorage) Load(ctx context.Context, id string)... method Update (line 79) | func (s *RedisSessionDataStorage) Update(ctx context.Context, id strin... method Create (line 111) | func (s *RedisSessionDataStorage) Create(ctx context.Context, id strin... method Delete (line 130) | func (s *RedisSessionDataStorage) Delete(ctx context.Context, id strin... method Close (line 141) | func (s *RedisSessionDataStorage) Close() error { function NewRedisSessionDataStorage (line 33) | func NewRedisSessionDataStorage(ctx context.Context, cfg RedisConfig, tt... FILE: pkg/transport/session/session_data_storage_test.go function runDataStorageTests (line 25) | func runDataStorageTests(t *testing.T, newStorage func(t *testing.T) Dat... function TestLocalSessionDataStorage (line 255) | func TestLocalSessionDataStorage(t *testing.T) { function backdateLocalEntry (line 312) | func backdateLocalEntry(t *testing.T, s *LocalSessionDataStorage, id str... function newTestRedisDataStorage (line 325) | func newTestRedisDataStorage(t *testing.T) (*RedisSessionDataStorage, *m... function TestRedisSessionDataStorage (line 338) | func TestRedisSessionDataStorage(t *testing.T) { FILE: pkg/transport/session/sse_session.go type SSESession (line 14) | type SSESession struct method Disconnect (line 43) | func (s *SSESession) Disconnect() { method SendMessage (line 56) | func (s *SSESession) SendMessage(msg string) error { method GetClientInfo (line 73) | func (s *SSESession) GetClientInfo() *ssecommon.SSEClient { method SetClientInfo (line 80) | func (s *SSESession) SetClientInfo(client *ssecommon.SSEClient) { method GetConnectionStatus (line 90) | func (s *SSESession) GetConnectionStatus() bool { method GetCreatedAt (line 98) | func (s *SSESession) GetCreatedAt() time.Time { function NewSSESession (line 24) | func NewSSESession(id string) *SSESession { function NewSSESessionWithClient (line 33) | func NewSSESessionWithClient(id string, client *ssecommon.SSEClient) *SS... FILE: pkg/transport/session/storage.go type Storage (line 15) | type Storage interface FILE: pkg/transport/session/storage_local.go type localEntry (line 20) | type localEntry struct method lastAccess (line 31) | func (e *localEntry) lastAccess() time.Time { function newLocalEntry (line 25) | func newLocalEntry(session Session) *localEntry { type LocalStorage (line 37) | type LocalStorage struct method Store (line 48) | func (s *LocalStorage) Store(_ context.Context, session Session) error { method Load (line 63) | func (s *LocalStorage) Load(_ context.Context, id string) (Session, er... method Delete (line 94) | func (s *LocalStorage) Delete(_ context.Context, id string) error { method DeleteExpired (line 104) | func (s *LocalStorage) DeleteExpired(ctx context.Context, before time.... method Close (line 166) | func (s *LocalStorage) Close() error { method Count (line 182) | func (s *LocalStorage) Count() int { method Range (line 193) | func (s *LocalStorage) Range(f func(key, value interface{}) bool) { function NewLocalStorage (line 42) | func NewLocalStorage() *LocalStorage { FILE: pkg/transport/session/storage_redis.go type RedisStorage (line 18) | type RedisStorage struct method key (line 152) | func (s *RedisStorage) key(id string) string { method Store (line 157) | func (s *RedisStorage) Store(ctx context.Context, session Session) err... method Load (line 183) | func (s *RedisStorage) Load(ctx context.Context, id string) (Session, ... method Delete (line 205) | func (s *RedisStorage) Delete(ctx context.Context, id string) error { method DeleteExpired (line 218) | func (*RedisStorage) DeleteExpired(_ context.Context, _ time.Time) err... method Close (line 223) | func (s *RedisStorage) Close() error { function validateRedisConfig (line 24) | func validateRedisConfig(cfg *RedisConfig) error { function NewRedisStorage (line 52) | func NewRedisStorage(ctx context.Context, cfg RedisConfig, ttl time.Dura... function buildRedisClient (line 73) | func buildRedisClient(ctx context.Context, cfg *RedisConfig) (redis.Univ... function newRedisStorageWithClient (line 125) | func newRedisStorageWithClient(client redis.UniversalClient, keyPrefix s... function buildRedisTLSConfig (line 134) | func buildRedisTLSConfig(cfg *RedisTLSConfig) (*tls.Config, error) { FILE: pkg/transport/session/storage_redis_test.go function newTestRedisStorage (line 23) | func newTestRedisStorage(t *testing.T) (*RedisStorage, *miniredis.Minire... function withRedisStorage (line 35) | func withRedisStorage(t *testing.T, fn func(context.Context, *RedisStora... function TestValidateRedisConfig (line 48) | func TestValidateRedisConfig(t *testing.T) { function TestNewRedisStorageACLAuth (line 110) | func TestNewRedisStorageACLAuth(t *testing.T) { function TestNewRedisStorageTTLValidation (line 153) | func TestNewRedisStorageTTLValidation(t *testing.T) { constant rtID (line 171) | rtID = "aaaaaaaa-0001-0001-0001-000000000001" constant deleteID (line 172) | deleteID = "aaaaaaaa-0002-0001-0001-000000000002" constant notFoundID (line 173) | notFoundID = "aaaaaaaa-0003-0001-0001-000000000003" constant noOpID (line 174) | noOpID = "aaaaaaaa-0004-0001-0001-000000000004" constant ttlID (line 175) | ttlID = "aaaaaaaa-0005-0001-0001-000000000005" constant loadRefreshID (line 176) | loadRefreshID = "aaaaaaaa-0006-0001-0001-000000000006" constant expiringID (line 177) | expiringID = "aaaaaaaa-0007-0001-0001-000000000007" constant upsertID (line 178) | upsertID = "aaaaaaaa-0008-0001-0001-000000000008" constant keyFormatID (line 179) | keyFormatID = "aaaaaaaa-0009-0001-0001-000000000009" constant beforeCloseID (line 180) | beforeCloseID = "aaaaaaaa-000a-0001-0001-00000000000a" constant sseRtID (line 181) | sseRtID = "aaaaaaaa-000b-0001-0001-00000000000b" constant streamRtID (line 182) | streamRtID = "aaaaaaaa-000c-0001-0001-00000000000c" constant mcpRtID (line 183) | mcpRtID = "aaaaaaaa-000d-0001-0001-00000000000d" constant deleteNonExist (line 184) | deleteNonExist = "aaaaaaaa-000e-0001-0001-00000000000e" function TestRedisStorage (line 189) | func TestRedisStorage(t *testing.T) { FILE: pkg/transport/session/storage_test.go function storeAged (line 20) | func storeAged(storage *LocalStorage, session Session) { type mockClosableSession (line 27) | type mockClosableSession struct method Close (line 39) | func (m *mockClosableSession) Close() error { function newMockClosableSession (line 33) | func newMockClosableSession(id string) *mockClosableSession { function TestLocalStorage (line 45) | func TestLocalStorage(t *testing.T) { function TestManagerWithStorage (line 537) | func TestManagerWithStorage(t *testing.T) { function TestSessionTypes (line 692) | func TestSessionTypes(t *testing.T) { FILE: pkg/transport/session/streamable_session.go type StreamableSession (line 7) | type StreamableSession struct method Type (line 20) | func (*StreamableSession) Type() SessionType { method GetData (line 25) | func (*StreamableSession) GetData() interface{} { method SetData (line 30) | func (*StreamableSession) SetData(interface{}) {} method Disconnect (line 33) | func (s *StreamableSession) Disconnect() { function NewStreamableSession (line 13) | func NewStreamableSession(id string) Session { FILE: pkg/transport/ssecommon/sse_common.go constant HTTPSSEEndpoint (line 16) | HTTPSSEEndpoint = "/sse" constant HTTPMessagesEndpoint (line 18) | HTTPMessagesEndpoint = "/messages" type SSEMessage (line 22) | type SSEMessage struct method WithTargetClientID (line 43) | func (m *SSEMessage) WithTargetClientID(clientID string) *SSEMessage { method ToSSEString (line 49) | func (m *SSEMessage) ToSSEString() string { function NewSSEMessage (line 34) | func NewSSEMessage(eventType, data string) *SSEMessage { type PendingSSEMessage (line 67) | type PendingSSEMessage struct function NewPendingSSEMessage (line 75) | func NewPendingSSEMessage(message *SSEMessage) *PendingSSEMessage { type SSEClient (line 83) | type SSEClient struct FILE: pkg/transport/ssecommon/sse_common_test.go function TestNewSSEMessage (line 16) | func TestNewSSEMessage(t *testing.T) { function TestSSEMessage_WithTargetClientID (line 31) | func TestSSEMessage_WithTargetClientID(t *testing.T) { function TestSSEMessage_ToSSEString (line 44) | func TestSSEMessage_ToSSEString(t *testing.T) { function TestSSEMessage_ToSSEString_Integration (line 137) | func TestSSEMessage_ToSSEString_Integration(t *testing.T) { function TestNewPendingSSEMessage (line 157) | func TestNewPendingSSEMessage(t *testing.T) { function TestPendingSSEMessage_CreatedAtIndependence (line 169) | func TestPendingSSEMessage_CreatedAtIndependence(t *testing.T) { function TestSSEClient_Structure (line 189) | func TestSSEClient_Structure(t *testing.T) { function TestSSEMessage_EdgeCases (line 214) | func TestSSEMessage_EdgeCases(t *testing.T) { FILE: pkg/transport/stdio.go constant defaultMaxRetries (line 40) | defaultMaxRetries = 10 constant defaultInitialRetryDelay (line 44) | defaultInitialRetryDelay = 2 * time.Second constant defaultMaxRetryDelay (line 48) | defaultMaxRetryDelay = 30 * time.Second constant shutdownTimeout (line 51) | shutdownTimeout = 30 * time.Second type StdioTransport (line 56) | type StdioTransport struct method SetProxyMode (line 134) | func (t *StdioTransport) SetProxyMode(mode types.ProxyMode) { method SetSessionStorage (line 141) | func (t *StdioTransport) SetSessionStorage(storage session.Storage) { method Mode (line 146) | func (*StdioTransport) Mode() types.TransportType { method ProxyPort (line 151) | func (t *StdioTransport) ProxyPort() int { method setContainerName (line 157) | func (t *StdioTransport) setContainerName(containerName string) { method setTargetURI (line 166) | func (*StdioTransport) setTargetURI(_ string) { method Start (line 172) | func (t *StdioTransport) Start(ctx context.Context) error { method Stop (line 247) | func (t *StdioTransport) Stop(ctx context.Context) error { method IsRunning (line 313) | func (t *StdioTransport) IsRunning() (bool, error) { method SetRemoteURL (line 328) | func (*StdioTransport) SetRemoteURL(_ string) { method SetTokenSource (line 334) | func (*StdioTransport) SetTokenSource(_ oauth2.TokenSource) { method SetOnHealthCheckFailed (line 340) | func (*StdioTransport) SetOnHealthCheckFailed(_ types.HealthCheckFaile... method SetOnUnauthorizedResponse (line 346) | func (*StdioTransport) SetOnUnauthorizedResponse(_ types.UnauthorizedR... method processMessages (line 377) | func (t *StdioTransport) processMessages(ctx context.Context, _ io.Wri... method attemptReattachment (line 417) | func (t *StdioTransport) attemptReattachment(ctx context.Context, stdo... method processStdout (line 515) | func (t *StdioTransport) processStdout(ctx context.Context, stdout io.... method processBuffer (line 557) | func (t *StdioTransport) processBuffer(ctx context.Context, buffer *by... method parseAndForwardJSONRPC (line 623) | func (t *StdioTransport) parseAndForwardJSONRPC(ctx context.Context, l... method sendMessageToContainer (line 653) | func (*StdioTransport) sendMessageToContainer(_ context.Context, stdin... method handleContainerExit (line 674) | func (t *StdioTransport) handleContainerExit(ctx context.Context) { method ShouldRestart (line 728) | func (t *StdioTransport) ShouldRestart() bool { type retryConfig (line 94) | type retryConfig struct function defaultRetryConfig (line 101) | func defaultRetryConfig() *retryConfig { function NewStdioTransport (line 110) | func NewStdioTransport( function isDockerSocketError (line 351) | func isDockerSocketError(err error) bool { function sanitizeJSONString (line 578) | func sanitizeJSONString(input string) string { function sanitizeBinaryString (line 583) | func sanitizeBinaryString(input string) string { function isSpace (line 618) | func isSpace(r rune) bool { FILE: pkg/transport/stdio_test.go type MockHTTPProxy (line 27) | type MockHTTPProxy struct method Start (line 31) | func (m *MockHTTPProxy) Start(ctx context.Context) error { method Stop (line 36) | func (m *MockHTTPProxy) Stop(ctx context.Context) error { method GetMessageChannel (line 41) | func (m *MockHTTPProxy) GetMessageChannel() chan jsonrpc2.Message { method ForwardResponseToClients (line 46) | func (m *MockHTTPProxy) ForwardResponseToClients(ctx context.Context, ... method SendMessageToDestination (line 51) | func (m *MockHTTPProxy) SendMessageToDestination(msg jsonrpc2.Message)... method IsRunning (line 56) | func (m *MockHTTPProxy) IsRunning() (bool, error) { function TestSanitizeJSONString (line 61) | func TestSanitizeJSONString(t *testing.T) { function TestParseAndForwardJSONRPC (line 117) | func TestParseAndForwardJSONRPC(t *testing.T) { function TestIsSpace (line 181) | func TestIsSpace(t *testing.T) { type mockReadCloser (line 235) | type mockReadCloser struct method Read (line 259) | func (m *mockReadCloser) Read(p []byte) (n int, err error) { method Close (line 289) | func (m *mockReadCloser) Close() error { function newMockReadCloser (line 245) | func newMockReadCloser(data string) *mockReadCloser { function newMockReadCloserWithEOF (line 252) | func newMockReadCloserWithEOF(data string) *mockReadCloser { type mockWriteCloser (line 297) | type mockWriteCloser struct method Write (line 307) | func (m *mockWriteCloser) Write(p []byte) (n int, err error) { method Close (line 316) | func (m *mockWriteCloser) Close() error { function newMockWriteCloser (line 303) | func newMockWriteCloser() *mockWriteCloser { function testRetryConfig (line 324) | func testRetryConfig() *retryConfig { function TestProcessStdout_EOFWithSuccessfulReattachment (line 332) | func TestProcessStdout_EOFWithSuccessfulReattachment(t *testing.T) { function TestProcessStdout_EOFWithDockerUnavailable (line 398) | func TestProcessStdout_EOFWithDockerUnavailable(t *testing.T) { function TestProcessStdout_EOFWithContainerNotRunning (line 476) | func TestProcessStdout_EOFWithContainerNotRunning(t *testing.T) { function TestProcessStdout_EOFWithFailedReattachment (line 527) | func TestProcessStdout_EOFWithFailedReattachment(t *testing.T) { function TestProcessStdout_EOFWithReattachmentRetryLogic (line 602) | func TestProcessStdout_EOFWithReattachmentRetryLogic(t *testing.T) { function TestProcessStdout_EOFCheckErrorTypes (line 685) | func TestProcessStdout_EOFCheckErrorTypes(t *testing.T) { function TestConcurrentReattachment (line 779) | func TestConcurrentReattachment(t *testing.T) { function TestStdinRaceCondition (line 892) | func TestStdinRaceCondition(t *testing.T) { function TestStdioTransport_ShouldRestart (line 1000) | func TestStdioTransport_ShouldRestart(t *testing.T) { FILE: pkg/transport/streamable/streamable.go constant HTTPStreamableHTTPEndpoint (line 10) | HTTPStreamableHTTPEndpoint = "mcp" FILE: pkg/transport/tunnel/ngrok/tunnel_provider.go type TunnelProvider (line 20) | type TunnelProvider struct method ParseConfig (line 56) | func (p *TunnelProvider) ParseConfig(raw map[string]any) error { method StartTunnel (line 91) | func (p *TunnelProvider) StartTunnel(ctx context.Context, name, target... type TunnelConfig (line 25) | type TunnelConfig struct function loadTrafficPolicyFile (line 35) | func loadTrafficPolicyFile(path string) (string, error) { FILE: pkg/transport/types/mocks/mock_transport.go type MockMiddleware (line 26) | type MockMiddleware struct method EXPECT (line 45) | func (m *MockMiddleware) EXPECT() *MockMiddlewareMockRecorder { method Close (line 50) | func (m *MockMiddleware) Close() error { method Handler (line 64) | func (m *MockMiddleware) Handler() types.MiddlewareFunction { type MockMiddlewareMockRecorder (line 33) | type MockMiddlewareMockRecorder struct method Close (line 58) | func (mr *MockMiddlewareMockRecorder) Close() *gomock.Call { method Handler (line 72) | func (mr *MockMiddlewareMockRecorder) Handler() *gomock.Call { function NewMockMiddleware (line 38) | func NewMockMiddleware(ctrl *gomock.Controller) *MockMiddleware { type MockMiddlewareRunner (line 78) | type MockMiddlewareRunner struct method EXPECT (line 97) | func (m *MockMiddlewareRunner) EXPECT() *MockMiddlewareRunnerMockRecor... method AddMiddleware (line 102) | func (m *MockMiddlewareRunner) AddMiddleware(name string, middleware t... method GetConfig (line 114) | func (m *MockMiddlewareRunner) GetConfig() types.RunnerConfig { method GetKeyProvider (line 128) | func (m *MockMiddlewareRunner) GetKeyProvider() keys.PublicKeyProvider { method GetUpstreamTokenReader (line 142) | func (m *MockMiddlewareRunner) GetUpstreamTokenReader() upstreamtoken.... method SetAuthInfoHandler (line 156) | func (m *MockMiddlewareRunner) SetAuthInfoHandler(handler http.Handler) { method SetPrometheusHandler (line 168) | func (m *MockMiddlewareRunner) SetPrometheusHandler(handler http.Handl... type MockMiddlewareRunnerMockRecorder (line 85) | type MockMiddlewareRunnerMockRecorder struct method AddMiddleware (line 108) | func (mr *MockMiddlewareRunnerMockRecorder) AddMiddleware(name, middle... method GetConfig (line 122) | func (mr *MockMiddlewareRunnerMockRecorder) GetConfig() *gomock.Call { method GetKeyProvider (line 136) | func (mr *MockMiddlewareRunnerMockRecorder) GetKeyProvider() *gomock.C... method GetUpstreamTokenReader (line 150) | func (mr *MockMiddlewareRunnerMockRecorder) GetUpstreamTokenReader() *... method SetAuthInfoHandler (line 162) | func (mr *MockMiddlewareRunnerMockRecorder) SetAuthInfoHandler(handler... method SetPrometheusHandler (line 174) | func (mr *MockMiddlewareRunnerMockRecorder) SetPrometheusHandler(handl... function NewMockMiddlewareRunner (line 90) | func NewMockMiddlewareRunner(ctrl *gomock.Controller) *MockMiddlewareRun... type MockRunnerConfig (line 180) | type MockRunnerConfig struct method EXPECT (line 199) | func (m *MockRunnerConfig) EXPECT() *MockRunnerConfigMockRecorder { method GetName (line 204) | func (m *MockRunnerConfig) GetName() string { method GetPort (line 218) | func (m *MockRunnerConfig) GetPort() int { type MockRunnerConfigMockRecorder (line 187) | type MockRunnerConfigMockRecorder struct method GetName (line 212) | func (mr *MockRunnerConfigMockRecorder) GetName() *gomock.Call { method GetPort (line 226) | func (mr *MockRunnerConfigMockRecorder) GetPort() *gomock.Call { function NewMockRunnerConfig (line 192) | func NewMockRunnerConfig(ctrl *gomock.Controller) *MockRunnerConfig { type MockTransport (line 232) | type MockTransport struct method EXPECT (line 251) | func (m *MockTransport) EXPECT() *MockTransportMockRecorder { method IsRunning (line 256) | func (m *MockTransport) IsRunning() (bool, error) { method Mode (line 271) | func (m *MockTransport) Mode() types.TransportType { method ProxyPort (line 285) | func (m *MockTransport) ProxyPort() int { method SetOnHealthCheckFailed (line 299) | func (m *MockTransport) SetOnHealthCheckFailed(callback types.HealthCh... method SetOnUnauthorizedResponse (line 311) | func (m *MockTransport) SetOnUnauthorizedResponse(callback types.Unaut... method SetRemoteURL (line 323) | func (m *MockTransport) SetRemoteURL(remoteURL string) { method SetTokenSource (line 335) | func (m *MockTransport) SetTokenSource(tokenSource oauth2.TokenSource) { method Start (line 347) | func (m *MockTransport) Start(ctx context.Context) error { method Stop (line 361) | func (m *MockTransport) Stop(ctx context.Context) error { type MockTransportMockRecorder (line 239) | type MockTransportMockRecorder struct method IsRunning (line 265) | func (mr *MockTransportMockRecorder) IsRunning() *gomock.Call { method Mode (line 279) | func (mr *MockTransportMockRecorder) Mode() *gomock.Call { method ProxyPort (line 293) | func (mr *MockTransportMockRecorder) ProxyPort() *gomock.Call { method SetOnHealthCheckFailed (line 305) | func (mr *MockTransportMockRecorder) SetOnHealthCheckFailed(callback a... method SetOnUnauthorizedResponse (line 317) | func (mr *MockTransportMockRecorder) SetOnUnauthorizedResponse(callbac... method SetRemoteURL (line 329) | func (mr *MockTransportMockRecorder) SetRemoteURL(remoteURL any) *gomo... method SetTokenSource (line 341) | func (mr *MockTransportMockRecorder) SetTokenSource(tokenSource any) *... method Start (line 355) | func (mr *MockTransportMockRecorder) Start(ctx any) *gomock.Call { method Stop (line 369) | func (mr *MockTransportMockRecorder) Stop(ctx any) *gomock.Call { function NewMockTransport (line 244) | func NewMockTransport(ctrl *gomock.Controller) *MockTransport { type MockProxy (line 375) | type MockProxy struct method EXPECT (line 394) | func (m *MockProxy) EXPECT() *MockProxyMockRecorder { method ForwardResponseToClients (line 399) | func (m *MockProxy) ForwardResponseToClients(ctx context.Context, msg ... method GetMessageChannel (line 413) | func (m *MockProxy) GetMessageChannel() chan jsonrpc2.Message { method IsRunning (line 427) | func (m *MockProxy) IsRunning() (bool, error) { method SendMessageToDestination (line 442) | func (m *MockProxy) SendMessageToDestination(msg jsonrpc2.Message) err... method Start (line 456) | func (m *MockProxy) Start(ctx context.Context) error { method Stop (line 470) | func (m *MockProxy) Stop(ctx context.Context) error { type MockProxyMockRecorder (line 382) | type MockProxyMockRecorder struct method ForwardResponseToClients (line 407) | func (mr *MockProxyMockRecorder) ForwardResponseToClients(ctx, msg any... method GetMessageChannel (line 421) | func (mr *MockProxyMockRecorder) GetMessageChannel() *gomock.Call { method IsRunning (line 436) | func (mr *MockProxyMockRecorder) IsRunning() *gomock.Call { method SendMessageToDestination (line 450) | func (mr *MockProxyMockRecorder) SendMessageToDestination(msg any) *go... method Start (line 464) | func (mr *MockProxyMockRecorder) Start(ctx any) *gomock.Call { method Stop (line 478) | func (mr *MockProxyMockRecorder) Stop(ctx any) *gomock.Call { function NewMockProxy (line 387) | func NewMockProxy(ctrl *gomock.Controller) *MockProxy { FILE: pkg/transport/types/mocks/mock_tunnel_provider.go type MockTunnelProvider (line 20) | type MockTunnelProvider struct method EXPECT (line 39) | func (m *MockTunnelProvider) EXPECT() *MockTunnelProviderMockRecorder { method ParseConfig (line 44) | func (m *MockTunnelProvider) ParseConfig(config map[string]any) error { method StartTunnel (line 58) | func (m *MockTunnelProvider) StartTunnel(ctx context.Context, name, ta... type MockTunnelProviderMockRecorder (line 27) | type MockTunnelProviderMockRecorder struct method ParseConfig (line 52) | func (mr *MockTunnelProviderMockRecorder) ParseConfig(config any) *gom... method StartTunnel (line 66) | func (mr *MockTunnelProviderMockRecorder) StartTunnel(ctx, name, targe... function NewMockTunnelProvider (line 32) | func NewMockTunnelProvider(ctrl *gomock.Controller) *MockTunnelProvider { FILE: pkg/transport/types/transport.go type MiddlewareFunction (line 26) | type MiddlewareFunction type NamedMiddleware (line 29) | type NamedMiddleware struct type Middleware (line 35) | type Middleware interface type MiddlewareConfig (line 44) | type MiddlewareConfig struct function NewMiddlewareConfig (line 54) | func NewMiddlewareConfig(middlewareType string, parameters any) (*Middle... type MiddlewareRunner (line 69) | type MiddlewareRunner interface type RunnerConfig (line 93) | type RunnerConfig interface type MiddlewareFactory (line 100) | type MiddlewareFactory type Transport (line 104) | type Transport interface type TransportType (line 141) | type TransportType method String (line 158) | func (t TransportType) String() string { constant TransportTypeStdio (line 145) | TransportTypeStdio TransportType = "stdio" constant TransportTypeSSE (line 148) | TransportTypeSSE TransportType = "sse" constant TransportTypeStreamableHTTP (line 151) | TransportTypeStreamableHTTP TransportType = "streamable-http" constant TransportTypeInspector (line 154) | TransportTypeInspector TransportType = "inspector" function ParseTransportType (line 163) | func ParseTransportType(s string) (TransportType, error) { type Proxy (line 179) | type Proxy interface type HealthCheckFailedCallback (line 203) | type HealthCheckFailedCallback type UnauthorizedResponseCallback (line 207) | type UnauthorizedResponseCallback type Config (line 210) | type Config struct type ProxyMode (line 282) | type ProxyMode method String (line 298) | func (p ProxyMode) String() string { constant ProxyModeSSE (line 288) | ProxyModeSSE ProxyMode = "sse" constant ProxyModeStreamableHTTP (line 290) | ProxyModeStreamableHTTP ProxyMode = "streamable-http" function IsValidProxyMode (line 294) | func IsValidProxyMode(mode string) bool { function EffectiveProxyMode (line 306) | func EffectiveProxyMode(transportType TransportType, proxyMode ProxyMode... FILE: pkg/transport/types/transport_test.go function TestTransportType_String (line 14) | func TestTransportType_String(t *testing.T) { function TestParseTransportType (line 58) | func TestParseTransportType(t *testing.T) { function TestTransportTypeConstants (line 152) | func TestTransportTypeConstants(t *testing.T) { function TestEffectiveProxyMode (line 162) | func TestEffectiveProxyMode(t *testing.T) { function TestTransportType_RoundTrip (line 242) | func TestTransportType_RoundTrip(t *testing.T) { FILE: pkg/transport/types/tunnel.go type TunnelProvider (line 20) | type TunnelProvider interface function GetSupportedProviderNames (line 26) | func GetSupportedProviderNames() []string { FILE: pkg/transport/url.go function GenerateMCPServerURL (line 21) | func GenerateMCPServerURL(transportType string, proxyMode string, host s... function generateRemoteMCPServerURL (line 77) | func generateRemoteMCPServerURL(base, containerName, remoteURL string, i... FILE: pkg/transport/url_test.go function TestGenerateMCPServerURL (line 14) | func TestGenerateMCPServerURL(t *testing.T) { FILE: pkg/tui/actions.go type actionDoneMsg (line 23) | type actionDoneMsg struct function stopWorkload (line 30) | func stopWorkload(ctx context.Context, manager workloads.Manager, name s... function deleteWorkload (line 41) | func deleteWorkload(ctx context.Context, manager workloads.Manager, name... function restartWorkload (line 52) | func restartWorkload(ctx context.Context, manager workloads.Manager, nam... type runFormResultMsg (line 63) | type runFormResultMsg struct function runFromRegistry (line 73) | func runFromRegistry( function validateAndMergeEnvVars (line 110) | func validateAndMergeEnvVars(secrets, envs map[string]string) (map[strin... function permissionProfileName (line 133) | func permissionProfileName(img *regtypes.ImageMetadata) string { function buildRunConfigFromRegistry (line 147) | func buildRunConfigFromRegistry( FILE: pkg/tui/form_helpers.go function formNextField (line 11) | func formNextField(fields []formField, idx *int) { function formPrevField (line 23) | func formPrevField(fields []formField, idx *int) { function formBlurAll (line 39) | func formBlurAll(fields []formField, idx *int) { function formForwardKey (line 47) | func formForwardKey(fields []formField, idx int, msg tea.KeyMsg) tea.Cmd { FILE: pkg/tui/form_helpers_test.go function makeFormFields (line 13) | func makeFormFields() []formField { function TestFormNextField (line 22) | func TestFormNextField(t *testing.T) { function TestFormPrevField (line 60) | func TestFormPrevField(t *testing.T) { function TestFormBlurAll (line 97) | func TestFormBlurAll(t *testing.T) { FILE: pkg/tui/helpers_test.go function TestWrapText (line 15) | func TestWrapText(t *testing.T) { function TestRunesTruncate (line 82) | func TestRunesTruncate(t *testing.T) { function TestTruncateSidebar (line 129) | func TestTruncateSidebar(t *testing.T) { function TestCountStatuses (line 176) | func TestCountStatuses(t *testing.T) { FILE: pkg/tui/init.go function New (line 18) | func New(ctx context.Context, manager workloads.Manager, logCh <-chan st... FILE: pkg/tui/inspector.go type inspCallResultMsg (line 27) | type inspCallResultMsg struct type inspSpinTickMsg (line 34) | type inspSpinTickMsg struct function buildInspFields (line 38) | func buildInspFields(tool mcp.Tool) []formField { function buildRequiredSetFromSlice (line 83) | func buildRequiredSetFromSlice(required []string) map[string]bool { function shellEscapeSingleQuote (line 93) | func shellEscapeSingleQuote(s string) string { function buildCurlStr (line 98) | func buildCurlStr(sel *core.Workload, toolName string, args map[string]a... function startInspCallTool (line 127) | func startInspCallTool(ctx context.Context, c *mcpclient.Client, toolNam... function callTool (line 137) | func callTool(ctx context.Context, c *mcpclient.Client, toolName string,... function inspFieldValues (line 148) | func inspFieldValues(fields []formField) (map[string]any, int, error) { function parseFieldValue (line 169) | func parseFieldValue(v, typeName string) (any, error) { function formatInspResult (line 189) | func formatInspResult(result *mcp.CallToolResult) string { FILE: pkg/tui/inspector_test.go function TestBuildRequiredSetFromSlice (line 17) | func TestBuildRequiredSetFromSlice(t *testing.T) { function TestInspFieldValues (line 53) | func TestInspFieldValues(t *testing.T) { function TestParseFieldValue (line 132) | func TestParseFieldValue(t *testing.T) { function TestShellEscapeSingleQuote (line 167) | func TestShellEscapeSingleQuote(t *testing.T) { function TestBuildCurlStr (line 187) | func TestBuildCurlStr(t *testing.T) { function TestFormatInspResult (line 236) | func TestFormatInspResult(t *testing.T) { FILE: pkg/tui/json_tree.go type jsonNodeKind (line 18) | type jsonNodeKind constant kindObject (line 21) | kindObject jsonNodeKind = iota constant kindArray (line 22) | kindArray constant kindString (line 23) | kindString constant kindNumber (line 24) | kindNumber constant kindBool (line 25) | kindBool constant kindNull (line 26) | kindNull type jsonNode (line 30) | type jsonNode struct type visItem (line 40) | type visItem struct function parseJSONTree (line 48) | func parseJSONTree(s string) *jsonNode { function buildJSONNode (line 65) | func buildJSONNode(v any, key string, isLast bool) *jsonNode { function flattenVisible (line 111) | func flattenVisible(root *jsonNode) []visItem { function appendVisible (line 117) | func appendVisible(node *jsonNode, depth int, out *[]visItem) { function toggleCollapse (line 131) | func toggleCollapse(vis []visItem, cursor int) { function renderJSONTree (line 143) | func renderJSONTree(vis []visItem, cursor, scrollOff, width, visH int) s... function nodeToAny (line 177) | func nodeToAny(node *jsonNode) any { function nodeToJSON (line 208) | func nodeToJSON(node *jsonNode) string { function renderJSONItem (line 219) | func renderJSONItem(item visItem) string { FILE: pkg/tui/json_tree_test.go function TestParseJSONTree (line 14) | func TestParseJSONTree(t *testing.T) { function TestFlattenVisible (line 77) | func TestFlattenVisible(t *testing.T) { function TestToggleCollapse (line 125) | func TestToggleCollapse(t *testing.T) { function TestNodeToJSON (line 167) | func TestNodeToJSON(t *testing.T) { FILE: pkg/tui/keys.go type keyMap (line 9) | type keyMap struct FILE: pkg/tui/logformat.go function formatLogLine (line 20) | func formatLogLine(raw string) string { function extractStr (line 81) | func extractStr(m map[string]json.RawMessage, key string) string { function levelStyle (line 93) | func levelStyle(level string) string { function buildHScrollContent (line 109) | func buildHScrollContent(lines []string, viewW, hOff int) string { FILE: pkg/tui/logformat_test.go function TestFormatLogLine (line 12) | func TestFormatLogLine(t *testing.T) { function TestLevelStyle (line 66) | func TestLevelStyle(t *testing.T) { FILE: pkg/tui/logs.go constant logPollInterval (line 15) | logPollInterval = 500 * time.Millisecond constant logFetchLines (line 16) | logFetchLines = 500 function StreamWorkloadLogs (line 22) | func StreamWorkloadLogs(ctx context.Context, manager workloads.Manager, ... function splitLines (line 74) | func splitLines(s string) []string { function diffLines (line 92) | func diffLines(prev, next []string) []string { constant diffMatchLen (line 129) | diffMatchLen = 3 function slicesEqual (line 132) | func slicesEqual(a, b []string) bool { FILE: pkg/tui/logs_test.go function TestSplitLines (line 12) | func TestSplitLines(t *testing.T) { function TestDiffLines (line 58) | func TestDiffLines(t *testing.T) { FILE: pkg/tui/main_test.go function TestMain (line 14) | func TestMain(m *testing.M) { FILE: pkg/tui/model.go type activePanel (line 24) | type activePanel constant panelLogs (line 27) | panelLogs activePanel = iota constant panelInfo (line 28) | panelInfo constant panelTools (line 29) | panelTools constant panelProxyLogs (line 30) | panelProxyLogs constant panelInspector (line 31) | panelInspector type formField (line 35) | type formField struct type inspectorState (line 45) | type inspectorState struct type runFormState (line 69) | type runFormState struct type registryState (line 79) | type registryState struct type Model (line 93) | type Model struct method selected (line 180) | func (m *Model) selected() *core.Workload { method filteredWorkloads (line 195) | func (m *Model) filteredWorkloads() []core.Workload { method filteredRegistryItems (line 213) | func (m *Model) filteredRegistryItems() []regtypes.ServerMetadata { method filteredTools (line 243) | func (m *Model) filteredTools() []mcp.Tool { FILE: pkg/tui/proxylogs.go type proxyLogLineMsg (line 16) | type proxyLogLineMsg type proxyLogStreamDoneMsg (line 19) | type proxyLogStreamDoneMsg struct function StreamProxyLogs (line 23) | func StreamProxyLogs(ctx context.Context, manager workloads.Manager, nam... function readProxyLogLine (line 57) | func readProxyLogLine(ch <-chan string) tea.Cmd { FILE: pkg/tui/registry.go type registryLoadedMsg (line 18) | type registryLoadedMsg struct function fetchRegistryItems (line 26) | func fetchRegistryItems(_ context.Context) tea.Cmd { function sanitizeRegistryName (line 38) | func sanitizeRegistryName(name string) string { function buildRunFormFields (line 44) | func buildRunFormFields(item regtypes.ServerMetadata) []formField { FILE: pkg/tui/registry_test.go function TestSanitizeRegistryName (line 16) | func TestSanitizeRegistryName(t *testing.T) { function TestBuildRunCmd (line 62) | func TestBuildRunCmd(t *testing.T) { FILE: pkg/tui/search_test.go function TestHighlightSubstring (line 13) | func TestHighlightSubstring(t *testing.T) { FILE: pkg/tui/tools.go function workloadTransport (line 22) | func workloadTransport(w *core.Workload) string { function startMCPClientConnect (line 31) | func startMCPClientConnect(ctx context.Context, w *core.Workload) tea.Cmd { function fetchTools (line 45) | func fetchTools(ctx context.Context, c *mcpclient.Client) ([]mcp.Tool, e... FILE: pkg/tui/update.go type workloadsRefreshMsg (line 20) | type workloadsRefreshMsg struct type notifClearMsg (line 25) | type notifClearMsg struct method showNotif (line 28) | func (m *Model) showNotif(msg string, ok bool) tea.Cmd { type tuiLogMsg (line 35) | type tuiLogMsg type logLineMsg (line 38) | type logLineMsg type logStreamDoneMsg (line 41) | type logStreamDoneMsg struct type tickMsg (line 44) | type tickMsg type mcpClientReadyMsg (line 47) | type mcpClientReadyMsg struct type toolsFetchedMsg (line 54) | type toolsFetchedMsg struct type runConfigLoadedMsg (line 61) | type runConfigLoadedMsg struct constant refreshInterval (line 67) | refreshInterval = 5 * time.Second constant maxLogLines (line 71) | maxLogLines = 10_000 method Init (line 74) | func (m Model) Init() tea.Cmd { method watchTUILog (line 83) | func (m *Model) watchTUILog() tea.Cmd { function scheduleRefresh (line 97) | func scheduleRefresh() tea.Cmd { method startLogStream (line 104) | func (m *Model) startLogStream() tea.Cmd { function readLogLine (line 126) | func readLogLine(ch <-chan string) tea.Cmd { method startProxyLogStream (line 137) | func (m *Model) startProxyLogStream() tea.Cmd { method Update (line 158) | func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { method handleMsg (line 204) | func (m *Model) handleMsg(msg tea.Msg) (tea.Cmd, bool) { method handleWorkloadsRefresh (line 270) | func (m *Model) handleWorkloadsRefresh(msg workloadsRefreshMsg) (tea.Cmd... method handleLogLine (line 289) | func (m *Model) handleLogLine(msg logLineMsg) (tea.Cmd, bool) { method handleProxyLogLine (line 304) | func (m *Model) handleProxyLogLine(msg proxyLogLineMsg) (tea.Cmd, bool) { method handleMCPClientReady (line 317) | func (m *Model) handleMCPClientReady(msg mcpClientReadyMsg) tea.Cmd { method handleToolsFetched (line 338) | func (m *Model) handleToolsFetched(msg toolsFetchedMsg) { method handleRegistryLoaded (line 349) | func (m *Model) handleRegistryLoaded(msg registryLoadedMsg) { method handleRunConfigLoaded (line 357) | func (m *Model) handleRunConfigLoaded(msg runConfigLoadedMsg) { constant maxTUILogLines (line 364) | maxTUILogLines = 500 method handleTUILog (line 367) | func (m *Model) handleTUILog(msg tuiLogMsg) tea.Cmd { method handleInspCallResult (line 379) | func (m *Model) handleInspCallResult(msg inspCallResultMsg) { method handleKey (line 402) | func (m *Model) handleKey(msg tea.KeyMsg) tea.Cmd { FILE: pkg/tui/update_inspector.go method handleInspectorKey (line 18) | func (m *Model) handleInspectorKey(msg tea.KeyMsg) tea.Cmd { method handleInspFilterKey (line 167) | func (m *Model) handleInspFilterKey(msg tea.KeyMsg) tea.Cmd { method inspNavigateUp (line 220) | func (m *Model) inspNavigateUp() tea.Cmd { method inspNavigateDown (line 229) | func (m *Model) inspNavigateDown() tea.Cmd { method inspNextField (line 238) | func (m *Model) inspNextField() tea.Cmd { method inspPrevField (line 244) | func (m *Model) inspPrevField() tea.Cmd { method blurAllInspFields (line 250) | func (m *Model) blurAllInspFields() { method inspRebuildForm (line 255) | func (m *Model) inspRebuildForm() { method inspTreeMove (line 287) | func (m *Model) inspTreeMove(delta int) tea.Cmd { method treeClampScroll (line 303) | func (m *Model) treeClampScroll() { method inspCopyNode (line 316) | func (m *Model) inspCopyNode() { method inspForwardToField (line 326) | func (m *Model) inspForwardToField(msg tea.KeyMsg) tea.Cmd { method inspDoCall (line 331) | func (m *Model) inspDoCall() tea.Cmd { FILE: pkg/tui/update_navigation.go method handleConfirmDeleteKey (line 20) | func (m *Model) handleConfirmDeleteKey(msg tea.KeyMsg) tea.Cmd { method handleFilterKey (line 32) | func (m *Model) handleFilterKey(msg tea.KeyMsg) tea.Cmd { method handleNormalKey (line 56) | func (m *Model) handleNormalKey(msg tea.KeyMsg) tea.Cmd { method toolsNavigateUp (line 179) | func (m *Model) toolsNavigateUp() tea.Cmd { method toolsNavigateDown (line 189) | func (m *Model) toolsNavigateDown() tea.Cmd { method toolsScrollToSelected (line 199) | func (m *Model) toolsScrollToSelected() { method toolsJumpToInspector (line 213) | func (m *Model) toolsJumpToInspector() tea.Cmd { method navigateUp (line 229) | func (m *Model) navigateUp() tea.Cmd { method navigateDown (line 237) | func (m *Model) navigateDown() tea.Cmd { method hScrollLeft (line 247) | func (m *Model) hScrollLeft() { method hScrollRight (line 272) | func (m *Model) hScrollRight() { function maxLineLen (line 293) | func maxLineLen(lines []string) int { method onSelectionChanged (line 304) | func (m *Model) onSelectionChanged() tea.Cmd { method togglePanel (line 349) | func (m *Model) togglePanel() tea.Cmd { method maybeStartToolsFetch (line 377) | func (m *Model) maybeStartToolsFetch() tea.Cmd { method maybeLoadRunConfig (line 408) | func (m *Model) maybeLoadRunConfig() tea.Cmd { function startToolsFetch (line 430) | func startToolsFetch(ctx context.Context, c *mcpclient.Client, w *core.W... method toggleFollow (line 438) | func (m *Model) toggleFollow() { method doStop (line 445) | func (m *Model) doStop() tea.Cmd { method doRestart (line 452) | func (m *Model) doRestart() tea.Cmd { method doDelete (line 459) | func (m *Model) doDelete() tea.Cmd { method openRegistry (line 467) | func (m *Model) openRegistry() tea.Cmd { method refreshWorkloads (line 480) | func (m *Model) refreshWorkloads() tea.Cmd { method resizeViewport (line 491) | func (m *Model) resizeViewport() { function sidebarW (line 520) | func sidebarW(totalWidth int) int { FILE: pkg/tui/update_registry.go method handleRegistryKey (line 18) | func (m *Model) handleRegistryKey(msg tea.KeyMsg) tea.Cmd { method handleRegistryDetailKey (line 69) | func (m *Model) handleRegistryDetailKey(msg tea.KeyMsg) tea.Cmd { method clampRegistryScroll (line 100) | func (m *Model) clampRegistryScroll() { method registryVisibleRows (line 114) | func (m *Model) registryVisibleRows() int { method openRunForm (line 124) | func (m *Model) openRunForm(item regtypes.ServerMetadata) tea.Cmd { method handleRunFormKey (line 139) | func (m *Model) handleRunFormKey(msg tea.KeyMsg) tea.Cmd { method runFormNextField (line 162) | func (m *Model) runFormNextField() { method runFormPrevField (line 166) | func (m *Model) runFormPrevField() { method blurAllRunFormFields (line 170) | func (m *Model) blurAllRunFormFields() { method runFormForwardToField (line 174) | func (m *Model) runFormForwardToField(msg tea.KeyMsg) tea.Cmd { method runFormSubmit (line 179) | func (m *Model) runFormSubmit() tea.Cmd { method clampRunFormScroll (line 216) | func (m *Model) clampRunFormScroll() { FILE: pkg/tui/update_search.go type searchParams (line 20) | type searchParams struct function handleSearchKey (line 31) | func handleSearchKey(msg tea.KeyMsg, p searchParams) tea.Cmd { function rebuildSearch (line 61) | func rebuildSearch(p searchParams) { function scrollToSearchMatch (line 83) | func scrollToSearchMatch(p searchParams) { method logSearchParams (line 98) | func (m *Model) logSearchParams() searchParams { method proxyLogSearchParams (line 111) | func (m *Model) proxyLogSearchParams() searchParams { method handleLogSearchKey (line 124) | func (m *Model) handleLogSearchKey(msg tea.KeyMsg) tea.Cmd { method scrollToMatch (line 129) | func (m *Model) scrollToMatch() { method handleProxyLogSearchKey (line 134) | func (m *Model) handleProxyLogSearchKey(msg tea.KeyMsg) tea.Cmd { method scrollToProxyMatch (line 139) | func (m *Model) scrollToProxyMatch() { function buildHighlightedLogContent (line 146) | func buildHighlightedLogContent(lines []string, query string, matches []... function highlightSubstring (line 202) | func highlightSubstring(line, query, lowerQuery string, bg lipgloss.Colo... function runesIndex (line 229) | func runesIndex(s, sub []rune) int { function xansiCutLine (line 250) | func xansiCutLine(line string, hOff, viewW int) string { FILE: pkg/tui/view.go constant oscSetBg (line 25) | oscSetBg = "\x1b]11;#1e2030\x07" constant oscResetBg (line 26) | oscResetBg = "\x1b]111;\x07" method View (line 29) | func (m Model) View() string { method renderSidebar (line 102) | func (m Model) renderSidebar() string { method renderMain (line 168) | func (m Model) renderMain() string { method renderTab (line 299) | func (m Model) renderTab(label string, p activePanel) string { method renderProxyLogs (line 313) | func (m Model) renderProxyLogs(width int) string { FILE: pkg/tui/view_helpers.go function renderFormFieldFromStruct (line 18) | func renderFormFieldFromStruct(f formField, focused bool, width int) []s... function renderFormField (line 31) | func renderFormField(name, desc, extraTag string, required, focused bool... function inspCopyBadge (line 62) | func inspCopyBadge(key, label string) string { function renderCurlLine (line 76) | func renderCurlLine(line string) string { function wrapText (line 130) | func wrapText(text string, maxW int, indent string) []string { function runesTruncate (line 153) | func runesTruncate(s string, n int) string { function truncateSidebar (line 165) | func truncateSidebar(s string, n int) string { function countStatuses (line 177) | func countStatuses(list []core.Workload) (running, stopped int) { FILE: pkg/tui/view_info.go function renderInfo (line 19) | func renderInfo(w *core.Workload, cfg *runner.RunConfig, width int) stri... type infoStyles (line 40) | type infoStyles struct method row (line 44) | func (s infoStyles) row(key, val string) string { method section (line 48) | func (s infoStyles) section(title string) string { function renderInfoRuntime (line 53) | func renderInfoRuntime(w *core.Workload, s infoStyles) []string { function renderInfoConfig (line 70) | func renderInfoConfig(cfg *runner.RunConfig, s infoStyles) []string { function renderInfoVolumeLine (line 105) | func renderInfoVolumeLine(v string, s infoStyles) string { function renderInfoPermissions (line 120) | func renderInfoPermissions(cfg *runner.RunConfig, s infoStyles) []string { FILE: pkg/tui/view_inspector.go method renderInspector (line 18) | func (m Model) renderInspector(mainW int) string { method renderToolInfoModal (line 51) | func (m Model) renderToolInfoModal(base string, w, h int) string { method renderInspToolList (line 94) | func (m Model) renderInspToolList(width, height int) string { method renderInspForm (line 166) | func (m Model) renderInspForm(width, height int) string { method renderInspResponse (line 229) | func (m Model) renderInspResponse(width, height int) string { method renderTools (line 322) | func (m Model) renderTools(_ int) string { function buildToolsContent (line 343) | func buildToolsContent(tools []mcp.Tool, width, selectedIdx int) string { FILE: pkg/tui/view_registry.go method registryBoxDims (line 17) | func (m Model) registryBoxDims() (boxW, innerW, visibleRows int) { method renderRegistryOverlay (line 26) | func (m Model) renderRegistryOverlay() string { method renderRegistryListOverlay (line 37) | func (m Model) renderRegistryListOverlay() string { method renderRegistryDetailOverlay (line 114) | func (m Model) renderRegistryDetailOverlay() string { function registryTagStr (line 157) | func registryTagStr(tags []string, style lipgloss.Style) string { function buildDetailLines (line 169) | func buildDetailLines(item regtypes.ServerMetadata, innerW int, sep stri... function buildDetailHeader (line 202) | func buildDetailHeader( function buildBadge (line 236) | func buildBadge(tier, status, transport string, dimStyle, labelStyle, cy... function buildDetailServerType (line 252) | func buildDetailServerType( function buildDetailTools (line 274) | func buildDetailTools( method renderRunFormOverlay (line 307) | func (m Model) renderRunFormOverlay() string { function buildRunCmd (line 373) | func buildRunCmd(item regtypes.ServerMetadata) string { FILE: pkg/tui/view_statusbar.go method renderStatusBar (line 18) | func (m Model) renderStatusBar() string { function renderStatusBarDefaultHints (line 152) | func renderStatusBarDefaultHints(hint func(k, desc string) string) []str... method renderStatusBarLogHints (line 169) | func (m Model) renderStatusBarLogHints(hint func(k, desc string) string)... method renderStatusBarProxyLogHints (line 184) | func (m Model) renderStatusBarProxyLogHints(hint func(k, desc string) st... method renderHelpOverlay (line 198) | func (m Model) renderHelpOverlay() string { function helpText (line 214) | func helpText() string { FILE: pkg/updates/checker.go type UpdateChecker (line 25) | type UpdateChecker interface function NewUpdateChecker (line 32) | func NewUpdateChecker(versionClient VersionClient) (UpdateChecker, error) { constant updateFilePathSuffix (line 79) | updateFilePathSuffix = "toolhive/updates.json" constant updateInterval (line 80) | updateInterval = 30 * time.Minute function TryGetAnonymousID (line 88) | func TryGetAnonymousID() (string, error) { type componentInfo (line 118) | type componentInfo struct type updateFile (line 123) | type updateFile struct type defaultUpdateChecker (line 129) | type defaultUpdateChecker struct method CheckLatestVersion (line 138) | func (d *defaultUpdateChecker) CheckLatestVersion() error { function getComponentFromVersionClient (line 223) | func getComponentFromVersionClient(versionClient VersionClient) string { function notifyIfUpdateAvailable (line 227) | func notifyIfUpdateAvailable(current, latest string) { function recoverCorruptedJSON (line 252) | func recoverCorruptedJSON(rawContents []byte) (updateFile, error) { FILE: pkg/updates/checker_test.go constant testInstanceID (line 22) | testInstanceID = "test-instance-id" constant testCurrentVersion (line 23) | testCurrentVersion = "1.0.0" constant testLatestVersion (line 24) | testLatestVersion = "1.1.0" constant testOldVersion (line 25) | testOldVersion = "1.0.5" constant testComponentCLI (line 26) | testComponentCLI = "CLI" type MockVersionClient (line 30) | type MockVersionClient struct method GetLatestVersion (line 34) | func (m *MockVersionClient) GetLatestVersion(instanceID string, curren... method GetComponent (line 39) | func (m *MockVersionClient) GetComponent() string { function setupMockVersionClient (line 45) | func setupMockVersionClient(_ *testing.T) *MockVersionClient { function createTempUpdateFile (line 49) | func createTempUpdateFile(t *testing.T, contents updateFile) string { function TestCheckLatestVersion (line 66) | func TestCheckLatestVersion(t *testing.T) { function TestNotifyIfUpdateAvailable (line 313) | func TestNotifyIfUpdateAvailable(t *testing.T) { function TestNotifyIfUpdateAvailableDesktopManaged (line 340) | func TestNotifyIfUpdateAvailableDesktopManaged(t *testing.T) { function TestCorruptedJSONRecovery (line 394) | func TestCorruptedJSONRecovery(t *testing.T) { FILE: pkg/updates/client.go type VersionClient (line 21) | type VersionClient interface function NewVersionClient (line 27) | func NewVersionClient() VersionClient { function NewVersionClientForComponent (line 32) | func NewVersionClientForComponent(component, version string, uiReleaseBu... type defaultVersionClient (line 41) | type defaultVersionClient struct method GetLatestVersion (line 72) | func (d *defaultVersionClient) GetLatestVersion(instanceID string, cur... method GetComponent (line 151) | func (d *defaultVersionClient) GetComponent() string { constant instanceIDHeader (line 49) | instanceIDHeader = "X-Instance-ID" constant userAgentHeader (line 50) | userAgentHeader = "User-Agent" constant defaultVersionAPI (line 51) | defaultVersionAPI = "https://updates.stacklok.com/api/v1/version" constant defaultTimeout (line 52) | defaultTimeout = 3 * time.Second constant buildTypeRelease (line 54) | buildTypeRelease = "release" constant buildTypeLocalBuild (line 55) | buildTypeLocalBuild = "local_build" function ShouldSkipUpdateChecks (line 157) | func ShouldSkipUpdateChecks() bool { FILE: pkg/updates/client_test.go function TestNewVersionClientForComponent (line 12) | func TestNewVersionClientForComponent(t *testing.T) { FILE: pkg/usagemetrics/client.go constant defaultEndpoint (line 22) | defaultEndpoint = "https://updates.stacklok.com/api/v1/toolcount" constant defaultTimeout (line 23) | defaultTimeout = 5 * time.Second constant instanceIDHeader (line 24) | instanceIDHeader = "X-Instance-ID" constant anonymousIDHeader (line 25) | anonymousIDHeader = "X-Anonymous-Id" constant userAgentHeader (line 26) | userAgentHeader = "User-Agent" type Client (line 30) | type Client struct method SendMetrics (line 59) | func (c *Client) SendMetrics(instanceID string, record MetricRecord) e... function NewClient (line 37) | func NewClient(endpoint string) *Client { function generateUserAgent (line 108) | func generateUserAgent() string { function generateUserAgentWithEnv (line 114) | func generateUserAgentWithEnv(envReader env.Reader) string { FILE: pkg/usagemetrics/client_test.go function newTestClient (line 20) | func newTestClient(endpoint, anonymousID string) *Client { function TestGenerateUserAgent (line 33) | func TestGenerateUserAgent(t *testing.T) { function TestNewClient (line 88) | func TestNewClient(t *testing.T) { function TestSendMetrics_Non2xxStatusCode (line 103) | func TestSendMetrics_Non2xxStatusCode(t *testing.T) { function TestGenerateUserAgent_BuildType (line 124) | func TestGenerateUserAgent_BuildType(t *testing.T) { FILE: pkg/usagemetrics/collector.go constant flushInterval (line 18) | flushInterval = 15 * time.Minute constant EnvVarUsageMetricsEnabled (line 21) | EnvVarUsageMetricsEnabled = "TOOLHIVE_USAGE_METRICS_ENABLED" function ShouldEnableMetrics (line 27) | func ShouldEnableMetrics(configDisabled bool) bool { function shouldEnableMetrics (line 32) | func shouldEnableMetrics(configDisabled bool, isCI func() bool, getEnv f... function NewCollector (line 53) | func NewCollector() (*Collector, error) { method Start (line 72) | func (c *Collector) Start() { method IncrementToolCall (line 80) | func (c *Collector) IncrementToolCall() { method Flush (line 86) | func (c *Collector) Flush() error { method Shutdown (line 159) | func (c *Collector) Shutdown(ctx context.Context) { method GetCurrentCount (line 189) | func (c *Collector) GetCurrentCount() int64 { method flushLoop (line 194) | func (c *Collector) flushLoop() { FILE: pkg/usagemetrics/collector_test.go function TestNewCollector (line 14) | func TestNewCollector(t *testing.T) { function TestCollector_IncrementToolCall (line 31) | func TestCollector_IncrementToolCall(t *testing.T) { function TestCollector_Shutdown (line 55) | func TestCollector_Shutdown(t *testing.T) { function TestCollector_Start_PreventsDuplicateGoroutines (line 74) | func TestCollector_Start_PreventsDuplicateGoroutines(t *testing.T) { function TestShouldEnableMetrics (line 97) | func TestShouldEnableMetrics(t *testing.T) { FILE: pkg/usagemetrics/middleware.go constant MiddlewareType (line 18) | MiddlewareType = "usagemetrics" constant shutdownTimeout (line 21) | shutdownTimeout = 10 * time.Second type MiddlewareParams (line 25) | type MiddlewareParams struct type Middleware (line 30) | type Middleware struct method Handler (line 35) | func (m *Middleware) Handler() types.MiddlewareFunction { method Close (line 55) | func (m *Middleware) Close() error { function CreateMiddleware (line 65) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... FILE: pkg/usagemetrics/middleware_test.go function TestMiddleware_Handler (line 22) | func TestMiddleware_Handler(t *testing.T) { function TestMiddleware_Close (line 99) | func TestMiddleware_Close(t *testing.T) { function TestCreateMiddleware (line 115) | func TestCreateMiddleware(t *testing.T) { FILE: pkg/usagemetrics/types.go type MetricRecord (line 13) | type MetricRecord struct type Collector (line 19) | type Collector struct function getCurrentDateUTC (line 37) | func getCurrentDateUTC() string { FILE: pkg/versions/version.go constant unknownStr (line 16) | unknownStr = "unknown" type VersionInfo (line 35) | type VersionInfo struct function GetVersionInfo (line 44) | func GetVersionInfo() VersionInfo { function GetUserAgent (line 50) | func GetUserAgent() string { function getVersionInfoWithValues (line 56) | func getVersionInfoWithValues(version, commit, buildDate string) Version... FILE: pkg/versions/version_test.go constant testDevVersion (line 16) | testDevVersion = "dev" function TestGetVersionInfo (line 18) | func TestGetVersionInfo(t *testing.T) { function TestGetVersionInfoWithValues (line 32) | func TestGetVersionInfoWithValues(t *testing.T) { function TestVersionInfoStruct (line 100) | func TestVersionInfoStruct(t *testing.T) { function TestConstants (line 118) | func TestConstants(t *testing.T) { FILE: pkg/vmcp/aggregator/aggregator.go type BackendDiscoverer (line 21) | type BackendDiscoverer interface type Aggregator (line 38) | type Aggregator interface type BackendCapabilities (line 86) | type BackendCapabilities struct type ResolvedCapabilities (line 108) | type ResolvedCapabilities struct type ResolvedTool (line 127) | type ResolvedTool struct type AggregatedCapabilities (line 155) | type AggregatedCapabilities struct type AggregationMetadata (line 183) | type AggregationMetadata struct type ConflictResolver (line 201) | type ConflictResolver interface type ToolFilter (line 208) | type ToolFilter interface type ToolOverride (line 215) | type ToolOverride interface FILE: pkg/vmcp/aggregator/conflict_resolver.go function NewConflictResolver (line 19) | func NewConflictResolver(aggregationConfig *config.AggregationConfig) (C... type toolWithBackend (line 55) | type toolWithBackend struct function groupToolsByName (line 62) | func groupToolsByName(toolsByBackend map[string][]vmcp.Tool) map[string]... FILE: pkg/vmcp/aggregator/conflict_resolver_test.go function TestPrefixConflictResolver (line 15) | func TestPrefixConflictResolver(t *testing.T) { function TestPriorityConflictResolver (line 116) | func TestPriorityConflictResolver(t *testing.T) { function TestManualConflictResolver (line 274) | func TestManualConflictResolver(t *testing.T) { function equalBoolPtr (line 492) | func equalBoolPtr(a, b *bool) bool { function TestNewConflictResolver (line 502) | func TestNewConflictResolver(t *testing.T) { FILE: pkg/vmcp/aggregator/default_aggregator.go type defaultAggregator (line 24) | type defaultAggregator struct method QueryCapabilities (line 74) | func (a *defaultAggregator) QueryCapabilities(ctx context.Context, bac... method QueryAllCapabilities (line 131) | func (a *defaultAggregator) QueryAllCapabilities( method ResolveConflicts (line 197) | func (a *defaultAggregator) ResolveConflicts( method MergeCapabilities (line 286) | func (a *defaultAggregator) MergeCapabilities( method AggregateCapabilities (line 439) | func (a *defaultAggregator) AggregateCapabilities( method ProcessPreQueriedCapabilities (line 501) | func (a *defaultAggregator) ProcessPreQueriedCapabilities( method shouldAdvertiseTool (line 598) | func (a *defaultAggregator) shouldAdvertiseTool(backendID, originalToo... function NewDefaultAggregator (line 36) | func NewDefaultAggregator( function actualBackendCapabilityName (line 571) | func actualBackendCapabilityName(toolConfigMap map[string]*config.Worklo... FILE: pkg/vmcp/aggregator/default_aggregator_test.go constant testBackendID1 (line 20) | testBackendID1 = "backend1" function TestDefaultAggregator_QueryCapabilities (line 22) | func TestDefaultAggregator_QueryCapabilities(t *testing.T) { function TestDefaultAggregator_QueryAllCapabilities (line 74) | func TestDefaultAggregator_QueryAllCapabilities(t *testing.T) { function TestDefaultAggregator_ResolveConflicts (line 155) | func TestDefaultAggregator_ResolveConflicts(t *testing.T) { function TestDefaultAggregator_MergeCapabilities (line 220) | func TestDefaultAggregator_MergeCapabilities(t *testing.T) { function TestDefaultAggregator_AggregateCapabilities (line 309) | func TestDefaultAggregator_AggregateCapabilities(t *testing.T) { function TestDefaultAggregator_ExcludeAllTools (line 352) | func TestDefaultAggregator_ExcludeAllTools(t *testing.T) { function TestDefaultAggregator_ExcludeAllPreservesRoutingTableForCompositeTools (line 445) | func TestDefaultAggregator_ExcludeAllPreservesRoutingTableForCompositeTo... function TestDefaultAggregator_FilterPreservesRoutingTableForCompositeTools (line 558) | func TestDefaultAggregator_FilterPreservesRoutingTableForCompositeTools(... function TestDefaultAggregator_ProcessPreQueriedCapabilities (line 771) | func TestDefaultAggregator_ProcessPreQueriedCapabilities(t *testing.T) { FILE: pkg/vmcp/aggregator/discoverer.go type backendDiscoverer (line 30) | type backendDiscoverer struct method Discover (line 128) | func (d *backendDiscoverer) Discover(ctx context.Context, groupRef str... method applyAuthConfigToBackend (line 225) | func (d *backendDiscoverer) applyAuthConfigToBackend(backend *vmcp.Bac... method discoverFromStaticConfig (line 263) | func (d *backendDiscoverer) discoverFromStaticConfig() []vmcp.Backend { function NewUnifiedBackendDiscoverer (line 43) | func NewUnifiedBackendDiscoverer( function NewUnifiedBackendDiscovererWithStaticBackends (line 58) | func NewUnifiedBackendDiscovererWithStaticBackends( function NewBackendDiscoverer (line 84) | func NewBackendDiscoverer( function NewBackendDiscovererWithManager (line 110) | func NewBackendDiscovererWithManager( FILE: pkg/vmcp/aggregator/discoverer_test.go constant testGroupName (line 23) | testGroupName = "test-group" function TestBackendDiscoverer_Discover (line 25) | func TestBackendDiscoverer_Discover(t *testing.T) { function TestCLIWorkloadDiscoverer (line 675) | func TestCLIWorkloadDiscoverer(t *testing.T) { function TestBackendDiscoverer_applyAuthConfigToBackend (line 796) | func TestBackendDiscoverer_applyAuthConfigToBackend(t *testing.T) { function TestStaticBackendDiscoverer_EmptyBackendList (line 1178) | func TestStaticBackendDiscoverer_EmptyBackendList(t *testing.T) { function TestStaticBackendDiscoverer_MetadataGroupOverride (line 1201) | func TestStaticBackendDiscoverer_MetadataGroupOverride(t *testing.T) { function TestStaticBackendDiscoverer_EntryBackendFields (line 1314) | func TestStaticBackendDiscoverer_EntryBackendFields(t *testing.T) { function TestBackendDiscoverer_Discover_DeterministicOrdering (line 1426) | func TestBackendDiscoverer_Discover_DeterministicOrdering(t *testing.T) { function TestBackendDiscoverer_Discover_DeterministicOrdering_DynamicMode (line 1488) | func TestBackendDiscoverer_Discover_DeterministicOrdering_DynamicMode(t ... FILE: pkg/vmcp/aggregator/manual_resolver.go type ManualConflictResolver (line 18) | type ManualConflictResolver struct method ResolveToolConflicts (line 49) | func (r *ManualConflictResolver) ResolveToolConflicts( method findUnresolvedConflicts (line 74) | func (r *ManualConflictResolver) findUnresolvedConflicts(toolsByName m... method allCandidatesHaveOverrides (line 94) | func (r *ManualConflictResolver) allCandidatesHaveOverrides(toolName s... method applyOverridesAndResolve (line 105) | func (r *ManualConflictResolver) applyOverridesAndResolve( method resolveToolWithOverride (line 126) | func (r *ManualConflictResolver) resolveToolWithOverride(backendID str... method formatConflictError (line 156) | func (*ManualConflictResolver) formatConflictError(conflicts map[strin... function NewManualConflictResolver (line 28) | func NewManualConflictResolver(workloadConfigs []*config.WorkloadToolCon... FILE: pkg/vmcp/aggregator/mocks/mock_interfaces.go type MockBackendDiscoverer (line 22) | type MockBackendDiscoverer struct method EXPECT (line 41) | func (m *MockBackendDiscoverer) EXPECT() *MockBackendDiscovererMockRec... method Discover (line 46) | func (m *MockBackendDiscoverer) Discover(ctx context.Context, groupRef... type MockBackendDiscovererMockRecorder (line 29) | type MockBackendDiscovererMockRecorder struct method Discover (line 55) | func (mr *MockBackendDiscovererMockRecorder) Discover(ctx, groupRef an... function NewMockBackendDiscoverer (line 34) | func NewMockBackendDiscoverer(ctrl *gomock.Controller) *MockBackendDisco... type MockAggregator (line 61) | type MockAggregator struct method EXPECT (line 80) | func (m *MockAggregator) EXPECT() *MockAggregatorMockRecorder { method AggregateCapabilities (line 85) | func (m *MockAggregator) AggregateCapabilities(ctx context.Context, ba... method MergeCapabilities (line 100) | func (m *MockAggregator) MergeCapabilities(ctx context.Context, resolv... method ProcessPreQueriedCapabilities (line 115) | func (m *MockAggregator) ProcessPreQueriedCapabilities(ctx context.Con... method QueryAllCapabilities (line 132) | func (m *MockAggregator) QueryAllCapabilities(ctx context.Context, bac... method QueryCapabilities (line 147) | func (m *MockAggregator) QueryCapabilities(ctx context.Context, backen... method ResolveConflicts (line 162) | func (m *MockAggregator) ResolveConflicts(ctx context.Context, capabil... type MockAggregatorMockRecorder (line 68) | type MockAggregatorMockRecorder struct method AggregateCapabilities (line 94) | func (mr *MockAggregatorMockRecorder) AggregateCapabilities(ctx, backe... method MergeCapabilities (line 109) | func (mr *MockAggregatorMockRecorder) MergeCapabilities(ctx, resolved,... method ProcessPreQueriedCapabilities (line 126) | func (mr *MockAggregatorMockRecorder) ProcessPreQueriedCapabilities(ct... method QueryAllCapabilities (line 141) | func (mr *MockAggregatorMockRecorder) QueryAllCapabilities(ctx, backen... method QueryCapabilities (line 156) | func (mr *MockAggregatorMockRecorder) QueryCapabilities(ctx, backend a... method ResolveConflicts (line 171) | func (mr *MockAggregatorMockRecorder) ResolveConflicts(ctx, capabiliti... function NewMockAggregator (line 73) | func NewMockAggregator(ctrl *gomock.Controller) *MockAggregator { type MockConflictResolver (line 177) | type MockConflictResolver struct method EXPECT (line 196) | func (m *MockConflictResolver) EXPECT() *MockConflictResolverMockRecor... method ResolveToolConflicts (line 201) | func (m *MockConflictResolver) ResolveToolConflicts(ctx context.Contex... type MockConflictResolverMockRecorder (line 184) | type MockConflictResolverMockRecorder struct method ResolveToolConflicts (line 210) | func (mr *MockConflictResolverMockRecorder) ResolveToolConflicts(ctx, ... function NewMockConflictResolver (line 189) | func NewMockConflictResolver(ctrl *gomock.Controller) *MockConflictResol... type MockToolFilter (line 216) | type MockToolFilter struct method EXPECT (line 235) | func (m *MockToolFilter) EXPECT() *MockToolFilterMockRecorder { method FilterTools (line 240) | func (m *MockToolFilter) FilterTools(ctx context.Context, tools []vmcp... type MockToolFilterMockRecorder (line 223) | type MockToolFilterMockRecorder struct method FilterTools (line 249) | func (mr *MockToolFilterMockRecorder) FilterTools(ctx, tools any) *gom... function NewMockToolFilter (line 228) | func NewMockToolFilter(ctrl *gomock.Controller) *MockToolFilter { type MockToolOverride (line 255) | type MockToolOverride struct method EXPECT (line 274) | func (m *MockToolOverride) EXPECT() *MockToolOverrideMockRecorder { method ApplyOverrides (line 279) | func (m *MockToolOverride) ApplyOverrides(ctx context.Context, tools [... type MockToolOverrideMockRecorder (line 262) | type MockToolOverrideMockRecorder struct method ApplyOverrides (line 288) | func (mr *MockToolOverrideMockRecorder) ApplyOverrides(ctx, tools any)... function NewMockToolOverride (line 267) | func NewMockToolOverride(ctrl *gomock.Controller) *MockToolOverride { FILE: pkg/vmcp/aggregator/prefix_resolver.go type PrefixConflictResolver (line 16) | type PrefixConflictResolver struct method ResolveToolConflicts (line 38) | func (r *PrefixConflictResolver) ResolveToolConflicts( method applyPrefix (line 81) | func (r *PrefixConflictResolver) applyPrefix(backendID, toolName strin... function NewPrefixConflictResolver (line 27) | func NewPrefixConflictResolver(prefixFormat string) *PrefixConflictResol... FILE: pkg/vmcp/aggregator/priority_resolver.go type PriorityConflictResolver (line 20) | type PriorityConflictResolver struct method ResolveToolConflicts (line 55) | func (r *PriorityConflictResolver) ResolveToolConflicts( method selectWinner (line 147) | func (r *PriorityConflictResolver) selectWinner(candidates []toolWithB... function NewPriorityConflictResolver (line 32) | func NewPriorityConflictResolver(priorityOrder []string) (*PriorityConfl... FILE: pkg/vmcp/aggregator/testhelpers_annotations_test.go function boolPtr (line 10) | func boolPtr(b bool) *bool { return &b } function stringPtr (line 12) | func stringPtr(s string) *string { return &s } function newTestToolWithAnnotations (line 14) | func newTestToolWithAnnotations(name string, annotations *vmcp.ToolAnnot... FILE: pkg/vmcp/aggregator/testhelpers_test.go function newTestBackend (line 10) | func newTestBackend(id string, opts ...func(*vmcp.Backend)) vmcp.Backend { function withBackendURL (line 24) | func withBackendURL(url string) func(*vmcp.Backend) { function withBackendTransport (line 30) | func withBackendTransport(transport string) func(*vmcp.Backend) { function withBackendName (line 36) | func withBackendName(name string) func(*vmcp.Backend) { function newTestCapabilityList (line 42) | func newTestCapabilityList(opts ...func(*vmcp.CapabilityList)) *vmcp.Cap... function withTools (line 56) | func withTools(tools ...vmcp.Tool) func(*vmcp.CapabilityList) { function withResources (line 62) | func withResources(resources ...vmcp.Resource) func(*vmcp.CapabilityList) { function withPrompts (line 68) | func withPrompts(prompts ...vmcp.Prompt) func(*vmcp.CapabilityList) { function withLogging (line 74) | func withLogging(enabled bool) func(*vmcp.CapabilityList) { function withSampling (line 80) | func withSampling(enabled bool) func(*vmcp.CapabilityList) { function newTestTool (line 86) | func newTestTool(name, backendID string) vmcp.Tool { function newTestResource (line 95) | func newTestResource(uri, backendID string) vmcp.Resource { function newTestPrompt (line 103) | func newTestPrompt(name, backendID string) vmcp.Prompt { FILE: pkg/vmcp/aggregator/tool_adapter.go function processBackendTools (line 28) | func processBackendTools( function applyAnnotationOverrides (line 127) | func applyAnnotationOverrides(base *vmcp.ToolAnnotations, overrides *con... FILE: pkg/vmcp/aggregator/tool_adapter_annotations_test.go function TestProcessBackendTools_AnnotationsAndOutputSchema (line 17) | func TestProcessBackendTools_AnnotationsAndOutputSchema(t *testing.T) { function TestApplyAnnotationOverrides (line 320) | func TestApplyAnnotationOverrides(t *testing.T) { function TestApplyAnnotationOverrides_DoesNotMutateInput (line 480) | func TestApplyAnnotationOverrides_DoesNotMutateInput(t *testing.T) { FILE: pkg/vmcp/aggregator/tool_adapter_test.go function TestProcessBackendTools (line 14) | func TestProcessBackendTools(t *testing.T) { FILE: pkg/vmcp/auth/auth.go type OutgoingAuthRegistry (line 45) | type OutgoingAuthRegistry interface type Strategy (line 62) | type Strategy interface type Authorizer (line 76) | type Authorizer interface FILE: pkg/vmcp/auth/converters/aws_sts.go type AwsStsConverter (line 17) | type AwsStsConverter struct method StrategyType (line 20) | func (*AwsStsConverter) StrategyType() string { method ConvertToStrategy (line 25) | func (*AwsStsConverter) ConvertToStrategy( method ResolveSecrets (line 66) | func (*AwsStsConverter) ResolveSecrets( FILE: pkg/vmcp/auth/converters/aws_sts_test.go function TestAwsStsConverter (line 20) | func TestAwsStsConverter(t *testing.T) { FILE: pkg/vmcp/auth/converters/header_injection.go type HeaderInjectionConverter (line 20) | type HeaderInjectionConverter struct method StrategyType (line 23) | func (*HeaderInjectionConverter) StrategyType() string { method ConvertToStrategy (line 30) | func (*HeaderInjectionConverter) ConvertToStrategy( method ResolveSecrets (line 53) | func (*HeaderInjectionConverter) ResolveSecrets( FILE: pkg/vmcp/auth/converters/header_injection_test.go function TestHeaderInjectionConverter_StrategyType (line 21) | func TestHeaderInjectionConverter_StrategyType(t *testing.T) { function TestHeaderInjectionConverter_ConvertToStrategy (line 28) | func TestHeaderInjectionConverter_ConvertToStrategy(t *testing.T) { function TestHeaderInjectionConverter_ResolveSecrets (line 102) | func TestHeaderInjectionConverter_ResolveSecrets(t *testing.T) { FILE: pkg/vmcp/auth/converters/interface.go type StrategyConverter (line 21) | type StrategyConverter interface type Registry (line 46) | type Registry struct method Register (line 83) | func (r *Registry) Register(authType mcpv1beta1.ExternalAuthType, conv... method GetConverter (line 90) | func (r *Registry) GetConverter(authType mcpv1beta1.ExternalAuthType) ... function DefaultRegistry (line 58) | func DefaultRegistry() *Registry { function NewRegistry (line 67) | func NewRegistry() *Registry { function ConvertToStrategy (line 104) | func ConvertToStrategy( function ResolveSecretsForStrategy (line 127) | func ResolveSecretsForStrategy( function DiscoverAndResolveAuth (line 156) | func DiscoverAndResolveAuth( FILE: pkg/vmcp/auth/converters/registry_test.go function TestDefaultRegistry (line 22) | func TestDefaultRegistry(t *testing.T) { function TestNewRegistry (line 106) | func TestNewRegistry(t *testing.T) { function TestRegistry_Register (line 174) | func TestRegistry_Register(t *testing.T) { function TestRegistry_GetConverter (line 247) | func TestRegistry_GetConverter(t *testing.T) { function TestConvertToStrategy (line 308) | func TestConvertToStrategy(t *testing.T) { function TestResolveSecretsForStrategyFunc (line 420) | func TestResolveSecretsForStrategyFunc(t *testing.T) { FILE: pkg/vmcp/auth/converters/token_exchange.go type TokenExchangeConverter (line 20) | type TokenExchangeConverter struct method StrategyType (line 23) | func (*TokenExchangeConverter) StrategyType() string { method ConvertToStrategy (line 29) | func (*TokenExchangeConverter) ConvertToStrategy( method ResolveSecrets (line 81) | func (*TokenExchangeConverter) ResolveSecrets( FILE: pkg/vmcp/auth/converters/token_exchange_test.go function TestTokenExchangeConverter_StrategyType (line 22) | func TestTokenExchangeConverter_StrategyType(t *testing.T) { function TestTokenExchangeConverter_ConvertToStrategy (line 29) | func TestTokenExchangeConverter_ConvertToStrategy(t *testing.T) { function TestTokenExchangeConverter_ResolveSecrets (line 307) | func TestTokenExchangeConverter_ResolveSecrets(t *testing.T) { FILE: pkg/vmcp/auth/converters/unauthenticated.go type UnauthenticatedConverter (line 17) | type UnauthenticatedConverter struct method StrategyType (line 20) | func (*UnauthenticatedConverter) StrategyType() string { method ConvertToStrategy (line 26) | func (*UnauthenticatedConverter) ConvertToStrategy( method ResolveSecrets (line 36) | func (*UnauthenticatedConverter) ResolveSecrets( FILE: pkg/vmcp/auth/converters/unauthenticated_test.go function TestUnauthenticatedConverter_StrategyType (line 18) | func TestUnauthenticatedConverter_StrategyType(t *testing.T) { function TestUnauthenticatedConverter_ConvertToStrategy (line 25) | func TestUnauthenticatedConverter_ConvertToStrategy(t *testing.T) { function TestUnauthenticatedConverter_ResolveSecrets (line 87) | func TestUnauthenticatedConverter_ResolveSecrets(t *testing.T) { function TestUnauthenticatedConverter_Integration (line 114) | func TestUnauthenticatedConverter_Integration(t *testing.T) { FILE: pkg/vmcp/auth/converters/upstream_inject.go type UpstreamInjectConverter (line 19) | type UpstreamInjectConverter struct method StrategyType (line 22) | func (*UpstreamInjectConverter) StrategyType() string { method ConvertToStrategy (line 28) | func (*UpstreamInjectConverter) ConvertToStrategy( method ResolveSecrets (line 45) | func (*UpstreamInjectConverter) ResolveSecrets( FILE: pkg/vmcp/auth/converters/upstream_inject_test.go function TestUpstreamInjectConverter_StrategyType (line 18) | func TestUpstreamInjectConverter_StrategyType(t *testing.T) { function TestUpstreamInjectConverter_ConvertToStrategy (line 25) | func TestUpstreamInjectConverter_ConvertToStrategy(t *testing.T) { function TestUpstreamInjectConverter_ResolveSecrets (line 95) | func TestUpstreamInjectConverter_ResolveSecrets(t *testing.T) { function TestUpstreamInjectConverter_Integration (line 128) | func TestUpstreamInjectConverter_Integration(t *testing.T) { FILE: pkg/vmcp/auth/factory/authz_not_wired_test.go function TestNewIncomingAuthMiddleware_AuthzEnforced (line 30) | func TestNewIncomingAuthMiddleware_AuthzEnforced(t *testing.T) { function TestNewIncomingAuthMiddleware_AuthzApproveAndBlock (line 151) | func TestNewIncomingAuthMiddleware_AuthzApproveAndBlock(t *testing.T) { FILE: pkg/vmcp/auth/factory/incoming.go function NewIncomingAuthMiddleware (line 50) | func NewIncomingAuthMiddleware( function newCedarAuthzMiddleware (line 108) | func newCedarAuthzMiddleware( function newOIDCAuthMiddleware (line 152) | func newOIDCAuthMiddleware( function newLocalAuthMiddleware (line 207) | func newLocalAuthMiddleware(ctx context.Context) (func(http.Handler) htt... function newAnonymousAuthMiddleware (line 222) | func newAnonymousAuthMiddleware() (func(http.Handler) http.Handler, http... FILE: pkg/vmcp/auth/factory/incoming_keyprovider_test.go function TestNewOIDCAuthMiddleware_KeyProvider_LocalResolution (line 29) | func TestNewOIDCAuthMiddleware_KeyProvider_LocalResolution(t *testing.T) { function TestNewOIDCAuthMiddleware_KeyProvider_HTTPFallback (line 101) | func TestNewOIDCAuthMiddleware_KeyProvider_HTTPFallback(t *testing.T) { function TestNewOIDCAuthMiddleware_KeyProvider_KidMissFallback (line 148) | func TestNewOIDCAuthMiddleware_KeyProvider_KidMissFallback(t *testing.T) { FILE: pkg/vmcp/auth/factory/incoming_test.go function TestNewIncomingAuthMiddleware (line 20) | func TestNewIncomingAuthMiddleware(t *testing.T) { function TestNewCedarAuthzMiddleware_PropagatesPrimaryUpstreamProvider (line 163) | func TestNewCedarAuthzMiddleware_PropagatesPrimaryUpstreamProvider(t *te... FILE: pkg/vmcp/auth/factory/incoming_upstream_test.go constant testKeyID (line 27) | testKeyID = "test-key-1" function newTestOIDCServer (line 32) | func newTestOIDCServer(t *testing.T) (*httptest.Server, *rsa.PrivateKey) { function signJWT (line 78) | func signJWT(t *testing.T, privateKey *rsa.PrivateKey, claims jwt.MapCla... function TestNewOIDCAuthMiddleware_UpstreamTokenReaderWiring (line 91) | func TestNewOIDCAuthMiddleware_UpstreamTokenReaderWiring(t *testing.T) { FILE: pkg/vmcp/auth/factory/integration_test.go function TestHeaderInjectionIntegration (line 30) | func TestHeaderInjectionIntegration(t *testing.T) { FILE: pkg/vmcp/auth/factory/outgoing.go function NewOutgoingAuthRegistry (line 47) | func NewOutgoingAuthRegistry( FILE: pkg/vmcp/auth/factory/outgoing_test.go function TestNewOutgoingAuthRegistry (line 17) | func TestNewOutgoingAuthRegistry(t *testing.T) { FILE: pkg/vmcp/auth/mocks/mock_strategy.go type MockStrategy (line 22) | type MockStrategy struct method EXPECT (line 41) | func (m *MockStrategy) EXPECT() *MockStrategyMockRecorder { method Authenticate (line 46) | func (m *MockStrategy) Authenticate(ctx context.Context, req *http.Req... method Name (line 60) | func (m *MockStrategy) Name() string { method Validate (line 74) | func (m *MockStrategy) Validate(strategy *types.BackendAuthStrategy) e... type MockStrategyMockRecorder (line 29) | type MockStrategyMockRecorder struct method Authenticate (line 54) | func (mr *MockStrategyMockRecorder) Authenticate(ctx, req, strategy an... method Name (line 68) | func (mr *MockStrategyMockRecorder) Name() *gomock.Call { method Validate (line 82) | func (mr *MockStrategyMockRecorder) Validate(strategy any) *gomock.Call { function NewMockStrategy (line 34) | func NewMockStrategy(ctrl *gomock.Controller) *MockStrategy { FILE: pkg/vmcp/auth/outgoing_registry.go type DefaultOutgoingAuthRegistry (line 30) | type DefaultOutgoingAuthRegistry struct method RegisterStrategy (line 60) | func (r *DefaultOutgoingAuthRegistry) RegisterStrategy(name string, st... method GetStrategy (line 96) | func (r *DefaultOutgoingAuthRegistry) GetStrategy(name string) (Strate... function NewDefaultOutgoingAuthRegistry (line 40) | func NewDefaultOutgoingAuthRegistry() *DefaultOutgoingAuthRegistry { FILE: pkg/vmcp/auth/outgoing_registry_test.go function TestDefaultOutgoingAuthRegistry_RegisterStrategy (line 18) | func TestDefaultOutgoingAuthRegistry_RegisterStrategy(t *testing.T) { function TestDefaultOutgoingAuthRegistry_GetStrategy (line 114) | func TestDefaultOutgoingAuthRegistry_GetStrategy(t *testing.T) { function TestDefaultOutgoingAuthRegistry_ConcurrentAccess (line 155) | func TestDefaultOutgoingAuthRegistry_ConcurrentAccess(t *testing.T) { FILE: pkg/vmcp/auth/strategies/aws_sts.go type awsStsContext (line 25) | type awsStsContext struct type AwsStsStrategy (line 56) | type AwsStsStrategy struct method Name (line 69) | func (*AwsStsStrategy) Name() string { method Authenticate (line 91) | func (s *AwsStsStrategy) Authenticate( method Validate (line 200) | func (s *AwsStsStrategy) Validate(strategy *authtypes.BackendAuthStrat... method getOrCreateContext (line 224) | func (s *AwsStsStrategy) getOrCreateContext(ctx context.Context, cfg *... function NewAwsStsStrategy (line 62) | func NewAwsStsStrategy() *AwsStsStrategy { function authenticateWithCached (line 114) | func authenticateWithCached( function selectRole (line 169) | func selectRole(roleMapper *awssts.RoleMapper, claims map[string]any) (s... function resolveSessionName (line 178) | func resolveSessionName(cfg *awssts.Config, claims map[string]any) (stri... function buildAwsStsCacheKey (line 282) | func buildAwsStsCacheKey(cfg *awssts.Config) string { function toAwsStsConfig (line 329) | func toAwsStsConfig(in *authtypes.AwsStsConfig) *awssts.Config { FILE: pkg/vmcp/auth/strategies/aws_sts_test.go function TestAwsStsStrategy_Name (line 19) | func TestAwsStsStrategy_Name(t *testing.T) { function TestAwsStsStrategy_Authenticate (line 26) | func TestAwsStsStrategy_Authenticate(t *testing.T) { function TestAwsStsStrategy_Validate (line 101) | func TestAwsStsStrategy_Validate(t *testing.T) { function TestBuildAwsStsCacheKey (line 182) | func TestBuildAwsStsCacheKey(t *testing.T) { function TestAwsStsStrategy_multiBackendCache (line 217) | func TestAwsStsStrategy_multiBackendCache(t *testing.T) { FILE: pkg/vmcp/auth/strategies/constants.go constant MetadataHeaderName (line 11) | MetadataHeaderName = "header_name" constant MetadataHeaderValue (line 15) | MetadataHeaderValue = "header_value" constant MetadataHeaderValueEnv (line 21) | MetadataHeaderValueEnv = "header_value_env" FILE: pkg/vmcp/auth/strategies/header_injection.go type HeaderInjectionStrategy (line 37) | type HeaderInjectionStrategy struct method Name (line 45) | func (*HeaderInjectionStrategy) Name() string { method Authenticate (line 66) | func (*HeaderInjectionStrategy) Authenticate( method Validate (line 97) | func (*HeaderInjectionStrategy) Validate(strategy *authtypes.BackendAu... function NewHeaderInjectionStrategy (line 40) | func NewHeaderInjectionStrategy() *HeaderInjectionStrategy { FILE: pkg/vmcp/auth/strategies/header_injection_test.go function TestHeaderInjectionStrategy_Name (line 19) | func TestHeaderInjectionStrategy_Name(t *testing.T) { function TestHeaderInjectionStrategy_Authenticate (line 26) | func TestHeaderInjectionStrategy_Authenticate(t *testing.T) { function TestHeaderInjectionStrategy_Validate (line 252) | func TestHeaderInjectionStrategy_Validate(t *testing.T) { FILE: pkg/vmcp/auth/strategies/tokenexchange.go constant nonePlaceholder (line 26) | nonePlaceholder = "" type TokenExchangeStrategy (line 54) | type TokenExchangeStrategy struct method Name (line 72) | func (*TokenExchangeStrategy) Name() string { method Authenticate (line 99) | func (s *TokenExchangeStrategy) Authenticate( method authenticateWithClientCredentials (line 153) | func (*TokenExchangeStrategy) authenticateWithClientCredentials( method Validate (line 184) | func (s *TokenExchangeStrategy) Validate(strategy *authtypes.BackendAu... method parseClientSecret (line 202) | func (s *TokenExchangeStrategy) parseClientSecret(config *authtypes.To... method parseTokenExchangeConfig (line 229) | func (s *TokenExchangeStrategy) parseTokenExchangeConfig(strategy *aut... method getOrCreateServerConfig (line 284) | func (s *TokenExchangeStrategy) getOrCreateServerConfig( method createUserConfig (line 330) | func (s *TokenExchangeStrategy) createUserConfig( function NewTokenExchangeStrategy (line 64) | func NewTokenExchangeStrategy(envReader env.Reader) *TokenExchangeStrate... type tokenExchangeConfig (line 190) | type tokenExchangeConfig struct function buildCacheKey (line 356) | func buildCacheKey(config *tokenExchangeConfig) string { FILE: pkg/vmcp/auth/strategies/tokenexchange_test.go constant testClientID (line 25) | testClientID = "test-client" function createTestIdentity (line 29) | func createTestIdentity(subject, token string) *auth.Identity { function createMockEnvReader (line 38) | func createMockEnvReader(t *testing.T) *mocks.MockReader { function createContextWithIdentity (line 46) | func createContextWithIdentity(subject, token string) context.Context { function createContextWithUpstreamTokens (line 50) | func createContextWithUpstreamTokens(subject, token string, upstreamToke... function createTokenExchangeStrategy (line 59) | func createTokenExchangeStrategy(tokenURL string, opts ...func(*authtype... function createSuccessfulTokenServer (line 72) | func createSuccessfulTokenServer(t *testing.T, tokenPrefix string, valid... function TestTokenExchangeStrategy_Authenticate (line 96) | func TestTokenExchangeStrategy_Authenticate(t *testing.T) { function TestTokenExchangeStrategy_Validate (line 417) | func TestTokenExchangeStrategy_Validate(t *testing.T) { function TestTokenExchangeStrategy_CacheSeparation (line 511) | func TestTokenExchangeStrategy_CacheSeparation(t *testing.T) { function TestTokenExchangeStrategy_CacheHitWithDifferentScopeOrder (line 549) | func TestTokenExchangeStrategy_CacheHitWithDifferentScopeOrder(t *testin... function TestTokenExchangeStrategy_SharedConfigAcrossUsers (line 597) | func TestTokenExchangeStrategy_SharedConfigAcrossUsers(t *testing.T) { function TestTokenExchangeStrategy_CurrentTokenUsed (line 629) | func TestTokenExchangeStrategy_CurrentTokenUsed(t *testing.T) { function TestTokenExchangeStrategy_ClientSecretEnv (line 667) | func TestTokenExchangeStrategy_ClientSecretEnv(t *testing.T) { FILE: pkg/vmcp/auth/strategies/unauthenticated.go type UnauthenticatedStrategy (line 37) | type UnauthenticatedStrategy struct method Name (line 45) | func (*UnauthenticatedStrategy) Name() string { method Authenticate (line 61) | func (*UnauthenticatedStrategy) Authenticate(_ context.Context, _ *htt... method Validate (line 74) | func (*UnauthenticatedStrategy) Validate(_ *authtypes.BackendAuthStrat... function NewUnauthenticatedStrategy (line 40) | func NewUnauthenticatedStrategy() *UnauthenticatedStrategy { FILE: pkg/vmcp/auth/strategies/unauthenticated_test.go function TestUnauthenticatedStrategy_Name (line 18) | func TestUnauthenticatedStrategy_Name(t *testing.T) { function TestUnauthenticatedStrategy_Authenticate (line 25) | func TestUnauthenticatedStrategy_Authenticate(t *testing.T) { function TestUnauthenticatedStrategy_Validate (line 114) | func TestUnauthenticatedStrategy_Validate(t *testing.T) { function TestUnauthenticatedStrategy_IntegrationBehavior (line 149) | func TestUnauthenticatedStrategy_IntegrationBehavior(t *testing.T) { FILE: pkg/vmcp/auth/strategies/upstream_inject.go type UpstreamInjectStrategy (line 32) | type UpstreamInjectStrategy struct method Name (line 40) | func (*UpstreamInjectStrategy) Name() string { method Authenticate (line 61) | func (*UpstreamInjectStrategy) Authenticate( method Validate (line 97) | func (*UpstreamInjectStrategy) Validate(strategy *authtypes.BackendAut... function NewUpstreamInjectStrategy (line 35) | func NewUpstreamInjectStrategy() *UpstreamInjectStrategy { FILE: pkg/vmcp/auth/strategies/upstream_inject_test.go function TestUpstreamInjectStrategy_Name (line 20) | func TestUpstreamInjectStrategy_Name(t *testing.T) { function TestUpstreamInjectStrategy_Authenticate (line 27) | func TestUpstreamInjectStrategy_Authenticate(t *testing.T) { function TestUpstreamInjectStrategy_Validate (line 207) | func TestUpstreamInjectStrategy_Validate(t *testing.T) { FILE: pkg/vmcp/auth/types/types.go constant StrategyTypeUnauthenticated (line 26) | StrategyTypeUnauthenticated = "unauthenticated" constant StrategyTypeHeaderInjection (line 30) | StrategyTypeHeaderInjection = "header_injection" constant StrategyTypeTokenExchange (line 35) | StrategyTypeTokenExchange = "token_exchange" constant StrategyTypeUpstreamInject (line 40) | StrategyTypeUpstreamInject = "upstream_inject" constant StrategyTypeAwsSts (line 45) | StrategyTypeAwsSts = "aws_sts" type BackendAuthStrategy (line 54) | type BackendAuthStrategy struct type HeaderInjectionConfig (line 79) | type HeaderInjectionConfig struct type TokenExchangeConfig (line 97) | type TokenExchangeConfig struct type UpstreamInjectConfig (line 137) | type UpstreamInjectConfig struct type RoleMapping (line 147) | type RoleMapping struct type AwsStsConfig (line 167) | type AwsStsConfig struct FILE: pkg/vmcp/auth/types/zz_generated.deepcopy.go method DeepCopyInto (line 26) | func (in *AwsStsConfig) DeepCopyInto(out *AwsStsConfig) { method DeepCopy (line 43) | func (in *AwsStsConfig) DeepCopy() *AwsStsConfig { method DeepCopyInto (line 53) | func (in *BackendAuthStrategy) DeepCopyInto(out *BackendAuthStrategy) { method DeepCopy (line 78) | func (in *BackendAuthStrategy) DeepCopy() *BackendAuthStrategy { method DeepCopyInto (line 88) | func (in *HeaderInjectionConfig) DeepCopyInto(out *HeaderInjectionConfig) { method DeepCopy (line 93) | func (in *HeaderInjectionConfig) DeepCopy() *HeaderInjectionConfig { method DeepCopyInto (line 103) | func (in *RoleMapping) DeepCopyInto(out *RoleMapping) { method DeepCopy (line 113) | func (in *RoleMapping) DeepCopy() *RoleMapping { method DeepCopyInto (line 123) | func (in *TokenExchangeConfig) DeepCopyInto(out *TokenExchangeConfig) { method DeepCopy (line 133) | func (in *TokenExchangeConfig) DeepCopy() *TokenExchangeConfig { method DeepCopyInto (line 143) | func (in *UpstreamInjectConfig) DeepCopyInto(out *UpstreamInjectConfig) { method DeepCopy (line 148) | func (in *UpstreamInjectConfig) DeepCopy() *UpstreamInjectConfig { FILE: pkg/vmcp/cache/cache.go type TokenCache (line 21) | type TokenCache interface type CachedToken (line 40) | type CachedToken struct method IsExpired (line 61) | func (t *CachedToken) IsExpired() bool { method ShouldRefresh (line 67) | func (t *CachedToken) ShouldRefresh(offset time.Duration) bool { type KeyBuilder (line 72) | type KeyBuilder interface type Stats (line 82) | type Stats struct type StatsProvider (line 100) | type StatsProvider interface FILE: pkg/vmcp/cache/cache_test.go function TestCachedToken_IsExpired (line 13) | func TestCachedToken_IsExpired(t *testing.T) { function TestCachedToken_ShouldRefresh (line 70) | func TestCachedToken_ShouldRefresh(t *testing.T) { function TestCachedToken_ShouldRefresh_ConsistentWithIsExpired (line 193) | func TestCachedToken_ShouldRefresh_ConsistentWithIsExpired(t *testing.T) { function TestCachedToken_Lifecycle (line 208) | func TestCachedToken_Lifecycle(t *testing.T) { function TestCachedToken_IndependentExpiry (line 248) | func TestCachedToken_IndependentExpiry(t *testing.T) { FILE: pkg/vmcp/cli/auth_server_config_test.go function TestLoadAuthServerConfig (line 18) | func TestLoadAuthServerConfig(t *testing.T) { FILE: pkg/vmcp/cli/embedding_manager.go constant DefaultEmbeddingImage (line 33) | DefaultEmbeddingImage = "ghcr.io/huggingface/text-embeddings-inference:c... constant DefaultEmbeddingModel (line 36) | DefaultEmbeddingModel = "BAAI/bge-small-en-v1.5" constant teiModelCachePath (line 39) | teiModelCachePath = "/data" constant teiContainerNamePrefix (line 42) | teiContainerNamePrefix = "thv-embedding-" constant teiContainerPort (line 45) | teiContainerPort = "80" constant healthPath (line 49) | healthPath = "/health" constant pollInitialInterval (line 52) | pollInitialInterval = 2 * time.Second constant pollMultiplier (line 55) | pollMultiplier = 2 constant pollMaxInterval (line 58) | pollMaxInterval = 30 * time.Second function modelShortHash (line 64) | func modelShortHash(model string) string { function containerNameForModel (line 71) | func containerNameForModel(model string) string { type ContainerFactory (line 80) | type ContainerFactory interface type EmbeddingServiceManagerConfig (line 87) | type EmbeddingServiceManagerConfig struct type EmbeddingServiceManager (line 107) | type EmbeddingServiceManager struct method Start (line 203) | func (m *EmbeddingServiceManager) Start(ctx context.Context) (string, ... method reuseContainer (line 228) | func (m *EmbeddingServiceManager) reuseContainer(ctx context.Context, ... method deployContainer (line 254) | func (m *EmbeddingServiceManager) deployContainer(ctx context.Context,... method pollHealth (line 322) | func (m *EmbeddingServiceManager) pollHealth(ctx context.Context) error { method Stop (line 361) | func (m *EmbeddingServiceManager) Stop(ctx context.Context) error { function NewEmbeddingServiceManager (line 137) | func NewEmbeddingServiceManager(factory ContainerFactory, cfg EmbeddingS... FILE: pkg/vmcp/cli/embedding_manager_test.go function TestContainerNameForModel (line 26) | func TestContainerNameForModel(t *testing.T) { function TestNewEmbeddingServiceManager_NilFactory (line 67) | func TestNewEmbeddingServiceManager_NilFactory(t *testing.T) { function TestNewEmbeddingServiceManager_EmptyModel (line 74) | func TestNewEmbeddingServiceManager_EmptyModel(t *testing.T) { function TestNewEmbeddingServiceManager_WhitespaceModel (line 83) | func TestNewEmbeddingServiceManager_WhitespaceModel(t *testing.T) { function TestNewEmbeddingServiceManager_WhitespaceModelTrimmed (line 92) | func TestNewEmbeddingServiceManager_WhitespaceModelTrimmed(t *testing.T) { function TestNewEmbeddingServiceManager_DefaultImage (line 102) | func TestNewEmbeddingServiceManager_DefaultImage(t *testing.T) { function TestStart_ReuseExistingContainer (line 115) | func TestStart_ReuseExistingContainer(t *testing.T) { function TestStart_FactoryError (line 152) | func TestStart_FactoryError(t *testing.T) { function pinPortAndHealth (line 170) | func pinPortAndHealth(t *testing.T, mgr *EmbeddingServiceManager, server... function TestStart_DeployNewContainer (line 180) | func TestStart_DeployNewContainer(t *testing.T) { function TestStart_DeployNewContainer_Kubernetes (line 221) | func TestStart_DeployNewContainer_Kubernetes(t *testing.T) { function TestStart_HealthPollTimeout (line 267) | func TestStart_HealthPollTimeout(t *testing.T) { function TestStart_DeployError (line 297) | func TestStart_DeployError(t *testing.T) { function TestStart_ZeroPort (line 325) | func TestStart_ZeroPort(t *testing.T) { function TestStop_OwnsContainer (line 344) | func TestStop_OwnsContainer(t *testing.T) { function TestStop_ReuseContainer (line 363) | func TestStop_ReuseContainer(t *testing.T) { function TestStop_RuntimeError (line 378) | func TestStop_RuntimeError(t *testing.T) { FILE: pkg/vmcp/cli/init.go type InitConfig (line 27) | type InitConfig struct type initTemplateData (line 46) | type initTemplateData struct constant configTemplate (line 55) | configTemplate = "# Generated by `thv vmcp init`. Review and customize b... function Init (line 100) | func Init(ctx context.Context, cfg InitConfig) error { function yamlScalar (line 133) | func yamlScalar(v string) (string, error) { function normalizeTransport (line 144) | func normalizeTransport(t string) (string, bool) { function resolveBackends (line 157) | func resolveBackends( function renderConfig (line 191) | func renderConfig(data initTemplateData) ([]byte, error) { function writeOutput (line 200) | func writeOutput(cfg InitConfig, content []byte) error { FILE: pkg/vmcp/cli/init_test.go function newDiscovererMock (line 26) | func newDiscovererMock(t *testing.T) *workloadmocks.MockDiscoverer { function TestInit_WritesToWriter (line 44) | func TestInit_WritesToWriter(t *testing.T) { function TestInit_WritesToFile (line 64) | func TestInit_WritesToFile(t *testing.T) { function TestInit_SkipsUnsupportedTransport (line 84) | func TestInit_SkipsUnsupportedTransport(t *testing.T) { function TestInit_SkipsNilBackends (line 113) | func TestInit_SkipsNilBackends(t *testing.T) { function TestInit_EmptyGroup (line 138) | func TestInit_EmptyGroup(t *testing.T) { function TestInit_DiscoveryError (line 157) | func TestInit_DiscoveryError(t *testing.T) { function TestInit_RenderedYAMLIsValid (line 173) | func TestInit_RenderedYAMLIsValid(t *testing.T) { function TestInit_OutputFilePermissions (line 203) | func TestInit_OutputFilePermissions(t *testing.T) { function TestInit_NilDiscoverer (line 222) | func TestInit_NilDiscoverer(t *testing.T) { function TestInit_EmptyGroupName (line 232) | func TestInit_EmptyGroupName(t *testing.T) { FILE: pkg/vmcp/cli/mocks/mock_container_factory.go type MockContainerFactory (line 21) | type MockContainerFactory struct method EXPECT (line 40) | func (m *MockContainerFactory) EXPECT() *MockContainerFactoryMockRecor... method Create (line 45) | func (m *MockContainerFactory) Create(ctx context.Context) (runtime.Ru... type MockContainerFactoryMockRecorder (line 28) | type MockContainerFactoryMockRecorder struct method Create (line 54) | func (mr *MockContainerFactoryMockRecorder) Create(ctx any) *gomock.Ca... function NewMockContainerFactory (line 33) | func NewMockContainerFactory(ctrl *gomock.Controller) *MockContainerFact... FILE: pkg/vmcp/cli/optimizer_wiring_test.go type stubEmbeddingManager (line 18) | type stubEmbeddingManager struct method Start (line 26) | func (s *stubEmbeddingManager) Start(_ context.Context) (string, error) { method Stop (line 31) | func (s *stubEmbeddingManager) Stop(_ context.Context) error { function TestInjectOptimizerConfig_NeitherTierEnabled (line 36) | func TestInjectOptimizerConfig_NeitherTierEnabled(t *testing.T) { function TestInjectOptimizerConfig_Tier1Only (line 49) | func TestInjectOptimizerConfig_Tier1Only(t *testing.T) { function TestInjectOptimizerConfig_Tier1_PreservesExistingOptimizerConfig (line 63) | func TestInjectOptimizerConfig_Tier1_PreservesExistingOptimizerConfig(t ... function TestInjectOptimizerConfig_Tier2_SetsEmbeddingURL (line 76) | func TestInjectOptimizerConfig_Tier2_SetsEmbeddingURL(t *testing.T) { function TestInjectOptimizerConfig_Tier2_ImpliesOptimizer (line 92) | func TestInjectOptimizerConfig_Tier2_ImpliesOptimizer(t *testing.T) { function TestInjectOptimizerConfig_Tier2_StartError (line 106) | func TestInjectOptimizerConfig_Tier2_StartError(t *testing.T) { function TestInjectOptimizerConfig_Tier2_NilManagerReturnsError (line 121) | func TestInjectOptimizerConfig_Tier2_NilManagerReturnsError(t *testing.T) { function TestInjectOptimizerConfig_Tier2_CleanupCallsStop (line 134) | func TestInjectOptimizerConfig_Tier2_CleanupCallsStop(t *testing.T) { FILE: pkg/vmcp/cli/serve.go type ServeConfig (line 57) | type ServeConfig struct method validateQuickModeHost (line 90) | func (c ServeConfig) validateQuickModeHost() error { function Serve (line 112) | func Serve(ctx context.Context, cfg ServeConfig) error { type embeddingManager (line 420) | type embeddingManager interface function injectOptimizerConfig (line 429) | func injectOptimizerConfig(ctx context.Context, cfg ServeConfig, vmcpCfg... function getStatusReportingInterval (line 455) | func getStatusReportingInterval(cfg *config.Config) time.Duration { function loadAndValidateConfig (line 465) | func loadAndValidateConfig(configPath string) (*config.Config, error) { function generateQuickModeConfig (line 498) | func generateQuickModeConfig(groupRef string) (*config.Config, error) { function loadAuthServerConfig (line 528) | func loadAuthServerConfig(configPath string) (*authserverconfig.RunConfi... function discoverBackends (line 549) | func discoverBackends( function runDiscovery (line 600) | func runDiscovery( function createSessionFactory (line 638) | func createSessionFactory( FILE: pkg/vmcp/cli/serve_test.go function TestLoadAndValidateConfig (line 27) | func TestLoadAndValidateConfig(t *testing.T) { function TestLoadAuthServerConfig_NestedDir (line 96) | func TestLoadAuthServerConfig_NestedDir(t *testing.T) { function TestDiscoverBackends_StaticMode (line 121) | func TestDiscoverBackends_StaticMode(t *testing.T) { function newSessionFactoryMocks (line 162) | func newSessionFactoryMocks(t *testing.T) (*clientmocks.MockOutgoingAuth... function TestCreateSessionFactory_WithHMACSecret (line 168) | func TestCreateSessionFactory_WithHMACSecret(t *testing.T) { function TestCreateSessionFactory_HMACSecretExactly32Bytes (line 176) | func TestCreateSessionFactory_HMACSecretExactly32Bytes(t *testing.T) { function TestCreateSessionFactory_ShortHMACSecret (line 184) | func TestCreateSessionFactory_ShortHMACSecret(t *testing.T) { function TestCreateSessionFactory_NoSecretNonKubernetes (line 192) | func TestCreateSessionFactory_NoSecretNonKubernetes(t *testing.T) { function TestCreateSessionFactory_NoSecretKubernetes (line 200) | func TestCreateSessionFactory_NoSecretKubernetes(t *testing.T) { function TestRunDiscovery_KubernetesGroupNotFound (line 213) | func TestRunDiscovery_KubernetesGroupNotFound(t *testing.T) { function TestGenerateQuickModeConfig (line 237) | func TestGenerateQuickModeConfig(t *testing.T) { function TestServe_NeitherConfigNorGroup (line 289) | func TestServe_NeitherConfigNorGroup(t *testing.T) { function TestValidateQuickModeHost (line 299) | func TestValidateQuickModeHost(t *testing.T) { function TestRunDiscovery_ZeroBackends (line 344) | func TestRunDiscovery_ZeroBackends(t *testing.T) { FILE: pkg/vmcp/cli/validate.go type ValidateConfig (line 16) | type ValidateConfig struct function Validate (line 24) | func Validate(_ context.Context, cfg ValidateConfig) error { FILE: pkg/vmcp/cli/validate_test.go constant validConfigYAML (line 15) | validConfigYAML = ` function TestValidate (line 33) | func TestValidate(t *testing.T) { FILE: pkg/vmcp/client/auth_propagation_integration_test.go function TestListCapabilities_AuthContextPropagatedThroughClose (line 38) | func TestListCapabilities_AuthContextPropagatedThroughClose(t *testing.T) { FILE: pkg/vmcp/client/client.go constant maxResponseSize (line 54) | maxResponseSize = 100 * 1024 * 1024 type httpBackendClient (line 59) | type httpBackendClient struct method resolveAuthStrategy (line 247) | func (h *httpBackendClient) resolveAuthStrategy(target *vmcp.BackendTa... method defaultClientFactory (line 264) | func (h *httpBackendClient) defaultClientFactory(ctx context.Context, ... method ListCapabilities (line 535) | func (h *httpBackendClient) ListCapabilities(ctx context.Context, targ... method CallTool (line 643) | func (h *httpBackendClient) CallTool( method ReadResource (line 750) | func (h *httpBackendClient) ReadResource( method GetPrompt (line 800) | func (h *httpBackendClient) GetPrompt( function NewHTTPBackendClient (line 77) | func NewHTTPBackendClient(registry vmcpauth.OutgoingAuthRegistry) (vmcp.... function newBackendTransport (line 102) | func newBackendTransport(caBundlePath string, caBundleData []byte) (*htt... type roundTripperFunc (line 165) | type roundTripperFunc method RoundTrip (line 168) | func (f roundTripperFunc) RoundTrip(req *http.Request) (*http.Response... type identityPropagatingRoundTripper (line 181) | type identityPropagatingRoundTripper struct method RoundTrip (line 188) | func (i *identityPropagatingRoundTripper) RoundTrip(req *http.Request)... type tracePropagatingRoundTripper (line 206) | type tracePropagatingRoundTripper struct method RoundTrip (line 212) | func (t *tracePropagatingRoundTripper) RoundTrip(req *http.Request) (*... type authRoundTripper (line 221) | type authRoundTripper struct method RoundTrip (line 231) | func (a *authRoundTripper) RoundTrip(req *http.Request) (*http.Respons... function wrapBackendError (line 396) | func wrapBackendError(err error, backendID string, operation string) err... function initializeClient (line 469) | func initializeClient(ctx context.Context, c *client.Client) (*mcp.Serve... function queryTools (line 494) | func queryTools(ctx context.Context, c *client.Client, supported bool, b... function queryResources (line 507) | func queryResources(ctx context.Context, c *client.Client, supported boo... function queryPrompts (line 520) | func queryPrompts(ctx context.Context, c *client.Client, supported bool,... FILE: pkg/vmcp/client/client_test.go function TestHTTPBackendClient_ListCapabilities_WithMockFactory (line 45) | func TestHTTPBackendClient_ListCapabilities_WithMockFactory(t *testing.T) { function TestQueryHelpers_PartialCapabilities (line 76) | func TestQueryHelpers_PartialCapabilities(t *testing.T) { function TestNewBackendTransport_IsolatesFromDefault (line 110) | func TestNewBackendTransport_IsolatesFromDefault(t *testing.T) { function generateTestCACert (line 125) | func generateTestCACert(t *testing.T) []byte { function TestNewBackendTransport_CustomCA (line 146) | func TestNewBackendTransport_CustomCA(t *testing.T) { function TestDefaultClientFactory_UnsupportedTransport (line 276) | func TestDefaultClientFactory_UnsupportedTransport(t *testing.T) { function TestHTTPBackendClient_CallTool_WithMockFactory (line 327) | func TestHTTPBackendClient_CallTool_WithMockFactory(t *testing.T) { function TestHTTPBackendClient_ReadResource_WithMockFactory (line 357) | func TestHTTPBackendClient_ReadResource_WithMockFactory(t *testing.T) { function TestHTTPBackendClient_GetPrompt_WithMockFactory (line 387) | func TestHTTPBackendClient_GetPrompt_WithMockFactory(t *testing.T) { function TestInitializeClient_ErrorHandling (line 417) | func TestInitializeClient_ErrorHandling(t *testing.T) { type mockRoundTripper (line 433) | type mockRoundTripper struct method RoundTrip (line 439) | func (m *mockRoundTripper) RoundTrip(req *http.Request) (*http.Respons... function TestAuthRoundTripper_RoundTrip (line 447) | func TestAuthRoundTripper_RoundTrip(t *testing.T) { function TestNewHTTPBackendClient_NilRegistry (line 702) | func TestNewHTTPBackendClient_NilRegistry(t *testing.T) { function TestTracePropagatingRoundTripper (line 728) | func TestTracePropagatingRoundTripper(t *testing.T) { function TestTracePropagatingRoundTripper_ParentChildSpan (line 817) | func TestTracePropagatingRoundTripper_ParentChildSpan(t *testing.T) { function TestResolveAuthStrategy (line 846) | func TestResolveAuthStrategy(t *testing.T) { function TestWrapBackendError (line 961) | func TestWrapBackendError(t *testing.T) { function TestIdentityPropagatingRoundTripper_WithIdentity_PropagatesIdentityInContext (line 1030) | func TestIdentityPropagatingRoundTripper_WithIdentity_PropagatesIdentity... function TestIdentityPropagatingRoundTripper_NilIdentity_NoIdentityInContext (line 1049) | func TestIdentityPropagatingRoundTripper_NilIdentity_NoIdentityInContext... function TestIdentityPropagatingRoundTripper_HealthCheck_PropagatesMarker (line 1066) | func TestIdentityPropagatingRoundTripper_HealthCheck_PropagatesMarker(t ... function TestIdentityPropagatingRoundTripper_NonHealthCheck_NoMarkerAdded (line 1084) | func TestIdentityPropagatingRoundTripper_NonHealthCheck_NoMarkerAdded(t ... function TestIdentityPropagatingRoundTripper_HealthCheckWithIdentity_PropagatesBoth (line 1101) | func TestIdentityPropagatingRoundTripper_HealthCheckWithIdentity_Propaga... function TestIdentityPropagatingRoundTripper_HealthCheckClose_OriginalRequestContextUnchanged (line 1126) | func TestIdentityPropagatingRoundTripper_HealthCheckClose_OriginalReques... FILE: pkg/vmcp/client/meta_integration_test.go function TestMetaPreservation_CallTool (line 28) | func TestMetaPreservation_CallTool(t *testing.T) { function TestMetaPreservation_CallTool_NoMeta (line 77) | func TestMetaPreservation_CallTool_NoMeta(t *testing.T) { function TestMetaPreservation_CallTool_Error (line 124) | func TestMetaPreservation_CallTool_Error(t *testing.T) { function TestMetaPreservation_GetPrompt (line 171) | func TestMetaPreservation_GetPrompt(t *testing.T) { function TestMetaPreservation_ReadResource (line 227) | func TestMetaPreservation_ReadResource(t *testing.T) { function startTestMCPServer (line 268) | func startTestMCPServer(t *testing.T) (string, func()) { FILE: pkg/vmcp/client/mocks/mock_outgoing_registry.go type MockOutgoingAuthRegistry (line 20) | type MockOutgoingAuthRegistry struct method EXPECT (line 39) | func (m *MockOutgoingAuthRegistry) EXPECT() *MockOutgoingAuthRegistryM... method GetStrategy (line 44) | func (m *MockOutgoingAuthRegistry) GetStrategy(name string) (auth.Stra... method RegisterStrategy (line 59) | func (m *MockOutgoingAuthRegistry) RegisterStrategy(name string, strat... type MockOutgoingAuthRegistryMockRecorder (line 27) | type MockOutgoingAuthRegistryMockRecorder struct method GetStrategy (line 53) | func (mr *MockOutgoingAuthRegistryMockRecorder) GetStrategy(name any) ... method RegisterStrategy (line 67) | func (mr *MockOutgoingAuthRegistryMockRecorder) RegisterStrategy(name,... function NewMockOutgoingAuthRegistry (line 32) | func NewMockOutgoingAuthRegistry(ctrl *gomock.Controller) *MockOutgoingA... FILE: pkg/vmcp/composer/composer.go type Composer (line 29) | type Composer interface type WorkflowDefinition (line 47) | type WorkflowDefinition struct type WorkflowStep (line 77) | type WorkflowStep struct type StepType (line 142) | type StepType constant StepTypeTool (line 146) | StepTypeTool StepType = "tool" constant StepTypeElicitation (line 149) | StepTypeElicitation StepType = "elicitation" constant StepTypeForEach (line 152) | StepTypeForEach StepType = "forEach" type ErrorHandler (line 156) | type ErrorHandler struct type ElicitationConfig (line 173) | type ElicitationConfig struct type ElicitationHandler (line 193) | type ElicitationHandler struct type WorkflowResult (line 200) | type WorkflowResult struct type StepResult (line 231) | type StepResult struct type WorkflowStatus (line 263) | type WorkflowStatus struct type PendingElicitation (line 287) | type PendingElicitation struct type WorkflowStatusType (line 302) | type WorkflowStatusType constant WorkflowStatusPending (line 306) | WorkflowStatusPending WorkflowStatusType = "pending" constant WorkflowStatusRunning (line 309) | WorkflowStatusRunning WorkflowStatusType = "running" constant WorkflowStatusWaitingForElicitation (line 312) | WorkflowStatusWaitingForElicitation WorkflowStatusType = "waiting_for_el... constant WorkflowStatusCompleted (line 315) | WorkflowStatusCompleted WorkflowStatusType = "completed" constant WorkflowStatusFailed (line 318) | WorkflowStatusFailed WorkflowStatusType = "failed" constant WorkflowStatusCancelled (line 321) | WorkflowStatusCancelled WorkflowStatusType = "cancelled" constant WorkflowStatusTimedOut (line 324) | WorkflowStatusTimedOut WorkflowStatusType = "timed_out" type StepStatusType (line 328) | type StepStatusType constant StepStatusPending (line 332) | StepStatusPending StepStatusType = "pending" constant StepStatusRunning (line 335) | StepStatusRunning StepStatusType = "running" constant StepStatusCompleted (line 338) | StepStatusCompleted StepStatusType = "completed" constant StepStatusFailed (line 341) | StepStatusFailed StepStatusType = "failed" constant StepStatusSkipped (line 344) | StepStatusSkipped StepStatusType = "skipped" type TemplateExpander (line 348) | type TemplateExpander interface type WorkflowContext (line 368) | type WorkflowContext struct type WorkflowMetadata (line 394) | type WorkflowMetadata struct type WorkflowStateStore (line 414) | type WorkflowStateStore interface type ElicitationProtocolHandler (line 435) | type ElicitationProtocolHandler interface type ElicitationResponse (line 457) | type ElicitationResponse struct FILE: pkg/vmcp/composer/composite_output_integration_test.go function TestCompositeToolWithOutputConfig_SimpleTypes (line 21) | func TestCompositeToolWithOutputConfig_SimpleTypes(t *testing.T) { function TestCompositeToolWithOutputConfig_NestedObjects (line 84) | func TestCompositeToolWithOutputConfig_NestedObjects(t *testing.T) { function TestCompositeToolWithOutputConfig_MultiStepAggregation (line 164) | func TestCompositeToolWithOutputConfig_MultiStepAggregation(t *testing.T) { function TestCompositeToolWithOutputConfig_DefaultValues (line 236) | func TestCompositeToolWithOutputConfig_DefaultValues(t *testing.T) { function TestCompositeToolWithOutputConfig_JSONDeserialization (line 300) | func TestCompositeToolWithOutputConfig_JSONDeserialization(t *testing.T) { function TestCompositeToolWithOutputConfig_RequiredFields (line 359) | func TestCompositeToolWithOutputConfig_RequiredFields(t *testing.T) { function TestCompositeToolWithOutputConfig_TypeCoercionErrors (line 447) | func TestCompositeToolWithOutputConfig_TypeCoercionErrors(t *testing.T) { function TestCompositeToolWithOutputConfig_ConditionalStepsWithOutput (line 561) | func TestCompositeToolWithOutputConfig_ConditionalStepsWithOutput(t *tes... function TestCompositeToolWithOutputConfig_ParallelStepsAggregation (line 615) | func TestCompositeToolWithOutputConfig_ParallelStepsAggregation(t *testi... function TestCompositeToolWithOutputConfig_ErrorHandlingWithRetry (line 682) | func TestCompositeToolWithOutputConfig_ErrorHandlingWithRetry(t *testing... function TestCompositeToolWithOutputConfig_ArrayProperty (line 746) | func TestCompositeToolWithOutputConfig_ArrayProperty(t *testing.T) { FILE: pkg/vmcp/composer/dag_executor.go constant defaultMaxParallelSteps (line 18) | defaultMaxParallelSteps = 10 constant failureModeContinue (line 19) | failureModeContinue = "continue" type dagExecutor (line 24) | type dagExecutor struct method MaxParallel (line 45) | func (d *dagExecutor) MaxParallel() int { method executeDAG (line 62) | func (d *dagExecutor) executeDAG( method executeLevel (line 97) | func (d *dagExecutor) executeLevel( method shouldContinueOnError (line 159) | func (*dagExecutor) shouldContinueOnError(step *WorkflowStep, failureM... method buildExecutionLevels (line 174) | func (*dagExecutor) buildExecutionLevels(steps []WorkflowStep) ([]*exe... method getExecutionStats (line 243) | func (*dagExecutor) getExecutionStats(levels []*executionLevel) map[st... function newDAGExecutor (line 33) | func newDAGExecutor(maxParallel int) *dagExecutor { type executionLevel (line 50) | type executionLevel struct FILE: pkg/vmcp/composer/dag_executor_test.go function TestDAGExecutor_BuildExecutionLevels (line 20) | func TestDAGExecutor_BuildExecutionLevels(t *testing.T) { function TestDAGExecutor_CircularDependency (line 124) | func TestDAGExecutor_CircularDependency(t *testing.T) { function TestDAGExecutor_ParallelExecution (line 165) | func TestDAGExecutor_ParallelExecution(t *testing.T) { function TestDAGExecutor_DependencyOrder (line 217) | func TestDAGExecutor_DependencyOrder(t *testing.T) { function TestDAGExecutor_ErrorHandling (line 246) | func TestDAGExecutor_ErrorHandling(t *testing.T) { function TestDAGExecutor_StepLevelErrorHandling (line 312) | func TestDAGExecutor_StepLevelErrorHandling(t *testing.T) { function TestDAGExecutor_Concurrency (line 343) | func TestDAGExecutor_Concurrency(t *testing.T) { function TestDAGExecutor_ContextCancellation (line 392) | func TestDAGExecutor_ContextCancellation(t *testing.T) { function TestDAGExecutor_GetExecutionStats (line 440) | func TestDAGExecutor_GetExecutionStats(t *testing.T) { function TestDAGExecutor_ComplexWorkflow (line 465) | func TestDAGExecutor_ComplexWorkflow(t *testing.T) { FILE: pkg/vmcp/composer/elicitation_handler.go constant defaultElicitationTimeout (line 23) | defaultElicitationTimeout = 5 * time.Minute constant maxElicitationTimeout (line 28) | maxElicitationTimeout = 10 * time.Minute constant maxSchemaSize (line 32) | maxSchemaSize = 100 * 1024 constant maxSchemaDepth (line 36) | maxSchemaDepth = 10 constant maxResponseContentSize (line 40) | maxResponseContentSize = 1 * 1024 * 1024 constant elicitationActionAccept (line 43) | elicitationActionAccept = "accept" constant elicitationActionDecline (line 46) | elicitationActionDecline = "decline" constant elicitationActionCancel (line 49) | elicitationActionCancel = "cancel" type SDKElicitationRequester (line 80) | type SDKElicitationRequester interface type DefaultElicitationHandler (line 100) | type DefaultElicitationHandler struct method RequestElicitation (line 133) | func (h *DefaultElicitationHandler) RequestElicitation( function NewDefaultElicitationHandler (line 111) | func NewDefaultElicitationHandler(sdkRequester SDKElicitationRequester) ... function validateConfig (line 223) | func validateConfig(config *ElicitationConfig) error { function validateSchemaSize (line 238) | func validateSchemaSize(schema map[string]any) error { function validateSchemaDepth (line 255) | func validateSchemaDepth(obj any, depth, maxDepth int) error { function validateContentSize (line 279) | func validateContentSize(content any) error { function validateContentDepth (line 300) | func validateContentDepth(content any) error { FILE: pkg/vmcp/composer/elicitation_handler_test.go function TestDefaultElicitationHandler_RequestElicitation (line 21) | func TestDefaultElicitationHandler_RequestElicitation(t *testing.T) { function TestValidateSchemaSize (line 226) | func TestValidateSchemaSize(t *testing.T) { function TestValidateContentSize (line 296) | func TestValidateContentSize(t *testing.T) { FILE: pkg/vmcp/composer/elicitation_integration_test.go function TestWorkflowEngine_ExecuteElicitationStep_Accept (line 21) | func TestWorkflowEngine_ExecuteElicitationStep_Accept(t *testing.T) { function TestWorkflowEngine_ExecuteElicitationStep_Decline (line 105) | func TestWorkflowEngine_ExecuteElicitationStep_Decline(t *testing.T) { function TestWorkflowEngine_ExecuteElicitationStep_Cancel (line 190) | func TestWorkflowEngine_ExecuteElicitationStep_Cancel(t *testing.T) { function TestWorkflowEngine_ExecuteElicitationStep_Timeout (line 267) | func TestWorkflowEngine_ExecuteElicitationStep_Timeout(t *testing.T) { function TestWorkflowEngine_ExecuteElicitationStep_NoHandler (line 307) | func TestWorkflowEngine_ExecuteElicitationStep_NoHandler(t *testing.T) { function TestWorkflowEngine_MultiStepWithElicitation (line 335) | func TestWorkflowEngine_MultiStepWithElicitation(t *testing.T) { function TestWorkflowEngine_ValidateElicitationStep (line 403) | func TestWorkflowEngine_ValidateElicitationStep(t *testing.T) { function TestDefaultElicitationHandler_SDKErrorHandling (line 470) | func TestDefaultElicitationHandler_SDKErrorHandling(t *testing.T) { function TestWorkflowEngine_ElicitationMessageTemplateExpansion (line 531) | func TestWorkflowEngine_ElicitationMessageTemplateExpansion(t *testing.T) { FILE: pkg/vmcp/composer/foreach_test.go function TestForEachStep_BasicIteration (line 20) | func TestForEachStep_BasicIteration(t *testing.T) { function TestForEachStep_EmptyCollection (line 86) | func TestForEachStep_EmptyCollection(t *testing.T) { function TestForEachStep_ErrorAbort (line 129) | func TestForEachStep_ErrorAbort(t *testing.T) { function TestForEachStep_ErrorContinue (line 169) | func TestForEachStep_ErrorContinue(t *testing.T) { function TestForEachStep_MaxIterationsExceeded (line 235) | func TestForEachStep_MaxIterationsExceeded(t *testing.T) { function TestForEachStep_DownstreamAccess (line 272) | func TestForEachStep_DownstreamAccess(t *testing.T) { function TestForEachStep_BoundedParallelism (line 326) | func TestForEachStep_BoundedParallelism(t *testing.T) { function TestForEachStep_TemplateContext (line 384) | func TestForEachStep_TemplateContext(t *testing.T) { function TestForEachStep_StringCollection (line 447) | func TestForEachStep_StringCollection(t *testing.T) { function TestForEachStep_InvalidCollection (line 485) | func TestForEachStep_InvalidCollection(t *testing.T) { FILE: pkg/vmcp/composer/mocks/mock_sdk_elicitation_requester.go type MockSDKElicitationRequester (line 21) | type MockSDKElicitationRequester struct method EXPECT (line 40) | func (m *MockSDKElicitationRequester) EXPECT() *MockSDKElicitationRequ... method RequestElicitation (line 45) | func (m *MockSDKElicitationRequester) RequestElicitation(ctx context.C... type MockSDKElicitationRequesterMockRecorder (line 28) | type MockSDKElicitationRequesterMockRecorder struct method RequestElicitation (line 54) | func (mr *MockSDKElicitationRequesterMockRecorder) RequestElicitation(... function NewMockSDKElicitationRequester (line 33) | func NewMockSDKElicitationRequester(ctrl *gomock.Controller) *MockSDKEli... FILE: pkg/vmcp/composer/output_constructor.go constant typeString (line 20) | typeString = "string" constant typeInteger (line 21) | typeInteger = "integer" constant typeNumber (line 22) | typeNumber = "number" constant typeBoolean (line 23) | typeBoolean = "boolean" constant typeObject (line 24) | typeObject = "object" constant typeArray (line 25) | typeArray = "array" method constructOutputFromConfig (line 31) | func (e *workflowEngine) constructOutputFromConfig( method constructOutputProperty (line 68) | func (e *workflowEngine) constructOutputProperty( method constructOutputPropertyFromValue (line 89) | func (e *workflowEngine) constructOutputPropertyFromValue( method constructOutputPropertyFromProperties (line 169) | func (e *workflowEngine) constructOutputPropertyFromProperties( method coerceStringToType (line 195) | func (*workflowEngine) coerceStringToType(value string, targetType strin... method coerceRawJSONDefaultValue (line 230) | func (e *workflowEngine) coerceRawJSONDefaultValue(defaultVal thvjson.An... method coerceDefaultValue (line 242) | func (*workflowEngine) coerceDefaultValue(defaultVal any, targetType str... FILE: pkg/vmcp/composer/output_constructor_test.go function TestConstructOutputFromConfig (line 16) | func TestConstructOutputFromConfig(t *testing.T) { function TestCoerceStringToType (line 427) | func TestCoerceStringToType(t *testing.T) { function TestCoerceDefaultValue (line 527) | func TestCoerceDefaultValue(t *testing.T) { function contains (line 644) | func contains(s, substr string) bool { FILE: pkg/vmcp/composer/output_validator.go constant maxOutputPropertyDepth (line 16) | maxOutputPropertyDepth = 10 function ValidateOutputConfig (line 26) | func ValidateOutputConfig(output *config.OutputConfig) error { function validateOutputProperty (line 57) | func validateOutputProperty(name string, prop config.OutputProperty, dep... function validateTemplateSyntax (line 170) | func validateTemplateSyntax(tmpl string) error { function validateDefaultValueType (line 202) | func validateDefaultValueType(defaultVal any, targetType string, propert... FILE: pkg/vmcp/composer/output_validator_test.go function TestValidateOutputConfig (line 13) | func TestValidateOutputConfig(t *testing.T) { function genNestedProperty (line 288) | func genNestedProperty(depth int) config.OutputProperty { FILE: pkg/vmcp/composer/security_test.go function TestTemplateExpander_DepthLimit (line 21) | func TestTemplateExpander_DepthLimit(t *testing.T) { function TestTemplateExpander_OutputSizeLimit (line 42) | func TestTemplateExpander_OutputSizeLimit(t *testing.T) { function TestWorkflowEngine_MaxStepsValidation (line 57) | func TestWorkflowEngine_MaxStepsValidation(t *testing.T) { function TestWorkflowEngine_RetryCountCapping (line 73) | func TestWorkflowEngine_RetryCountCapping(t *testing.T) { function TestTemplateExpander_NoCodeExecution (line 110) | func TestTemplateExpander_NoCodeExecution(t *testing.T) { function TestWorkflowEngine_CircularDependencyDetection (line 134) | func TestWorkflowEngine_CircularDependencyDetection(t *testing.T) { function TestWorkflowContext_ConcurrentAccess (line 164) | func TestWorkflowContext_ConcurrentAccess(t *testing.T) { function TestTemplateExpander_SafeFunctions (line 188) | func TestTemplateExpander_SafeFunctions(t *testing.T) { function TestWorkflowEngine_NoSensitiveDataInErrors (line 210) | func TestWorkflowEngine_NoSensitiveDataInErrors(t *testing.T) { FILE: pkg/vmcp/composer/state_store.go type inMemoryStateStore (line 18) | type inMemoryStateStore struct method SaveState (line 60) | func (s *inMemoryStateStore) SaveState(_ context.Context, workflowID s... method LoadState (line 100) | func (s *inMemoryStateStore) LoadState(_ context.Context, workflowID s... method DeleteState (line 130) | func (s *inMemoryStateStore) DeleteState(_ context.Context, workflowID... method ListActiveWorkflows (line 148) | func (s *inMemoryStateStore) ListActiveWorkflows(_ context.Context) ([... method Stop (line 166) | func (s *inMemoryStateStore) Stop() { method runCleanup (line 172) | func (s *inMemoryStateStore) runCleanup() { method cleanup (line 190) | func (s *inMemoryStateStore) cleanup() { method logMetrics (line 221) | func (s *inMemoryStateStore) logMetrics() { method GetStats (line 254) | func (s *inMemoryStateStore) GetStats() map[string]int { function NewInMemoryStateStore (line 37) | func NewInMemoryStateStore(cleanupInterval, maxAge time.Duration) Workfl... FILE: pkg/vmcp/composer/state_store_test.go function TestInMemoryStateStore_SaveAndLoad (line 16) | func TestInMemoryStateStore_SaveAndLoad(t *testing.T) { function TestInMemoryStateStore_LoadNotFound (line 42) | func TestInMemoryStateStore_LoadNotFound(t *testing.T) { function TestInMemoryStateStore_Delete (line 53) | func TestInMemoryStateStore_Delete(t *testing.T) { function TestInMemoryStateStore_DeleteNotFound (line 81) | func TestInMemoryStateStore_DeleteNotFound(t *testing.T) { function TestInMemoryStateStore_ListActiveWorkflows (line 92) | func TestInMemoryStateStore_ListActiveWorkflows(t *testing.T) { function TestInMemoryStateStore_Cleanup (line 144) | func TestInMemoryStateStore_Cleanup(t *testing.T) { function TestInMemoryStateStore_GetStats (line 189) | func TestInMemoryStateStore_GetStats(t *testing.T) { function TestInMemoryStateStore_Concurrency (line 230) | func TestInMemoryStateStore_Concurrency(t *testing.T) { function TestInMemoryStateStore_DeepCopy (line 284) | func TestInMemoryStateStore_DeepCopy(t *testing.T) { function TestInMemoryStateStore_UpdateExisting (line 325) | func TestInMemoryStateStore_UpdateExisting(t *testing.T) { function TestInMemoryStateStore_ValidationErrors (line 356) | func TestInMemoryStateStore_ValidationErrors(t *testing.T) { FILE: pkg/vmcp/composer/template_expander.go constant maxTemplateDepth (line 21) | maxTemplateDepth = 100 constant maxTemplateOutputSize (line 25) | maxTemplateOutputSize = 10 * 1024 * 1024 type defaultTemplateExpander (line 29) | type defaultTemplateExpander struct method Expand (line 43) | func (e *defaultTemplateExpander) Expand( method ExpandString (line 52) | func (e *defaultTemplateExpander) ExpandString( method ExpandWithForEach (line 61) | func (e *defaultTemplateExpander) ExpandWithForEach( method expandMap (line 72) | func (e *defaultTemplateExpander) expandMap( method expandValueWithDepth (line 96) | func (e *defaultTemplateExpander) expandValueWithDepth( method expandStringInternal (line 145) | func (e *defaultTemplateExpander) expandStringInternal( method buildStepsContext (line 197) | func (*defaultTemplateExpander) buildStepsContext(workflowCtx *Workflo... method buildWorkflowContext (line 224) | func (*defaultTemplateExpander) buildWorkflowContext(workflowCtx *Work... method EvaluateCondition (line 244) | func (e *defaultTemplateExpander) EvaluateCondition( function NewTemplateExpander (line 35) | func NewTemplateExpander() TemplateExpander { FILE: pkg/vmcp/composer/template_expander_test.go function TestTemplateExpander_Expand (line 17) | func TestTemplateExpander_Expand(t *testing.T) { function TestTemplateExpander_EvaluateCondition (line 138) | func TestTemplateExpander_EvaluateCondition(t *testing.T) { function TestWorkflowContext_Lifecycle (line 183) | func TestWorkflowContext_Lifecycle(t *testing.T) { function TestWorkflowContext_GetLastStepOutput (line 213) | func TestWorkflowContext_GetLastStepOutput(t *testing.T) { function TestWorkflowContext_Clone (line 237) | func TestWorkflowContext_Clone(t *testing.T) { function TestTemplateExpander_WorkflowMetadata (line 261) | func TestTemplateExpander_WorkflowMetadata(t *testing.T) { function TestTemplateExpander_WorkflowMetadataEmpty (line 420) | func TestTemplateExpander_WorkflowMetadataEmpty(t *testing.T) { function TestTemplateExpander_FromJsonFunction (line 442) | func TestTemplateExpander_FromJsonFunction(t *testing.T) { FILE: pkg/vmcp/composer/testhelpers_test.go type testEngine (line 19) | type testEngine struct method expectToolCall (line 51) | func (te *testEngine) expectToolCall(toolName string, args, output map... method expectToolCallWithError (line 68) | func (te *testEngine) expectToolCallWithError(toolName string, args ma... method expectToolCallWithAnyArgsAndError (line 78) | func (te *testEngine) expectToolCallWithAnyArgsAndError(toolName strin... method expectToolCallWithAnyArgs (line 88) | func (te *testEngine) expectToolCallWithAnyArgs(toolName string, outpu... function newTestEngine (line 27) | func newTestEngine(t *testing.T) *testEngine { function newWorkflowContext (line 104) | func newWorkflowContext(params map[string]any) *WorkflowContext { function toolStep (line 122) | func toolStep(id, tool string, args map[string]any) WorkflowStep { function toolStepWithDeps (line 132) | func toolStepWithDeps(id, tool string, args map[string]any, deps []strin... function simpleWorkflow (line 139) | func simpleWorkflow(name string, steps ...WorkflowStep) *WorkflowDefinit... function execute (line 147) | func execute(t *testing.T, engine Composer, def *WorkflowDefinition, par... FILE: pkg/vmcp/composer/workflow_audit_integration_test.go function TestWorkflowEngine_WithAuditor_SuccessfulWorkflow (line 23) | func TestWorkflowEngine_WithAuditor_SuccessfulWorkflow(t *testing.T) { function TestWorkflowEngine_WithAuditor_FailedWorkflow (line 76) | func TestWorkflowEngine_WithAuditor_FailedWorkflow(t *testing.T) { function TestWorkflowEngine_WithAuditor_WorkflowTimeout (line 111) | func TestWorkflowEngine_WithAuditor_WorkflowTimeout(t *testing.T) { function TestWorkflowEngine_WithAuditor_StepSkipped (line 152) | func TestWorkflowEngine_WithAuditor_StepSkipped(t *testing.T) { function TestWorkflowEngine_WithAuditor_RetryStep (line 205) | func TestWorkflowEngine_WithAuditor_RetryStep(t *testing.T) { FILE: pkg/vmcp/composer/workflow_context.go type workflowContextManager (line 18) | type workflowContextManager struct method CreateContext (line 31) | func (m *workflowContextManager) CreateContext(params map[string]any) ... method GetContext (line 57) | func (m *workflowContextManager) GetContext(workflowID string) (*Workf... method DeleteContext (line 70) | func (m *workflowContextManager) DeleteContext(workflowID string) { function newWorkflowContextManager (line 24) | func newWorkflowContextManager() *workflowContextManager { method RecordStepStart (line 79) | func (ctx *WorkflowContext) RecordStepStart(stepID string) { method RecordStepSuccess (line 93) | func (ctx *WorkflowContext) RecordStepSuccess(stepID string, output map[... method RecordStepFailure (line 108) | func (ctx *WorkflowContext) RecordStepFailure(stepID string, err error) { method RecordStepSkipped (line 123) | func (ctx *WorkflowContext) RecordStepSkipped(stepID string, defaultResu... method GetStepResult (line 138) | func (ctx *WorkflowContext) GetStepResult(stepID string) (*StepResult, b... method HasStepCompleted (line 148) | func (ctx *WorkflowContext) HasStepCompleted(stepID string) bool { method HasStepFailed (line 158) | func (ctx *WorkflowContext) HasStepFailed(stepID string) bool { method GetLastStepOutput (line 169) | func (ctx *WorkflowContext) GetLastStepOutput() map[string]any { method Clone (line 190) | func (ctx *WorkflowContext) Clone() *WorkflowContext { function cloneMap (line 236) | func cloneMap(m map[string]any) map[string]any { FILE: pkg/vmcp/composer/workflow_engine.go constant defaultWorkflowTimeout (line 29) | defaultWorkflowTimeout = 30 * time.Minute constant defaultStepTimeout (line 32) | defaultStepTimeout = 5 * time.Minute constant maxWorkflowSteps (line 36) | maxWorkflowSteps = 100 constant maxRetryCount (line 40) | maxRetryCount = 10 type workflowEngine (line 44) | type workflowEngine struct method ExecuteWorkflow (line 113) | func (e *workflowEngine) ExecuteWorkflow( method executeStep (line 309) | func (e *workflowEngine) executeStep( method executeToolStep (line 401) | func (e *workflowEngine) executeToolStep( method callToolWithRetry (line 455) | func (e *workflowEngine) callToolWithRetry( method extractErrorMessage (line 516) | func (*workflowEngine) extractErrorMessage(result *vmcp.ToolCallResult... method getRetryConfig (line 545) | func (*workflowEngine) getRetryConfig(step *WorkflowStep) (int, time.D... method handleToolStepFailure (line 568) | func (*workflowEngine) handleToolStepFailure( method handleToolStepSuccess (line 596) | func (e *workflowEngine) handleToolStepSuccess( method executeElicitationStep (line 620) | func (e *workflowEngine) executeElicitationStep( method executeForEachStep (line 702) | func (e *workflowEngine) executeForEachStep( method prepareForEachCollection (line 781) | func (e *workflowEngine) prepareForEachCollection( method validateCollectionSize (line 803) | func (*workflowEngine) validateCollectionSize(step *WorkflowStep, size... method executeForEachIteration (line 819) | func (e *workflowEngine) executeForEachIteration( method resolveForEachCollection (line 916) | func (e *workflowEngine) resolveForEachCollection( method handleElicitationAccept (line 945) | func (*workflowEngine) handleElicitationAccept( method handleElicitationDecline (line 967) | func (e *workflowEngine) handleElicitationDecline( method handleElicitationCancel (line 985) | func (e *workflowEngine) handleElicitationCancel( method handleElicitationTimeout (line 1003) | func (e *workflowEngine) handleElicitationTimeout( method handleElicitationAction (line 1021) | func (*workflowEngine) handleElicitationAction( method buildWorkflowStatus (line 1069) | func (*workflowEngine) buildWorkflowStatus(workflowCtx *WorkflowContex... method checkpointWorkflowState (line 1093) | func (e *workflowEngine) checkpointWorkflowState(ctx context.Context, ... method ValidateWorkflow (line 1111) | func (e *workflowEngine) ValidateWorkflow(_ context.Context, def *Work... method validateDependencies (line 1169) | func (*workflowEngine) validateDependencies(steps []WorkflowStep) error { method validateStep (line 1226) | func (*workflowEngine) validateStep(step *WorkflowStep, validStepIDs m... method GetWorkflowStatus (line 1276) | func (e *workflowEngine) GetWorkflowStatus(ctx context.Context, workfl... method CancelWorkflow (line 1297) | func (e *workflowEngine) CancelWorkflow(ctx context.Context, workflowI... method updateWorkflowMetadata (line 1335) | func (*workflowEngine) updateWorkflowMetadata( method auditWorkflowStart (line 1414) | func (e *workflowEngine) auditWorkflowStart( method auditWorkflowCompletion (line 1427) | func (e *workflowEngine) auditWorkflowCompletion( method auditWorkflowFailure (line 1441) | func (e *workflowEngine) auditWorkflowFailure( method auditWorkflowTimeout (line 1455) | func (e *workflowEngine) auditWorkflowTimeout( method auditStepStart (line 1468) | func (e *workflowEngine) auditStepStart( method auditStepCompletion (line 1481) | func (e *workflowEngine) auditStepCompletion( method auditStepFailure (line 1494) | func (e *workflowEngine) auditStepFailure( method auditStepSkipped (line 1508) | func (e *workflowEngine) auditStepSkipped( method getToolInputSchema (line 1523) | func (e *workflowEngine) getToolInputSchema(ctx context.Context, toolN... function NewWorkflowEngine (line 83) | func NewWorkflowEngine( constant defaultMaxIterations (line 689) | defaultMaxIterations = 100 type iterationResult (line 692) | type iterationResult struct function buildForEachOutput (line 876) | func buildForEachOutput(results []iterationResult, totalCount int) map[s... function truncate (line 936) | func truncate(s string, maxRunes int) string { function applyParameterDefaults (line 1374) | func applyParameterDefaults(inputSchema map[string]any, params map[strin... FILE: pkg/vmcp/composer/workflow_engine_test.go function TestWorkflowEngine_ExecuteWorkflow_Success (line 24) | func TestWorkflowEngine_ExecuteWorkflow_Success(t *testing.T) { function TestWorkflowEngine_ExecuteWorkflow_StepFailure (line 58) | func TestWorkflowEngine_ExecuteWorkflow_StepFailure(t *testing.T) { function TestWorkflowEngine_ExecuteWorkflow_WithRetry (line 73) | func TestWorkflowEngine_ExecuteWorkflow_WithRetry(t *testing.T) { function TestWorkflowEngine_ExecuteWorkflow_IsErrorHandling (line 112) | func TestWorkflowEngine_ExecuteWorkflow_IsErrorHandling(t *testing.T) { function TestWorkflowEngine_ExecuteWorkflow_IsErrorExhaustsRetries (line 167) | func TestWorkflowEngine_ExecuteWorkflow_IsErrorExhaustsRetries(t *testin... function TestWorkflowEngine_ExecuteWorkflow_ConditionalSkip (line 207) | func TestWorkflowEngine_ExecuteWorkflow_ConditionalSkip(t *testing.T) { function TestWorkflowEngine_ValidateWorkflow (line 234) | func TestWorkflowEngine_ValidateWorkflow(t *testing.T) { function TestWorkflowEngine_ExecuteWorkflow_Timeout (line 270) | func TestWorkflowEngine_ExecuteWorkflow_Timeout(t *testing.T) { function TestWorkflowEngine_ExecuteWorkflow_ParameterDefaults (line 307) | func TestWorkflowEngine_ExecuteWorkflow_ParameterDefaults(t *testing.T) { function TestWorkflowEngine_ExecuteWorkflow_ParameterDefaultsOverride (line 347) | func TestWorkflowEngine_ExecuteWorkflow_ParameterDefaultsOverride(t *tes... function TestWorkflowEngine_ParallelExecution (line 386) | func TestWorkflowEngine_ParallelExecution(t *testing.T) { function TestWorkflowEngine_ExecuteWorkflow_WithWorkflowMetadata (line 551) | func TestWorkflowEngine_ExecuteWorkflow_WithWorkflowMetadata(t *testing.... function TestWorkflowEngine_WorkflowMetadataAvailableInTemplates (line 693) | func TestWorkflowEngine_WorkflowMetadataAvailableInTemplates(t *testing.... function TestWorkflowEngine_SessionEngine_CoercesTemplateStringToTypedArg (line 749) | func TestWorkflowEngine_SessionEngine_CoercesTemplateStringToTypedArg(t ... function TestWorkflowEngine_SessionEngine_ToolNotInList_ReturnsNilSchema (line 811) | func TestWorkflowEngine_SessionEngine_ToolNotInList_ReturnsNilSchema(t *... function TestWorkflowEngine_EmbeddedResourceAccessibleFromTemplate (line 850) | func TestWorkflowEngine_EmbeddedResourceAccessibleFromTemplate(t *testin... FILE: pkg/vmcp/composer/workflow_errors.go type WorkflowError (line 43) | type WorkflowError struct method Error (line 58) | func (e *WorkflowError) Error() string { method Unwrap (line 66) | func (e *WorkflowError) Unwrap() error { function NewWorkflowError (line 71) | func NewWorkflowError(workflowID, stepID, message string, cause error) *... type ValidationError (line 81) | type ValidationError struct method Error (line 93) | func (e *ValidationError) Error() string { method Unwrap (line 101) | func (e *ValidationError) Unwrap() error { function NewValidationError (line 106) | func NewValidationError(field, message string, cause error) *ValidationE... FILE: pkg/vmcp/composer/workflow_state_store.go type InMemoryWorkflowStateStore (line 24) | type InMemoryWorkflowStateStore struct method SaveState (line 41) | func (s *InMemoryWorkflowStateStore) SaveState( method LoadState (line 67) | func (s *InMemoryWorkflowStateStore) LoadState( method DeleteState (line 90) | func (s *InMemoryWorkflowStateStore) DeleteState( method ListActiveWorkflows (line 109) | func (s *InMemoryWorkflowStateStore) ListActiveWorkflows(_ context.Con... function NewInMemoryWorkflowStateStore (line 31) | func NewInMemoryWorkflowStateStore() WorkflowStateStore { function cloneWorkflowStatus (line 123) | func cloneWorkflowStatus(state *WorkflowStatus) *WorkflowStatus { function clonePendingElicitation (line 152) | func clonePendingElicitation(pe *PendingElicitation) *PendingElicitation { FILE: pkg/vmcp/composer/workflow_state_store_test.go constant testModifiedWorkflowID (line 16) | testModifiedWorkflowID = "modified" function TestInMemoryWorkflowStateStore_SaveState (line 18) | func TestInMemoryWorkflowStateStore_SaveState(t *testing.T) { function TestInMemoryWorkflowStateStore_LoadState (line 84) | func TestInMemoryWorkflowStateStore_LoadState(t *testing.T) { function TestInMemoryWorkflowStateStore_DeleteState (line 152) | func TestInMemoryWorkflowStateStore_DeleteState(t *testing.T) { function TestInMemoryWorkflowStateStore_ListActiveWorkflows (line 214) | func TestInMemoryWorkflowStateStore_ListActiveWorkflows(t *testing.T) { function TestInMemoryWorkflowStateStore_StateIsolation (line 283) | func TestInMemoryWorkflowStateStore_StateIsolation(t *testing.T) { function TestInMemoryWorkflowStateStore_Concurrent (line 324) | func TestInMemoryWorkflowStateStore_Concurrent(t *testing.T) { function TestCloneWorkflowStatus (line 374) | func TestCloneWorkflowStatus(t *testing.T) { function TestCloneWorkflowStatus_NilHandling (line 416) | func TestCloneWorkflowStatus_NilHandling(t *testing.T) { FILE: pkg/vmcp/config/composite_validation.go constant WorkflowStepTypeToolCall (line 22) | WorkflowStepTypeToolCall = "tool" constant WorkflowStepTypeElicitation (line 23) | WorkflowStepTypeElicitation = "elicitation" constant WorkflowStepTypeForEach (line 24) | WorkflowStepTypeForEach = "forEach" constant ErrorActionAbort (line 29) | ErrorActionAbort = "abort" constant ErrorActionContinue (line 30) | ErrorActionContinue = "continue" constant ErrorActionRetry (line 31) | ErrorActionRetry = "retry" constant ElicitationResponseActionAbort (line 36) | ElicitationResponseActionAbort = "abort" constant ElicitationResponseActionContinue (line 37) | ElicitationResponseActionContinue = "continue" constant ElicitationResponseActionSkipRemaining (line 38) | ElicitationResponseActionSkipRemaining = "skip_remaining" function ValidateCompositeToolConfig (line 44) | func ValidateCompositeToolConfig(pathPrefix string, tool *CompositeToolC... function ValidateParameters (line 88) | func ValidateParameters(pathPrefix string, params thvjson.Map) error { function ValidateWorkflowSteps (line 126) | func ValidateWorkflowSteps(pathPrefix string, steps []WorkflowStepConfig... function ValidateWorkflowStep (line 154) | func ValidateWorkflowStep(pathPrefix string, index int, step *WorkflowSt... function ValidateStepType (line 199) | func ValidateStepType(pathPrefix string, index int, step *WorkflowStepCo... constant MaxForEachIterations (line 244) | MaxForEachIterations = 1000 function ValidateForEachStep (line 247) | func ValidateForEachStep(pathPrefix string, index int, step *WorkflowSte... function validateForEachInnerStep (line 277) | func validateForEachInnerStep(pathPrefix string, index int, inner *Workf... constant maxForEachParallel (line 313) | maxForEachParallel = 50 function validateForEachLimits (line 316) | func validateForEachLimits(pathPrefix string, index int, step *WorkflowS... function isValidGoIdentifier (line 346) | func isValidGoIdentifier(s string) bool { function ValidateStepTemplates (line 351) | func ValidateStepTemplates(pathPrefix string, index int, step *WorkflowS... function ValidateStepDependencies (line 396) | func ValidateStepDependencies(pathPrefix string, index int, step *Workfl... function ValidateStepErrorHandling (line 406) | func ValidateStepErrorHandling(pathPrefix string, index int, onError *St... function ValidateElicitationResponseHandler (line 428) | func ValidateElicitationResponseHandler( function ValidateDependencyCycles (line 450) | func ValidateDependencyCycles(pathPrefix string, steps []WorkflowStepCon... type stepFieldRef (line 492) | type stepFieldRef struct function ValidateDefaultResultsForSteps (line 502) | func ValidateDefaultResultsForSteps(pathPrefix string, steps []WorkflowS... function stepMayBeSkipped (line 575) | func stepMayBeSkipped(step WorkflowStepConfig) bool { function extractStepFieldRefsFromStep (line 586) | func extractStepFieldRefsFromStep(step WorkflowStepConfig) ([]stepFieldR... function extractStepFieldRefsFromOutput (line 624) | func extractStepFieldRefsFromOutput(output *OutputConfig) ([]stepFieldRe... function extractStepFieldRefsFromTemplate (line 654) | func extractStepFieldRefsFromTemplate(tmplStr string) ([]stepFieldRef, e... function uniqueStepFieldRefs (line 677) | func uniqueStepFieldRefs(refs []stepFieldRef) []stepFieldRef { function ValidateTemplate (line 692) | func ValidateTemplate(tmpl string) error { function ValidateJSONSchema (line 701) | func ValidateJSONSchema(schemaBytes []byte) error { function IsValidToolReference (line 727) | func IsValidToolReference(tool string) bool { FILE: pkg/vmcp/config/composite_validation_test.go function TestValidateDefaultResultsForSteps (line 15) | func TestValidateDefaultResultsForSteps(t *testing.T) { function TestStepMayBeSkipped (line 214) | func TestStepMayBeSkipped(t *testing.T) { function TestExtractStepFieldRefsFromTemplate (line 264) | func TestExtractStepFieldRefsFromTemplate(t *testing.T) { function TestValidateCompositeToolConfig (line 345) | func TestValidateCompositeToolConfig(t *testing.T) { function TestValidateWorkflowStepTypes (line 452) | func TestValidateWorkflowStepTypes(t *testing.T) { function TestValidateStepErrorHandling (line 507) | func TestValidateStepErrorHandling(t *testing.T) { function TestValidateDependencyCycles (line 561) | func TestValidateDependencyCycles(t *testing.T) { FILE: pkg/vmcp/config/config.go constant RedisPasswordEnvVar (line 27) | RedisPasswordEnvVar = "THV_SESSION_REDIS_PASSWORD" constant TransportSSE (line 33) | TransportSSE = "sse" constant TransportStreamableHTTP (line 35) | TransportStreamableHTTP = "streamable-http" type Duration (line 46) | type Duration method MarshalJSON (line 49) | func (d Duration) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 54) | func (d *Duration) UnmarshalJSON(data []byte) error { method MarshalYAML (line 68) | func (d Duration) MarshalYAML() (interface{}, error) { method UnmarshalYAML (line 73) | func (d *Duration) UnmarshalYAML(unmarshal func(interface{}) error) er... type Config (line 95) | type Config struct type IncomingAuthConfig (line 189) | type IncomingAuthConfig struct type OIDCConfig (line 203) | type OIDCConfig struct type AuthzConfig (line 257) | type AuthzConfig struct type StaticBackendConfig (line 278) | type StaticBackendConfig struct type OutgoingAuthConfig (line 327) | type OutgoingAuthConfig struct method ResolveForBackend (line 343) | func (c *OutgoingAuthConfig) ResolveForBackend(backendID string) *auth... type AggregationConfig (line 374) | type AggregationConfig struct type ConflictResolutionConfig (line 404) | type ConflictResolutionConfig struct type WorkloadToolConfig (line 419) | type WorkloadToolConfig struct type ToolConfigRef (line 459) | type ToolConfigRef struct type ToolAnnotationsOverride (line 470) | type ToolAnnotationsOverride struct type ToolOverride (line 495) | type ToolOverride struct type OperationalConfig (line 514) | type OperationalConfig struct type TimeoutConfig (line 534) | type TimeoutConfig struct type FailureHandlingConfig (line 548) | type FailureHandlingConfig struct type CircuitBreakerConfig (line 588) | type CircuitBreakerConfig struct type CompositeToolConfig (line 613) | type CompositeToolConfig struct type CompositeToolRef (line 656) | type CompositeToolRef struct type WorkflowStepConfig (line 666) | type WorkflowStepConfig struct type StepErrorHandling (line 771) | type StepErrorHandling struct type ElicitationResponseConfig (line 792) | type ElicitationResponseConfig struct type OutputConfig (line 808) | type OutputConfig struct type OutputProperty (line 823) | type OutputProperty struct type OptimizerConfig (line 860) | type OptimizerConfig struct type SessionStorageConfig (line 914) | type SessionStorageConfig struct type Validator (line 936) | type Validator interface type Loader (line 943) | type Loader interface FILE: pkg/vmcp/config/config_test.go function TestOutgoingAuthConfig_ResolveForBackend (line 22) | func TestOutgoingAuthConfig_ResolveForBackend(t *testing.T) { function TestConfigFieldTagsAreCamelCase (line 172) | func TestConfigFieldTagsAreCamelCase(t *testing.T) { function TestCheckStructTags (line 184) | func TestCheckStructTags(t *testing.T) { function checkStructTags (line 309) | func checkStructTags(t reflect.Type, path string, visited map[reflect.Ty... function TestConfigTypesDocumentedInCRDAPI (line 403) | func TestConfigTypesDocumentedInCRDAPI(t *testing.T) { function collectStructTypes (line 452) | func collectStructTypes(t reflect.Type, visited map[reflect.Type]bool) [... function fileExists (line 510) | func fileExists(path string) bool { FILE: pkg/vmcp/config/crd_cli_roundtrip_test.go function TestCRDToCliRoundtrip_HeaderInjection (line 27) | func TestCRDToCliRoundtrip_HeaderInjection(t *testing.T) { function TestCRDToCliRoundtrip_TokenExchange (line 118) | func TestCRDToCliRoundtrip_TokenExchange(t *testing.T) { function TestCRDToCliRoundtrip_FullOutgoingAuthConfig (line 219) | func TestCRDToCliRoundtrip_FullOutgoingAuthConfig(t *testing.T) { function TestCRDToCliRoundtrip_Unauthenticated (line 332) | func TestCRDToCliRoundtrip_Unauthenticated(t *testing.T) { function TestYAMLFieldNaming (line 369) | func TestYAMLFieldNaming(t *testing.T) { function TestConfigRoundtrip (line 443) | func TestConfigRoundtrip(t *testing.T) { function containsString (line 532) | func containsString(s, substr string) bool { function containsSubstring (line 536) | func containsSubstring(s, substr string) bool { function stringSliceEqual (line 546) | func stringSliceEqual(a, b []string) bool { function TestCRDToCliRoundtrip_HeaderInjection_EnvVarResolution (line 560) | func TestCRDToCliRoundtrip_HeaderInjection_EnvVarResolution(t *testing.T) { function TestCRDToCliRoundtrip_TokenExchange_EnvVarResolution (line 745) | func TestCRDToCliRoundtrip_TokenExchange_EnvVarResolution(t *testing.T) { FILE: pkg/vmcp/config/defaults.go constant defaultHealthCheckInterval (line 20) | defaultHealthCheckInterval = 30 * time.Second constant defaultUnhealthyThreshold (line 24) | defaultUnhealthyThreshold = 3 constant defaultStatusReportingInterval (line 27) | defaultStatusReportingInterval = 30 * time.Second constant defaultPartialFailureMode (line 31) | defaultPartialFailureMode = "fail" constant defaultTimeoutDefault (line 34) | defaultTimeoutDefault = 30 * time.Second constant defaultCircuitBreakerFailureThreshold (line 38) | defaultCircuitBreakerFailureThreshold = 5 constant defaultCircuitBreakerTimeout (line 42) | defaultCircuitBreakerTimeout = 60 * time.Second constant defaultCircuitBreakerEnabled (line 45) | defaultCircuitBreakerEnabled = false function DefaultOperationalConfig (line 51) | func DefaultOperationalConfig() *OperationalConfig { method EnsureOperationalDefaults (line 76) | func (c *Config) EnsureOperationalDefaults() { function InjectSubjectProviderNames (line 103) | func InjectSubjectProviderNames(cfg *Config, rc *authserver.RunConfig) { function injectIntoStrategy (line 124) | func injectIntoStrategy(strategy *authtypes.BackendAuthStrategy, provide... FILE: pkg/vmcp/config/defaults_test.go function TestDefaultOperationalConfig (line 17) | func TestDefaultOperationalConfig(t *testing.T) { function TestDefaultOperationalConfig_MultipleCalls (line 38) | func TestDefaultOperationalConfig_MultipleCalls(t *testing.T) { function TestEnsureOperationalDefaults_NilConfig (line 56) | func TestEnsureOperationalDefaults_NilConfig(t *testing.T) { function TestEnsureOperationalDefaults (line 66) | func TestEnsureOperationalDefaults(t *testing.T) { function TestInjectSubjectProviderNames (line 221) | func TestInjectSubjectProviderNames(t *testing.T) { function TestEnsureOperationalDefaults_Idempotent (line 392) | func TestEnsureOperationalDefaults_Idempotent(t *testing.T) { FILE: pkg/vmcp/config/foreach_validation_test.go function TestValidateForEachStep (line 15) | func TestValidateForEachStep(t *testing.T) { function TestIsValidGoIdentifier (line 214) | func TestIsValidGoIdentifier(t *testing.T) { FILE: pkg/vmcp/config/validator.go constant IncomingAuthTypeOIDC (line 20) | IncomingAuthTypeOIDC = "oidc" constant IncomingAuthTypeLocal (line 21) | IncomingAuthTypeLocal = "local" constant IncomingAuthTypeAnonymous (line 22) | IncomingAuthTypeAnonymous = "anonymous" constant defaultStrategyKey (line 29) | defaultStrategyKey = "" type DefaultValidator (line 32) | type DefaultValidator struct method Validate (line 40) | func (v *DefaultValidator) Validate(cfg *Config) error { method validateBasicFields (line 97) | func (*DefaultValidator) validateBasicFields(cfg *Config) error { method validateStaticBackends (line 109) | func (*DefaultValidator) validateStaticBackends(backends []StaticBacke... method validateIncomingAuth (line 134) | func (v *DefaultValidator) validateIncomingAuth(auth *IncomingAuthConf... method validateAuthz (line 180) | func (*DefaultValidator) validateAuthz(authz *AuthzConfig) error { method validateOutgoingAuth (line 193) | func (v *DefaultValidator) validateOutgoingAuth(auth *OutgoingAuthConf... method validateBackendAuthStrategy (line 221) | func (*DefaultValidator) validateBackendAuthStrategy(_ string, strateg... method validateAggregation (line 279) | func (v *DefaultValidator) validateAggregation(agg *AggregationConfig)... method validateConflictStrategy (line 307) | func (*DefaultValidator) validateConflictStrategy(agg *AggregationConf... method validateToolConfigurations (line 330) | func (v *DefaultValidator) validateToolConfigurations(tools []*Workloa... method validateToolOverrides (line 351) | func (*DefaultValidator) validateToolOverrides(overrides map[string]*T... method validateOperational (line 360) | func (v *DefaultValidator) validateOperational(ops *OperationalConfig)... method validateFailureHandling (line 388) | func (*DefaultValidator) validateFailureHandling(fh *FailureHandlingCo... method validateCompositeTools (line 442) | func (*DefaultValidator) validateCompositeTools(tools []CompositeToolC... method validateCompositeToolRefs (line 467) | func (*DefaultValidator) validateCompositeToolRefs(refs []CompositeToo... function NewValidator (line 35) | func NewValidator() *DefaultValidator { function ValidateAuthServerIntegration (line 497) | func ValidateAuthServerIntegration(cfg *Config, rc *authserver.RunConfig... function validateAuthServerRunConfig (line 532) | func validateAuthServerRunConfig(rc *authserver.RunConfig) error { function validateUpstreamInjectProviders (line 551) | func validateUpstreamInjectProviders( function validateAuthServerIncomingAuthConsistency (line 582) | func validateAuthServerIncomingAuthConsistency(cfg *Config, rc *authserv... function hasOIDCIncoming (line 615) | func hasOIDCIncoming(cfg *Config) bool { function validateAuthServerRequiresOIDC (line 624) | func validateAuthServerRequiresOIDC(cfg *Config) error { function hasAuthServerWithOIDCIncoming (line 633) | func hasAuthServerWithOIDCIncoming(cfg *Config, rc *authserver.RunConfig... function collectAllBackendStrategies (line 638) | func collectAllBackendStrategies(cfg *Config) map[string]*authtypes.Back... function hasStrategyType (line 653) | func hasStrategyType(strategies map[string]*authtypes.BackendAuthStrateg... function upstreamExists (line 665) | func upstreamExists(rc *authserver.RunConfig, providerName string) bool { FILE: pkg/vmcp/config/validator_test.go function TestValidator_ValidateBasicFields (line 20) | func TestValidator_ValidateBasicFields(t *testing.T) { function TestValidator_ValidateIncomingAuth (line 110) | func TestValidator_ValidateIncomingAuth(t *testing.T) { function TestValidator_ValidateOutgoingAuth (line 213) | func TestValidator_ValidateOutgoingAuth(t *testing.T) { function TestValidator_ValidateAggregation (line 352) | func TestValidator_ValidateAggregation(t *testing.T) { function TestValidator_ValidateCompositeTools (line 447) | func TestValidator_ValidateCompositeTools(t *testing.T) { function TestValidator_ValidateFailureHandling (line 662) | func TestValidator_ValidateFailureHandling(t *testing.T) { function TestValidateAuthServerIntegration (line 847) | func TestValidateAuthServerIntegration(t *testing.T) { function TestValidator_ValidateStaticBackends (line 1172) | func TestValidator_ValidateStaticBackends(t *testing.T) { FILE: pkg/vmcp/config/yaml_loader.go type YAMLLoader (line 20) | type YAMLLoader struct method Load (line 35) | func (l *YAMLLoader) Load() (*Config, error) { method postProcess (line 63) | func (l *YAMLLoader) postProcess(cfg *Config) error { method processOutgoingAuth (line 85) | func (l *YAMLLoader) processOutgoingAuth(auth *OutgoingAuthConfig) err... method processBackendAuthStrategy (line 104) | func (l *YAMLLoader) processBackendAuthStrategy(name string, strategy ... method processCompositeTool (line 163) | func (l *YAMLLoader) processCompositeTool(tool *CompositeToolConfig) e... method processWorkflowStep (line 184) | func (*YAMLLoader) processWorkflowStep(step *WorkflowStepConfig) { function NewYAMLLoader (line 26) | func NewYAMLLoader(filePath string, envReader env.Reader) *YAMLLoader { function validateParametersJSONSchema (line 203) | func validateParametersJSONSchema(params map[string]any, toolName string... FILE: pkg/vmcp/config/yaml_loader_test.go function createMockEnvReader (line 21) | func createMockEnvReader(t *testing.T, envVars map[string]string) *mocks... function TestYAMLLoader_Load (line 37) | func TestYAMLLoader_Load(t *testing.T) { function TestYAMLLoader_LoadFileNotFound (line 654) | func TestYAMLLoader_LoadFileNotFound(t *testing.T) { function TestYAMLLoader_IntegrationWithValidator (line 669) | func TestYAMLLoader_IntegrationWithValidator(t *testing.T) { FILE: pkg/vmcp/config/yaml_loader_transform_test.go function TestYAMLLoader_processBackendAuthStrategy (line 23) | func TestYAMLLoader_processBackendAuthStrategy(t *testing.T) { function TestYAMLLoader_processCompositeTool (line 212) | func TestYAMLLoader_processCompositeTool(t *testing.T) { function TestYAMLLoader_processWorkflowStep (line 312) | func TestYAMLLoader_processWorkflowStep(t *testing.T) { function TestYAMLLoader_Load_TelemetryConfig (line 386) | func TestYAMLLoader_Load_TelemetryConfig(t *testing.T) { function TestYAMLLoader_StrictMode (line 445) | func TestYAMLLoader_StrictMode(t *testing.T) { FILE: pkg/vmcp/config/zz_generated.deepcopy.go method DeepCopyInto (line 30) | func (in *AggregationConfig) DeepCopyInto(out *AggregationConfig) { method DeepCopy (line 51) | func (in *AggregationConfig) DeepCopy() *AggregationConfig { method DeepCopyInto (line 61) | func (in *AuthzConfig) DeepCopyInto(out *AuthzConfig) { method DeepCopy (line 71) | func (in *AuthzConfig) DeepCopy() *AuthzConfig { method DeepCopyInto (line 81) | func (in *CircuitBreakerConfig) DeepCopyInto(out *CircuitBreakerConfig) { method DeepCopy (line 86) | func (in *CircuitBreakerConfig) DeepCopy() *CircuitBreakerConfig { method DeepCopyInto (line 96) | func (in *CompositeToolConfig) DeepCopyInto(out *CompositeToolConfig) { method DeepCopy (line 114) | func (in *CompositeToolConfig) DeepCopy() *CompositeToolConfig { method DeepCopyInto (line 124) | func (in *CompositeToolRef) DeepCopyInto(out *CompositeToolRef) { method DeepCopy (line 129) | func (in *CompositeToolRef) DeepCopy() *CompositeToolRef { method DeepCopyInto (line 139) | func (in *Config) DeepCopyInto(out *Config) { method DeepCopy (line 210) | func (in *Config) DeepCopy() *Config { method DeepCopyInto (line 220) | func (in *ConflictResolutionConfig) DeepCopyInto(out *ConflictResolution... method DeepCopy (line 230) | func (in *ConflictResolutionConfig) DeepCopy() *ConflictResolutionConfig { method DeepCopyInto (line 240) | func (in *ElicitationResponseConfig) DeepCopyInto(out *ElicitationRespon... method DeepCopy (line 245) | func (in *ElicitationResponseConfig) DeepCopy() *ElicitationResponseConf... method DeepCopyInto (line 255) | func (in *FailureHandlingConfig) DeepCopyInto(out *FailureHandlingConfig) { method DeepCopy (line 265) | func (in *FailureHandlingConfig) DeepCopy() *FailureHandlingConfig { method DeepCopyInto (line 275) | func (in *IncomingAuthConfig) DeepCopyInto(out *IncomingAuthConfig) { method DeepCopy (line 290) | func (in *IncomingAuthConfig) DeepCopy() *IncomingAuthConfig { method DeepCopyInto (line 300) | func (in *OIDCConfig) DeepCopyInto(out *OIDCConfig) { method DeepCopy (line 310) | func (in *OIDCConfig) DeepCopy() *OIDCConfig { method DeepCopyInto (line 320) | func (in *OperationalConfig) DeepCopyInto(out *OperationalConfig) { method DeepCopy (line 335) | func (in *OperationalConfig) DeepCopy() *OperationalConfig { method DeepCopyInto (line 345) | func (in *OptimizerConfig) DeepCopyInto(out *OptimizerConfig) { method DeepCopy (line 350) | func (in *OptimizerConfig) DeepCopy() *OptimizerConfig { method DeepCopyInto (line 360) | func (in *OutgoingAuthConfig) DeepCopyInto(out *OutgoingAuthConfig) { method DeepCopy (line 386) | func (in *OutgoingAuthConfig) DeepCopy() *OutgoingAuthConfig { method DeepCopyInto (line 396) | func (in *OutputConfig) DeepCopyInto(out *OutputConfig) { method DeepCopy (line 413) | func (in *OutputConfig) DeepCopy() *OutputConfig { method DeepCopyInto (line 423) | func (in *OutputProperty) DeepCopyInto(out *OutputProperty) { method DeepCopy (line 436) | func (in *OutputProperty) DeepCopy() *OutputProperty { method DeepCopyInto (line 446) | func (in *SessionStorageConfig) DeepCopyInto(out *SessionStorageConfig) { method DeepCopy (line 451) | func (in *SessionStorageConfig) DeepCopy() *SessionStorageConfig { method DeepCopyInto (line 461) | func (in *StaticBackendConfig) DeepCopyInto(out *StaticBackendConfig) { method DeepCopy (line 473) | func (in *StaticBackendConfig) DeepCopy() *StaticBackendConfig { method DeepCopyInto (line 483) | func (in *StepErrorHandling) DeepCopyInto(out *StepErrorHandling) { method DeepCopy (line 488) | func (in *StepErrorHandling) DeepCopy() *StepErrorHandling { method DeepCopyInto (line 498) | func (in *TimeoutConfig) DeepCopyInto(out *TimeoutConfig) { method DeepCopy (line 510) | func (in *TimeoutConfig) DeepCopy() *TimeoutConfig { method DeepCopyInto (line 520) | func (in *ToolAnnotationsOverride) DeepCopyInto(out *ToolAnnotationsOver... method DeepCopy (line 550) | func (in *ToolAnnotationsOverride) DeepCopy() *ToolAnnotationsOverride { method DeepCopyInto (line 560) | func (in *ToolConfigRef) DeepCopyInto(out *ToolConfigRef) { method DeepCopy (line 565) | func (in *ToolConfigRef) DeepCopy() *ToolConfigRef { method DeepCopyInto (line 575) | func (in *ToolOverride) DeepCopyInto(out *ToolOverride) { method DeepCopy (line 585) | func (in *ToolOverride) DeepCopy() *ToolOverride { method DeepCopyInto (line 595) | func (in *WorkflowStepConfig) DeepCopyInto(out *WorkflowStepConfig) { method DeepCopy (line 628) | func (in *WorkflowStepConfig) DeepCopy() *WorkflowStepConfig { method DeepCopyInto (line 638) | func (in *WorkloadToolConfig) DeepCopyInto(out *WorkloadToolConfig) { method DeepCopy (line 669) | func (in *WorkloadToolConfig) DeepCopy() *WorkloadToolConfig { FILE: pkg/vmcp/conversion/content.go function ConvertMCPAnnotations (line 20) | func ConvertMCPAnnotations(ann *mcp.Annotations) *vmcp.ContentAnnotations { function ToMCPAnnotations (line 49) | func ToMCPAnnotations(ann *vmcp.ContentAnnotations) *mcp.Annotations { function ConvertMCPContent (line 77) | func ConvertMCPContent(content mcp.Content) vmcp.Content { function ConvertMCPContents (line 126) | func ConvertMCPContents(contents []mcp.Content) []vmcp.Content { function ToMCPContent (line 136) | func ToMCPContent(content vmcp.Content) mcp.Content { function toAnnotated (line 197) | func toAnnotated(ann *vmcp.ContentAnnotations) mcp.Annotated { function ToMCPContents (line 206) | func ToMCPContents(contents []vmcp.Content) []mcp.Content { function ConvertMCPResourceContents (line 216) | func ConvertMCPResourceContents(contents []mcp.ResourceContents) []vmcp.... function ToMCPResourceContents (line 243) | func ToMCPResourceContents(contents []vmcp.ResourceContent) []mcp.Resour... function ConvertToolInputSchema (line 269) | func ConvertToolInputSchema(schema mcp.ToolInputSchema) map[string]any { function ConvertMCPPromptMessages (line 283) | func ConvertMCPPromptMessages(messages []mcp.PromptMessage) []vmcp.Promp... function ToMCPPromptMessages (line 295) | func ToMCPPromptMessages(messages []vmcp.PromptMessage) []mcp.PromptMess... function ConvertPromptArguments (line 309) | func ConvertPromptArguments(arguments map[string]any) map[string]string { function ConvertToolAnnotations (line 319) | func ConvertToolAnnotations(ann mcp.ToolAnnotation) *vmcp.ToolAnnotations { function ConvertToolOutputSchema (line 336) | func ConvertToolOutputSchema(schema mcp.ToolOutputSchema) map[string]any { function ToMCPToolAnnotations (line 359) | func ToMCPToolAnnotations(annotations *vmcp.ToolAnnotations) mcp.ToolAnn... function ContentArrayToMap (line 386) | func ContentArrayToMap(content []vmcp.Content) map[string]any { FILE: pkg/vmcp/conversion/content_test.go function boolPtr (line 16) | func boolPtr(b bool) *bool { return &b } function float64Ptr (line 17) | func float64Ptr(f float64) *float64 { return &f } function TestConvertToolAnnotations (line 19) | func TestConvertToolAnnotations(t *testing.T) { function TestConvertToolOutputSchema (line 111) | func TestConvertToolOutputSchema(t *testing.T) { function TestToMCPToolAnnotations (line 167) | func TestToMCPToolAnnotations(t *testing.T) { function TestAnnotationsRoundTrip (line 236) | func TestAnnotationsRoundTrip(t *testing.T) { function TestConvertMCPAnnotations (line 288) | func TestConvertMCPAnnotations(t *testing.T) { function TestToMCPAnnotations (line 366) | func TestToMCPAnnotations(t *testing.T) { function TestContentAnnotationsRoundTrip (line 408) | func TestContentAnnotationsRoundTrip(t *testing.T) { function TestContentAnnotationsRoundTrip_AllTypes (line 438) | func TestContentAnnotationsRoundTrip_AllTypes(t *testing.T) { function TestContentWithoutAnnotations (line 511) | func TestContentWithoutAnnotations(t *testing.T) { FILE: pkg/vmcp/conversion/conversion_test.go function TestConvertToolInputSchema (line 17) | func TestConvertToolInputSchema(t *testing.T) { function TestConvertMCPPromptMessages (line 75) | func TestConvertMCPPromptMessages(t *testing.T) { function TestToMCPPromptMessages (line 135) | func TestToMCPPromptMessages(t *testing.T) { function TestPromptMessagesRoundTrip (line 211) | func TestPromptMessagesRoundTrip(t *testing.T) { function TestConvertPromptArguments (line 246) | func TestConvertPromptArguments(t *testing.T) { function TestConvertMCPContent (line 289) | func TestConvertMCPContent(t *testing.T) { function TestConvertMCPContents (line 364) | func TestConvertMCPContents(t *testing.T) { function TestConvertMCPResourceContents (line 410) | func TestConvertMCPResourceContents(t *testing.T) { function TestToMCPResourceContents (line 474) | func TestToMCPResourceContents(t *testing.T) { function TestResourceContentsRoundTrip (line 561) | func TestResourceContentsRoundTrip(t *testing.T) { function TestContentArrayToMap (line 595) | func TestContentArrayToMap(t *testing.T) { function TestFromMCPMeta (line 789) | func TestFromMCPMeta(t *testing.T) { function TestToMCPMeta (line 900) | func TestToMCPMeta(t *testing.T) { function TestMetaRoundTrip (line 975) | func TestMetaRoundTrip(t *testing.T) { function TestToMCPContent (line 1026) | func TestToMCPContent(t *testing.T) { function TestResourceContentRoundTrip (line 1162) | func TestResourceContentRoundTrip(t *testing.T) { function TestResourceLinkRoundTrip (line 1225) | func TestResourceLinkRoundTrip(t *testing.T) { FILE: pkg/vmcp/conversion/meta.go function FromMCPMeta (line 17) | func FromMCPMeta(meta *mcp.Meta) map[string]any { function ToMCPMeta (line 46) | func ToMCPMeta(meta map[string]any) *mcp.Meta { FILE: pkg/vmcp/discovery/context.go type contextKey (line 19) | type contextKey struct function WithDiscoveredCapabilities (line 26) | func WithDiscoveredCapabilities(ctx context.Context, capabilities *aggre... function DiscoveredCapabilitiesFromContext (line 35) | func DiscoveredCapabilitiesFromContext(ctx context.Context) (*aggregator... FILE: pkg/vmcp/discovery/context_test.go function TestWithDiscoveredCapabilities (line 16) | func TestWithDiscoveredCapabilities(t *testing.T) { FILE: pkg/vmcp/discovery/manager.go type Manager (line 34) | type Manager interface type DefaultManager (line 42) | type DefaultManager struct method Discover (line 65) | func (m *DefaultManager) Discover(ctx context.Context, backends []vmcp... method Stop (line 84) | func (*DefaultManager) Stop() {} function NewManager (line 47) | func NewManager(agg aggregator.Aggregator) (Manager, error) { FILE: pkg/vmcp/discovery/manager_test.go function TestNewManager (line 21) | func TestNewManager(t *testing.T) { function TestDefaultManager_Discover (line 48) | func TestDefaultManager_Discover(t *testing.T) { function TestDefaultManager_Stop (line 134) | func TestDefaultManager_Stop(t *testing.T) { function newTestBackend (line 156) | func newTestBackend(id string) vmcp.Backend { function newTestTool (line 167) | func newTestTool(name, backendID string) vmcp.Tool { FILE: pkg/vmcp/discovery/middleware.go constant discoveryTimeout (line 38) | discoveryTimeout = 15 * time.Second type MultiSessionGetter (line 44) | type MultiSessionGetter interface type middlewareConfig (line 49) | type middlewareConfig struct type MiddlewareOption (line 55) | type MiddlewareOption function WithSessionScopedRouting (line 61) | func WithSessionScopedRouting() MiddlewareOption { function WithDiscoveryTimeout (line 68) | func WithDiscoveryTimeout(timeout time.Duration) MiddlewareOption { function Middleware (line 92) | func Middleware( function filterHealthyBackends (line 157) | func filterHealthyBackends(backends []vmcp.Backend, healthStatusProvider... function handleInitializeRequest (line 225) | func handleInitializeRequest( function handleSubsequentRequest (line 273) | func handleSubsequentRequest( function handleDiscoveryError (line 319) | func handleDiscoveryError(w http.ResponseWriter, _ *http.Request, err er... FILE: pkg/vmcp/discovery/middleware_test.go type stubMultiSessionGetter (line 30) | type stubMultiSessionGetter struct method GetMultiSession (line 38) | func (s *stubMultiSessionGetter) GetMultiSession(sessionID string) (vm... method add (line 43) | func (s *stubMultiSessionGetter) add(sessionID string, sess vmcpsessio... function newStubMultiSessionGetter (line 34) | func newStubMultiSessionGetter() *stubMultiSessionGetter { type unorderedBackendsMatcher (line 49) | type unorderedBackendsMatcher struct method Matches (line 53) | func (m unorderedBackendsMatcher) Matches(x any) bool { method String (line 87) | func (unorderedBackendsMatcher) String() string { function TestMiddleware_InitializeRequest (line 91) | func TestMiddleware_InitializeRequest(t *testing.T) { function TestMiddleware_SubsequentRequest_SkipsDiscovery (line 166) | func TestMiddleware_SubsequentRequest_SkipsDiscovery(t *testing.T) { function TestMiddleware_DiscoveryTimeout (line 236) | func TestMiddleware_DiscoveryTimeout(t *testing.T) { function TestMiddleware_DiscoveryFailure (line 276) | func TestMiddleware_DiscoveryFailure(t *testing.T) { function TestMiddleware_CapabilitiesInContext (line 317) | func TestMiddleware_CapabilitiesInContext(t *testing.T) { function TestMiddleware_PreservesUserContext (line 414) | func TestMiddleware_PreservesUserContext(t *testing.T) { function TestMiddleware_ContextTimeoutHandling (line 482) | func TestMiddleware_ContextTimeoutHandling(t *testing.T) { function TestFilterHealthyBackends (line 532) | func TestFilterHealthyBackends(t *testing.T) { function TestFilterHealthyBackends_WithHealthMonitor (line 651) | func TestFilterHealthyBackends_WithHealthMonitor(t *testing.T) { type mockHealthStatusProvider (line 686) | type mockHealthStatusProvider struct method QueryBackendStatus (line 690) | func (m *mockHealthStatusProvider) QueryBackendStatus(backendID string... FILE: pkg/vmcp/discovery/mocks/mock_manager.go type MockManager (line 22) | type MockManager struct method EXPECT (line 41) | func (m *MockManager) EXPECT() *MockManagerMockRecorder { method Discover (line 46) | func (m *MockManager) Discover(ctx context.Context, backends []vmcp.Ba... method Stop (line 61) | func (m *MockManager) Stop() { type MockManagerMockRecorder (line 29) | type MockManagerMockRecorder struct method Discover (line 55) | func (mr *MockManagerMockRecorder) Discover(ctx, backends any) *gomock... method Stop (line 67) | func (mr *MockManagerMockRecorder) Stop() *gomock.Call { function NewMockManager (line 34) | func NewMockManager(ctrl *gomock.Controller) *MockManager { FILE: pkg/vmcp/errors.go function IsAuthenticationError (line 88) | func IsAuthenticationError(err error) bool { function IsTimeoutError (line 128) | func IsTimeoutError(err error) bool { function IsConnectionError (line 143) | func IsConnectionError(err error) bool { FILE: pkg/vmcp/health/checker.go type healthChecker (line 22) | type healthChecker struct method CheckHealth (line 76) | func (h *healthChecker) CheckHealth(ctx context.Context, target *vmcp.... function NewHealthChecker (line 45) | func NewHealthChecker( function categorizeError (line 146) | func categorizeError(target *vmcp.BackendTarget, err error) vmcp.Backend... function authErrorStatus (line 192) | func authErrorStatus(target *vmcp.BackendTarget) vmcp.BackendHealthStatus { FILE: pkg/vmcp/health/checker_test.go function TestNewHealthChecker (line 22) | func TestNewHealthChecker(t *testing.T) { function TestHealthChecker_CheckHealth_Success (line 60) | func TestHealthChecker_CheckHealth_Success(t *testing.T) { function TestHealthChecker_CheckHealth_ContextCancellation (line 84) | func TestHealthChecker_CheckHealth_ContextCancellation(t *testing.T) { function TestHealthChecker_CheckHealth_NoTimeout (line 114) | func TestHealthChecker_CheckHealth_NoTimeout(t *testing.T) { function TestHealthChecker_CheckHealth_ErrorCategorization (line 139) | func TestHealthChecker_CheckHealth_ErrorCategorization(t *testing.T) { function TestCategorizeError (line 231) | func TestCategorizeError(t *testing.T) { function TestIsAuthenticationError (line 421) | func TestIsAuthenticationError(t *testing.T) { function TestIsTimeoutError (line 466) | func TestIsTimeoutError(t *testing.T) { function TestIsConnectionError (line 493) | func TestIsConnectionError(t *testing.T) { function TestHealthChecker_CheckHealth_Timeout (line 522) | func TestHealthChecker_CheckHealth_Timeout(t *testing.T) { function TestHealthChecker_CheckHealth_ContextCarriesHealthCheckMarker (line 558) | func TestHealthChecker_CheckHealth_ContextCarriesHealthCheckMarker(t *te... function TestHealthChecker_CheckHealth_AuthErrorsCategorizesAsUnauthenticated (line 602) | func TestHealthChecker_CheckHealth_AuthErrorsCategorizesAsUnauthenticate... function TestHealthChecker_CheckHealth_AuthErrorWithOutgoingAuthIsHealthy (line 672) | func TestHealthChecker_CheckHealth_AuthErrorWithOutgoingAuthIsHealthy(t ... function TestHealthChecker_CheckHealth_MultipleBackends (line 740) | func TestHealthChecker_CheckHealth_MultipleBackends(t *testing.T) { FILE: pkg/vmcp/health/circuit_breaker.go type CircuitState (line 13) | type CircuitState constant CircuitClosed (line 17) | CircuitClosed CircuitState = "closed" constant CircuitOpen (line 19) | CircuitOpen CircuitState = "open" constant CircuitHalfOpen (line 21) | CircuitHalfOpen CircuitState = "half-open" type CircuitBreaker (line 25) | type CircuitBreaker interface type circuitBreaker (line 46) | type circuitBreaker struct method RecordSuccess (line 79) | func (cb *circuitBreaker) RecordSuccess() { method RecordFailure (line 99) | func (cb *circuitBreaker) RecordFailure() { method transitionTo (line 119) | func (cb *circuitBreaker) transitionTo(newState CircuitState) { method tryTransitionOpenToHalfOpen (line 127) | func (cb *circuitBreaker) tryTransitionOpenToHalfOpen() bool { method CanAttempt (line 137) | func (cb *circuitBreaker) CanAttempt() bool { method GetState (line 168) | func (cb *circuitBreaker) GetState() CircuitState { method GetLastStateChange (line 175) | func (cb *circuitBreaker) GetLastStateChange() time.Time { method GetFailureCount (line 182) | func (cb *circuitBreaker) GetFailureCount() int { method GetSnapshot (line 193) | func (cb *circuitBreaker) GetSnapshot() circuitBreakerSnapshot { function newCircuitBreaker (line 67) | func newCircuitBreaker(failureThreshold int, timeout time.Duration, name... type circuitBreakerSnapshot (line 206) | type circuitBreakerSnapshot struct type alwaysClosedCircuit (line 215) | type alwaysClosedCircuit struct method RecordSuccess (line 218) | func (*alwaysClosedCircuit) RecordSuccess() {} method RecordFailure (line 221) | func (*alwaysClosedCircuit) RecordFailure() {} method CanAttempt (line 224) | func (*alwaysClosedCircuit) CanAttempt() bool { method GetState (line 229) | func (*alwaysClosedCircuit) GetState() CircuitState { method GetLastStateChange (line 234) | func (*alwaysClosedCircuit) GetLastStateChange() time.Time { method GetFailureCount (line 239) | func (*alwaysClosedCircuit) GetFailureCount() int { method GetSnapshot (line 244) | func (*alwaysClosedCircuit) GetSnapshot() circuitBreakerSnapshot { FILE: pkg/vmcp/health/circuit_breaker_test.go function TestCircuitBreaker_InitialState (line 15) | func TestCircuitBreaker_InitialState(t *testing.T) { function TestCircuitBreaker_ClosedToOpen (line 25) | func TestCircuitBreaker_ClosedToOpen(t *testing.T) { function TestCircuitBreaker_OpenToHalfOpen (line 45) | func TestCircuitBreaker_OpenToHalfOpen(t *testing.T) { function TestCircuitBreaker_HalfOpenToClosed (line 69) | func TestCircuitBreaker_HalfOpenToClosed(t *testing.T) { function TestCircuitBreaker_HalfOpenToOpen (line 92) | func TestCircuitBreaker_HalfOpenToOpen(t *testing.T) { function TestCircuitBreaker_ResetOnSuccess (line 114) | func TestCircuitBreaker_ResetOnSuccess(t *testing.T) { function TestCircuitBreaker_ConcurrentAccess (line 131) | func TestCircuitBreaker_ConcurrentAccess(t *testing.T) { function TestCircuitBreaker_StateTransitionTimestamps (line 174) | func TestCircuitBreaker_StateTransitionTimestamps(t *testing.T) { function TestCircuitBreaker_GetSnapshot (line 201) | func TestCircuitBreaker_GetSnapshot(t *testing.T) { function TestCircuitBreaker_GetSnapshotIsReadOnly (line 224) | func TestCircuitBreaker_GetSnapshotIsReadOnly(t *testing.T) { function TestCircuitBreaker_HalfOpenSingleTest (line 261) | func TestCircuitBreaker_HalfOpenSingleTest(t *testing.T) { function TestCircuitBreaker_ZeroThreshold (line 291) | func TestCircuitBreaker_ZeroThreshold(t *testing.T) { function TestCircuitBreaker_MultipleOpenCloseTransitions (line 306) | func TestCircuitBreaker_MultipleOpenCloseTransitions(t *testing.T) { FILE: pkg/vmcp/health/context/context.go type healthCheckContextKey (line 14) | type healthCheckContextKey struct function WithHealthCheckMarker (line 19) | func WithHealthCheckMarker(ctx context.Context) context.Context { function IsHealthCheck (line 27) | func IsHealthCheck(ctx context.Context) bool { FILE: pkg/vmcp/health/context/context_test.go function TestIsHealthCheck_WrongValueType (line 13) | func TestIsHealthCheck_WrongValueType(t *testing.T) { function TestIsHealthCheck_FalseValue (line 20) | func TestIsHealthCheck_FalseValue(t *testing.T) { FILE: pkg/vmcp/health/monitor.go function WithHealthCheckMarker (line 23) | func WithHealthCheckMarker(ctx context.Context) context.Context { function IsHealthCheck (line 31) | func IsHealthCheck(ctx context.Context) bool { type StatusProvider (line 42) | type StatusProvider interface type backendCheck (line 57) | type backendCheck struct method start (line 68) | func (bc *backendCheck) start(parentCtx context.Context, m *Monitor, i... method stop (line 82) | func (bc *backendCheck) stop() { type Monitor (line 92) | type Monitor struct method Start (line 246) | func (m *Monitor) Start(ctx context.Context) error { method WaitForInitialHealthChecks (line 289) | func (m *Monitor) WaitForInitialHealthChecks() { method Stop (line 298) | func (m *Monitor) Stop() error { method UpdateBackends (line 326) | func (m *Monitor) UpdateBackends(newBackends []vmcp.Backend) { method monitorBackend (line 388) | func (m *Monitor) monitorBackend(ctx context.Context, backend *vmcp.Ba... method performHealthCheck (line 421) | func (m *Monitor) performHealthCheck(ctx context.Context, backend *vmc... method GetBackendStatus (line 462) | func (m *Monitor) GetBackendStatus(backendID string) (vmcp.BackendHeal... method QueryBackendStatus (line 477) | func (m *Monitor) QueryBackendStatus(backendID string) (vmcp.BackendHe... method GetBackendState (line 483) | func (m *Monitor) GetBackendState(backendID string) (*State, error) { method GetAllBackendStates (line 493) | func (m *Monitor) GetAllBackendStates() map[string]*State { method IsBackendHealthy (line 499) | func (m *Monitor) IsBackendHealthy(backendID string) bool { method GetHealthSummary (line 505) | func (m *Monitor) GetHealthSummary() Summary { method BuildStatus (line 584) | func (m *Monitor) BuildStatus() *vmcp.Status { method convertToDiscoveredBackends (line 676) | func (m *Monitor) convertToDiscoveredBackends(allStates map[string]*St... type MonitorConfig (line 137) | type MonitorConfig struct type CircuitBreakerConfig (line 162) | type CircuitBreakerConfig struct function DefaultConfig (line 182) | func DefaultConfig() MonitorConfig { function NewMonitor (line 199) | func NewMonitor( function computeSummary (line 512) | func computeSummary(allStates map[string]*State) Summary { type Summary (line 541) | type Summary struct method Routable (line 559) | func (s Summary) Routable() int { method String (line 564) | func (s Summary) String() string { function determinePhase (line 621) | func determinePhase(summary Summary, configuredBackendCount int) vmcp.Ph... function formatStatusMessage (line 640) | func formatStatusMessage(summary Summary, phase vmcp.Phase, configuredBa... function extractAuthInfo (line 731) | func extractAuthInfo(backend vmcp.Backend) (authConfigRef, authType stri... function pluralBackend (line 742) | func pluralBackend(n int) string { function pluralRequire (line 750) | func pluralRequire(n int) string { function quantifyBackends (line 758) | func quantifyBackends(n int) string { function formatBackendMessage (line 768) | func formatBackendMessage(state *State) string { function categorizeErrorForMessage (line 818) | func categorizeErrorForMessage(err error) string { function buildConditions (line 858) | func buildConditions(summary Summary, phase vmcp.Phase, configuredBacken... function backendChanged (line 939) | func backendChanged(old, updated vmcp.Backend) bool { FILE: pkg/vmcp/health/monitor_test.go function TestNewMonitor_Validation (line 20) | func TestNewMonitor_Validation(t *testing.T) { function TestMonitor_StartStop (line 137) | func TestMonitor_StartStop(t *testing.T) { function TestMonitor_StartErrors (line 182) | func TestMonitor_StartErrors(t *testing.T) { function TestMonitor_StopWithoutStart (line 250) | func TestMonitor_StopWithoutStart(t *testing.T) { function TestMonitor_PeriodicHealthChecks (line 275) | func TestMonitor_PeriodicHealthChecks(t *testing.T) { function TestMonitor_GetHealthSummary (line 319) | func TestMonitor_GetHealthSummary(t *testing.T) { function TestMonitor_GetBackendStatus (line 370) | func TestMonitor_GetBackendStatus(t *testing.T) { function TestMonitor_GetBackendState (line 419) | func TestMonitor_GetBackendState(t *testing.T) { function TestMonitor_GetAllBackendStates (line 469) | func TestMonitor_GetAllBackendStates(t *testing.T) { function TestMonitor_ContextCancellation (line 514) | func TestMonitor_ContextCancellation(t *testing.T) { function TestDefaultConfig (line 562) | func TestDefaultConfig(t *testing.T) { function TestSummary_String (line 572) | func TestSummary_String(t *testing.T) { type testContextKey (line 594) | type testContextKey function TestWithHealthCheckMarker (line 597) | func TestWithHealthCheckMarker(t *testing.T) { function TestIsHealthCheck (line 670) | func TestIsHealthCheck(t *testing.T) { function TestHealthCheckMarker_Integration (line 727) | func TestHealthCheckMarker_Integration(t *testing.T) { function TestMonitor_UpdateBackends (line 797) | func TestMonitor_UpdateBackends(t *testing.T) { function TestBackendChanged (line 884) | func TestBackendChanged(t *testing.T) { function TestMonitor_UpdateBackends_PropertyChange (line 929) | func TestMonitor_UpdateBackends_PropertyChange(t *testing.T) { function TestMonitor_CircuitBreakerDisabled (line 989) | func TestMonitor_CircuitBreakerDisabled(t *testing.T) { function TestMonitor_CircuitBreakerEnabled (line 1047) | func TestMonitor_CircuitBreakerEnabled(t *testing.T) { function TestMonitor_CircuitBreakerRecovery (line 1118) | func TestMonitor_CircuitBreakerRecovery(t *testing.T) { function TestMonitor_CircuitBreakerStatusReporting (line 1191) | func TestMonitor_CircuitBreakerStatusReporting(t *testing.T) { FILE: pkg/vmcp/health/status.go type backendHealthState (line 16) | type backendHealthState struct type statusTracker (line 40) | type statusTracker struct method isRemoved (line 82) | func (t *statusTracker) isRemoved(backendID string) bool { method getOrCreateState (line 89) | func (t *statusTracker) getOrCreateState( method copyState (line 166) | func (*statusTracker) copyState(state *backendHealthState) *State { method RecordSuccess (line 193) | func (t *statusTracker) RecordSuccess(backendID string, backendName st... method RecordFailure (line 254) | func (t *statusTracker) RecordFailure(backendID string, backendName st... method GetStatus (line 335) | func (t *statusTracker) GetStatus(backendID string) (vmcp.BackendHealt... method GetState (line 349) | func (t *statusTracker) GetState(backendID string) (*State, bool) { method GetAllStates (line 363) | func (t *statusTracker) GetAllStates() map[string]*State { method IsHealthy (line 377) | func (t *statusTracker) IsHealthy(backendID string) bool { method RemoveBackend (line 385) | func (t *statusTracker) RemoveBackend(backendID string) { method ClearRemovedFlag (line 396) | func (t *statusTracker) ClearRemovedFlag(backendID string) { method CanAttemptHealthCheck (line 409) | func (t *statusTracker) CanAttemptHealthCheck(backendID string) bool { method GetCircuitBreakerState (line 424) | func (t *statusTracker) GetCircuitBreakerState(backendID string) (Circ... method IsCircuitOpen (line 439) | func (t *statusTracker) IsCircuitOpen(backendID string) bool { method ShouldAttemptHealthCheck (line 456) | func (t *statusTracker) ShouldAttemptHealthCheck(backendID, backendNam... function newStatusTracker (line 66) | func newStatusTracker(unhealthyThreshold int, circuitBreakerConfig *Circ... function sanitizeError (line 126) | func sanitizeError(err error) string { type State (line 486) | type State struct FILE: pkg/vmcp/health/status_builder_test.go constant conditionTypeReady (line 19) | conditionTypeReady = "Ready" constant conditionTypeDegraded (line 20) | conditionTypeDegraded = "Degraded" function TestBuildConditions (line 24) | func TestBuildConditions(t *testing.T) { function TestFormatBackendMessage (line 171) | func TestFormatBackendMessage(t *testing.T) { function TestSummary_Aggregation (line 235) | func TestSummary_Aggregation(t *testing.T) { function TestComputeSummary (line 258) | func TestComputeSummary(t *testing.T) { function TestComputeSummary_EmptyStates (line 281) | func TestComputeSummary_EmptyStates(t *testing.T) { function TestExtractAuthInfo (line 296) | func TestExtractAuthInfo(t *testing.T) { function TestBuildStatus_PhaseLogic (line 355) | func TestBuildStatus_PhaseLogic(t *testing.T) { function TestBuildStatus_PendingPhase (line 492) | func TestBuildStatus_PendingPhase(t *testing.T) { FILE: pkg/vmcp/health/status_test.go function TestNewStatusTracker (line 20) | func TestNewStatusTracker(t *testing.T) { function TestStatusTracker_RecordSuccess (line 67) | func TestStatusTracker_RecordSuccess(t *testing.T) { function TestStatusTracker_RecordSuccess_AfterFailures (line 88) | func TestStatusTracker_RecordSuccess_AfterFailures(t *testing.T) { function TestStatusTracker_RecordFailure_BelowThreshold (line 112) | func TestStatusTracker_RecordFailure_BelowThreshold(t *testing.T) { function TestStatusTracker_RecordFailure_ReachThreshold (line 134) | func TestStatusTracker_RecordFailure_ReachThreshold(t *testing.T) { function TestStatusTracker_RecordFailure_StatusTransitions (line 152) | func TestStatusTracker_RecordFailure_StatusTransitions(t *testing.T) { function TestStatusTracker_RecordFailure_DifferentStatusTypes (line 179) | func TestStatusTracker_RecordFailure_DifferentStatusTypes(t *testing.T) { function TestStatusTracker_GetStatus_NonExistent (line 217) | func TestStatusTracker_GetStatus_NonExistent(t *testing.T) { function TestStatusTracker_GetState_NonExistent (line 227) | func TestStatusTracker_GetState_NonExistent(t *testing.T) { function TestStatusTracker_GetAllStates (line 237) | func TestStatusTracker_GetAllStates(t *testing.T) { function TestStatusTracker_GetAllStates_Empty (line 260) | func TestStatusTracker_GetAllStates_Empty(t *testing.T) { function TestStatusTracker_GetAllStates_Immutability (line 270) | func TestStatusTracker_GetAllStates_Immutability(t *testing.T) { function TestStatusTracker_IsHealthy (line 288) | func TestStatusTracker_IsHealthy(t *testing.T) { function TestStatusTracker_ConcurrentAccess (line 306) | func TestStatusTracker_ConcurrentAccess(t *testing.T) { function TestStatusTracker_StateTimestamps (line 362) | func TestStatusTracker_StateTimestamps(t *testing.T) { function TestStatusTracker_MultipleBackends (line 396) | func TestStatusTracker_MultipleBackends(t *testing.T) { function TestStatusTracker_RecoveryAfterFailures (line 426) | func TestStatusTracker_RecoveryAfterFailures(t *testing.T) { function TestState_Immutability (line 455) | func TestState_Immutability(t *testing.T) { function TestStatusTracker_ThresholdOf1 (line 479) | func TestStatusTracker_ThresholdOf1(t *testing.T) { function TestStatusTracker_CircuitBreakerInitialization (line 495) | func TestStatusTracker_CircuitBreakerInitialization(t *testing.T) { function TestStatusTracker_CircuitBreakerRecordSuccess (line 519) | func TestStatusTracker_CircuitBreakerRecordSuccess(t *testing.T) { function TestStatusTracker_CircuitBreakerRecordFailure (line 543) | func TestStatusTracker_CircuitBreakerRecordFailure(t *testing.T) { function TestStatusTracker_CircuitBreakerStateInSnapshot (line 569) | func TestStatusTracker_CircuitBreakerStateInSnapshot(t *testing.T) { function TestStatusTracker_CircuitBreakerDisabled (line 597) | func TestStatusTracker_CircuitBreakerDisabled(t *testing.T) { function TestStatusTracker_CircuitBreakerHalfOpen (line 621) | func TestStatusTracker_CircuitBreakerHalfOpen(t *testing.T) { function TestState_JSONSerialization (line 653) | func TestState_JSONSerialization(t *testing.T) { function TestSanitizeError (line 701) | func TestSanitizeError(t *testing.T) { FILE: pkg/vmcp/internal/compositetools/decorator.go type WorkflowExecutor (line 21) | type WorkflowExecutor interface type WorkflowResult (line 26) | type WorkflowResult struct type compositeToolsDecorator (line 35) | type compositeToolsDecorator struct method Tools (line 64) | func (d *compositeToolsDecorator) Tools() []vmcp.Tool { method CallTool (line 76) | func (d *compositeToolsDecorator) CallTool( function errorResult (line 41) | func errorResult(msg string) *vmcp.ToolCallResult { function NewDecorator (line 51) | func NewDecorator( FILE: pkg/vmcp/internal/compositetools/decorator_test.go type stubExecutor (line 22) | type stubExecutor struct method ExecuteWorkflow (line 27) | func (s *stubExecutor) ExecuteWorkflow(_ context.Context, _ map[string... function TestCompositeToolsDecorator_Tools (line 31) | func TestCompositeToolsDecorator_Tools(t *testing.T) { function TestCompositeToolsDecorator_CallTool (line 67) | func TestCompositeToolsDecorator_CallTool(t *testing.T) { FILE: pkg/vmcp/internal/compositetools/workflow_converter.go function FilterWorkflowDefsForSession (line 22) | func FilterWorkflowDefsForSession( function allToolStepsAccessible (line 48) | func allToolStepsAccessible(def *composer.WorkflowDefinition, rt *vmcp.R... function isToolStepAccessible (line 81) | func isToolStepAccessible(stepTool string, rt *vmcp.RoutingTable) bool { function ConvertWorkflowDefsToTools (line 121) | func ConvertWorkflowDefsToTools(defs map[string]*composer.WorkflowDefini... function ValidateNoToolConflicts (line 153) | func ValidateNoToolConflicts(backendTools, compositeTools []vmcp.Tool) e... function buildOutputSchema (line 199) | func buildOutputSchema(output *config.OutputConfig) map[string]any { function buildOutputPropertySchema (line 226) | func buildOutputPropertySchema(prop config.OutputProperty) map[string]any { FILE: pkg/vmcp/internal/compositetools/workflow_converter_test.go function TestBuildOutputSchema (line 16) | func TestBuildOutputSchema(t *testing.T) { function TestConvertWorkflowDefsToToolsWithOutputSchema (line 244) | func TestConvertWorkflowDefsToToolsWithOutputSchema(t *testing.T) { function TestFilterWorkflowDefsForSession (line 379) | func TestFilterWorkflowDefsForSession(t *testing.T) { function TestBuildOutputPropertySchema (line 539) | func TestBuildOutputPropertySchema(t *testing.T) { FILE: pkg/vmcp/k8s/backend_reconciler.go constant caBundleConfigMapIndex (line 27) | caBundleConfigMapIndex = ".spec.caBundleRef.configMapRef.name" type BackendReconciler (line 59) | type BackendReconciler struct method SetupIndexes (line 77) | func (*BackendReconciler) SetupIndexes(ctx context.Context, mgr ctrl.M... method Reconcile (line 104) | func (r *BackendReconciler) Reconcile(ctx context.Context, req ctrl.Re... method fetchBackendResource (line 146) | func (r *BackendReconciler) fetchBackendResource( method MapAuthConfigToEntries (line 214) | func (r *BackendReconciler) MapAuthConfigToEntries(ctx context.Context... method removeBackendFromRegistry (line 241) | func (r *BackendReconciler) removeBackendFromRegistry(ctx context.Cont... method convertAndUpsertBackend (line 254) | func (r *BackendReconciler) convertAndUpsertBackend( method SetupWithManager (line 328) | func (r *BackendReconciler) SetupWithManager(mgr ctrl.Manager) error { type backendResourceInfo (line 134) | type backendResourceInfo struct FILE: pkg/vmcp/k8s/backend_reconciler_integration_test.go function TestBackendReconcilerIntegration (line 44) | func TestBackendReconcilerIntegration(t *testing.T) { FILE: pkg/vmcp/k8s/backend_reconciler_test.go type mockDiscoverer (line 27) | type mockDiscoverer struct method GetWorkloadAsVMCPBackend (line 32) | func (m *mockDiscoverer) GetWorkloadAsVMCPBackend(_ context.Context, _... method ListWorkloadsInGroup (line 36) | func (*mockDiscoverer) ListWorkloadsInGroup(_ context.Context, _ strin... type mockRegistry (line 41) | type mockRegistry struct method Upsert (line 47) | func (m *mockRegistry) Upsert(backend vmcp.Backend) error { method Remove (line 53) | func (m *mockRegistry) Remove(backendID string) error { method Version (line 68) | func (m *mockRegistry) Version() uint64 { method Get (line 72) | func (m *mockRegistry) Get(_ context.Context, backendID string) *vmcp.... method List (line 81) | func (m *mockRegistry) List(_ context.Context) []vmcp.Backend { method Count (line 85) | func (m *mockRegistry) Count() int { function newTestReconciler (line 93) | func newTestReconciler( function TestReconcile_MCPServer_Success (line 110) | func TestReconcile_MCPServer_Success(t *testing.T) { function TestReconcile_GroupRefMismatch (line 168) | func TestReconcile_GroupRefMismatch(t *testing.T) { function TestReconcile_Deleted (line 213) | func TestReconcile_Deleted(t *testing.T) { function TestReconcile_AuthFailure (line 248) | func TestReconcile_AuthFailure(t *testing.T) { function TestReconcile_MCPRemoteProxy_Success (line 293) | func TestReconcile_MCPRemoteProxy_Success(t *testing.T) { function TestReconcile_ConversionError (line 343) | func TestReconcile_ConversionError(t *testing.T) { function TestSetupWithManager_RegistersWatches (line 389) | func TestSetupWithManager_RegistersWatches(t *testing.T) { function TestReconcile_MCPServerEntry_Success (line 415) | func TestReconcile_MCPServerEntry_Success(t *testing.T) { function TestReconcile_MCPServerEntry_GroupRefMismatch (line 467) | func TestReconcile_MCPServerEntry_GroupRefMismatch(t *testing.T) { function TestReconcile_MCPServerEntry_Deleted (line 511) | func TestReconcile_MCPServerEntry_Deleted(t *testing.T) { function TestMapAuthConfigToEntries (line 544) | func TestMapAuthConfigToEntries(t *testing.T) { FILE: pkg/vmcp/k8s/manager.go type BackendWatcher (line 51) | type BackendWatcher struct method Start (line 180) | func (w *BackendWatcher) Start(ctx context.Context) error { method WaitForCacheSync (line 237) | func (w *BackendWatcher) WaitForCacheSync(ctx context.Context) bool { method addBackendWatchController (line 288) | func (w *BackendWatcher) addBackendWatchController(ctx context.Context... function NewBackendWatcher (line 99) | func NewBackendWatcher( FILE: pkg/vmcp/k8s/manager_test.go function TestNewBackendWatcher (line 20) | func TestNewBackendWatcher(t *testing.T) { function TestNewBackendWatcher_ValidInputs (line 86) | func TestNewBackendWatcher_ValidInputs(t *testing.T) { function TestBackendWatcher_WaitForCacheSync_NotStarted (line 108) | func TestBackendWatcher_WaitForCacheSync_NotStarted(t *testing.T) { function TestBackendWatcher_StartValidation (line 128) | func TestBackendWatcher_StartValidation(t *testing.T) { type mockBackendWatcherForTest (line 153) | type mockBackendWatcherForTest struct method WaitForCacheSync (line 158) | func (m *mockBackendWatcherForTest) WaitForCacheSync(_ context.Context... function TestMockBackendWatcher_InterfaceCompliance (line 164) | func TestMockBackendWatcher_InterfaceCompliance(t *testing.T) { function TestMockBackendWatcher_CacheSynced (line 173) | func TestMockBackendWatcher_CacheSynced(t *testing.T) { function TestMockBackendWatcher_CacheNotSynced (line 186) | func TestMockBackendWatcher_CacheNotSynced(t *testing.T) { function TestBackendWatcher_Lifecycle (line 199) | func TestBackendWatcher_Lifecycle(t *testing.T) { function TestBackendWatcher_ContextCancellation (line 240) | func TestBackendWatcher_ContextCancellation(t *testing.T) { FILE: pkg/vmcp/mocks/mock_backend_client.go type MockHealthChecker (line 21) | type MockHealthChecker struct method EXPECT (line 40) | func (m *MockHealthChecker) EXPECT() *MockHealthCheckerMockRecorder { method CheckHealth (line 45) | func (m *MockHealthChecker) CheckHealth(ctx context.Context, target *v... type MockHealthCheckerMockRecorder (line 28) | type MockHealthCheckerMockRecorder struct method CheckHealth (line 54) | func (mr *MockHealthCheckerMockRecorder) CheckHealth(ctx, target any) ... function NewMockHealthChecker (line 33) | func NewMockHealthChecker(ctrl *gomock.Controller) *MockHealthChecker { type MockBackendClient (line 60) | type MockBackendClient struct method EXPECT (line 79) | func (m *MockBackendClient) EXPECT() *MockBackendClientMockRecorder { method CallTool (line 84) | func (m *MockBackendClient) CallTool(ctx context.Context, target *vmcp... method GetPrompt (line 99) | func (m *MockBackendClient) GetPrompt(ctx context.Context, target *vmc... method ListCapabilities (line 114) | func (m *MockBackendClient) ListCapabilities(ctx context.Context, targ... method ReadResource (line 129) | func (m *MockBackendClient) ReadResource(ctx context.Context, target *... type MockBackendClientMockRecorder (line 67) | type MockBackendClientMockRecorder struct method CallTool (line 93) | func (mr *MockBackendClientMockRecorder) CallTool(ctx, target, toolNam... method GetPrompt (line 108) | func (mr *MockBackendClientMockRecorder) GetPrompt(ctx, target, name, ... method ListCapabilities (line 123) | func (mr *MockBackendClientMockRecorder) ListCapabilities(ctx, target ... method ReadResource (line 138) | func (mr *MockBackendClientMockRecorder) ReadResource(ctx, target, uri... function NewMockBackendClient (line 72) | func NewMockBackendClient(ctrl *gomock.Controller) *MockBackendClient { FILE: pkg/vmcp/mocks/mock_registry.go type MockBackendRegistry (line 21) | type MockBackendRegistry struct method EXPECT (line 40) | func (m *MockBackendRegistry) EXPECT() *MockBackendRegistryMockRecorder { method Count (line 45) | func (m *MockBackendRegistry) Count() int { method Get (line 59) | func (m *MockBackendRegistry) Get(ctx context.Context, backendID strin... method List (line 73) | func (m *MockBackendRegistry) List(ctx context.Context) []vmcp.Backend { type MockBackendRegistryMockRecorder (line 28) | type MockBackendRegistryMockRecorder struct method Count (line 53) | func (mr *MockBackendRegistryMockRecorder) Count() *gomock.Call { method Get (line 67) | func (mr *MockBackendRegistryMockRecorder) Get(ctx, backendID any) *go... method List (line 81) | func (mr *MockBackendRegistryMockRecorder) List(ctx any) *gomock.Call { function NewMockBackendRegistry (line 33) | func NewMockBackendRegistry(ctrl *gomock.Controller) *MockBackendRegistry { type MockDynamicRegistry (line 87) | type MockDynamicRegistry struct method EXPECT (line 106) | func (m *MockDynamicRegistry) EXPECT() *MockDynamicRegistryMockRecorder { method Count (line 111) | func (m *MockDynamicRegistry) Count() int { method Get (line 125) | func (m *MockDynamicRegistry) Get(ctx context.Context, backendID strin... method List (line 139) | func (m *MockDynamicRegistry) List(ctx context.Context) []vmcp.Backend { method Remove (line 153) | func (m *MockDynamicRegistry) Remove(backendID string) error { method Upsert (line 167) | func (m *MockDynamicRegistry) Upsert(backend vmcp.Backend) error { method Version (line 181) | func (m *MockDynamicRegistry) Version() uint64 { type MockDynamicRegistryMockRecorder (line 94) | type MockDynamicRegistryMockRecorder struct method Count (line 119) | func (mr *MockDynamicRegistryMockRecorder) Count() *gomock.Call { method Get (line 133) | func (mr *MockDynamicRegistryMockRecorder) Get(ctx, backendID any) *go... method List (line 147) | func (mr *MockDynamicRegistryMockRecorder) List(ctx any) *gomock.Call { method Remove (line 161) | func (mr *MockDynamicRegistryMockRecorder) Remove(backendID any) *gomo... method Upsert (line 175) | func (mr *MockDynamicRegistryMockRecorder) Upsert(backend any) *gomock... method Version (line 189) | func (mr *MockDynamicRegistryMockRecorder) Version() *gomock.Call { function NewMockDynamicRegistry (line 99) | func NewMockDynamicRegistry(ctrl *gomock.Controller) *MockDynamicRegistry { FILE: pkg/vmcp/optimizer/internal/similarity/cosine.go function CosineSimilarity (line 13) | func CosineSimilarity(a, b []float32) float64 { function CosineDistance (line 33) | func CosineDistance(a, b []float32) float64 { FILE: pkg/vmcp/optimizer/internal/similarity/cosine_bench_test.go function randomVector (line 11) | func randomVector(n int) []float32 { function BenchmarkCosineDistance_384 (line 20) | func BenchmarkCosineDistance_384(b *testing.B) { function BenchmarkCosineDistance_768 (line 30) | func BenchmarkCosineDistance_768(b *testing.B) { FILE: pkg/vmcp/optimizer/internal/similarity/cosine_test.go function TestCosineSimilarity (line 12) | func TestCosineSimilarity(t *testing.T) { function TestCosineDistance (line 36) | func TestCosineDistance(t *testing.T) { FILE: pkg/vmcp/optimizer/internal/similarity/tei_client.go constant defaultTimeout (line 21) | defaultTimeout = 30 * time.Second constant embedPath (line 24) | embedPath = "/embed" constant infoPath (line 27) | infoPath = "/info" constant defaultMaxBatchSize (line 30) | defaultMaxBatchSize = 32 type teiClient (line 35) | type teiClient struct method Embed (line 121) | func (c *teiClient) Embed(ctx context.Context, text string) ([]float32... method EmbedBatch (line 134) | func (c *teiClient) EmbedBatch(ctx context.Context, texts []string) ([... method embedChunk (line 160) | func (c *teiClient) embedChunk(ctx context.Context, texts []string) ([... method Close (line 201) | func (*teiClient) Close() error { function NewEmbeddingClient (line 44) | func NewEmbeddingClient(cfg *types.OptimizerConfig) (types.EmbeddingClie... function newTEIClient (line 53) | func newTEIClient(baseURL string, timeout time.Duration) (*teiClient, er... type teiInfoResponse (line 82) | type teiInfoResponse struct function fetchMaxBatchSize (line 87) | func fetchMaxBatchSize(baseURL string, httpClient *http.Client) (int, er... type embedRequest (line 111) | type embedRequest struct FILE: pkg/vmcp/optimizer/internal/similarity/tei_client_test.go function Test_newTEIClient (line 18) | func Test_newTEIClient(t *testing.T) { function TestTEIClient_Embed (line 72) | func TestTEIClient_Embed(t *testing.T) { function TestTEIClient_EmbedBatch (line 100) | func TestTEIClient_EmbedBatch(t *testing.T) { function TestTEIClient_EmbedBatch_Chunking (line 189) | func TestTEIClient_EmbedBatch_Chunking(t *testing.T) { function TestTEIClient_EmbedBatch_ChunkErrorStopsEarly (line 259) | func TestTEIClient_EmbedBatch_ChunkErrorStopsEarly(t *testing.T) { function Test_fetchMaxBatchSize (line 286) | func Test_fetchMaxBatchSize(t *testing.T) { function Test_fetchMaxBatchSize_ConnectionRefused (line 354) | func Test_fetchMaxBatchSize_ConnectionRefused(t *testing.T) { function TestTEIClient_Close (line 362) | func TestTEIClient_Close(t *testing.T) { function newTestTEIClient (line 373) | func newTestTEIClient(t *testing.T, baseURL string) *teiClient { function newTestTEIClientWithBatch (line 379) | func newTestTEIClientWithBatch(t *testing.T, baseURL string, maxBatchSiz... FILE: pkg/vmcp/optimizer/internal/tokencounter/counter.go type Counter (line 16) | type Counter interface type JSONByteDivisionCounter (line 22) | type JSONByteDivisionCounter struct method CountTokens (line 28) | func (c JSONByteDivisionCounter) CountTokens(tool mcp.Tool) int { function NewJSONByteCounter (line 41) | func NewJSONByteCounter() Counter { type TokenMetrics (line 46) | type TokenMetrics struct function ComputeTokenMetrics (line 59) | func ComputeTokenMetrics(baselineTokens int, tokenCounts map[string]int,... FILE: pkg/vmcp/optimizer/internal/tokencounter/counter_test.go function TestJSONByteDivisionCounter (line 14) | func TestJSONByteDivisionCounter(t *testing.T) { function TestJSONByteDivisionCounter_ZeroDivisor (line 58) | func TestJSONByteDivisionCounter_ZeroDivisor(t *testing.T) { function TestNewJSONByteCounter (line 66) | func TestNewJSONByteCounter(t *testing.T) { function TestComputeTokenMetrics (line 77) | func TestComputeTokenMetrics(t *testing.T) { FILE: pkg/vmcp/optimizer/internal/toolstore/schema.sql type llm_capabilities (line 5) | CREATE TABLE IF NOT EXISTS llm_capabilities ( type llm_capabilities_fts (line 15) | CREATE VIRTUAL TABLE IF NOT EXISTS llm_capabilities_fts USING fts5( FILE: pkg/vmcp/optimizer/internal/toolstore/sqlite_store.go constant DefaultMaxToolsToReturn (line 34) | DefaultMaxToolsToReturn = 8 constant DefaultHybridSemanticToolsRatio (line 38) | DefaultHybridSemanticToolsRatio = 0.5 constant DefaultSemanticDistanceThreshold (line 43) | DefaultSemanticDistanceThreshold = 1.0 type sqliteToolStore (line 52) | type sqliteToolStore struct method UpsertTools (line 120) | func (s sqliteToolStore) UpsertTools(ctx context.Context, tools []serv... method generateEmbeddings (line 155) | func (s sqliteToolStore) generateEmbeddings(ctx context.Context, tools... method Search (line 184) | func (s sqliteToolStore) Search(ctx context.Context, query string, all... method Close (line 247) | func (s sqliteToolStore) Close() error { method searchFTS5 (line 268) | func (s sqliteToolStore) searchFTS5( method searchSemantic (line 330) | func (s sqliteToolStore) searchSemantic( function NewSQLiteToolStore (line 65) | func NewSQLiteToolStore(embeddingClient types.EmbeddingClient, cfg *type... function newSQLiteToolStore (line 72) | func newSQLiteToolStore( function mergeResults (line 422) | func mergeResults(fts, semantic []mcp.Tool, maxResults int) []mcp.Tool { function matchNames (line 452) | func matchNames(matches []mcp.Tool) []string { function sanitizeFTS5Query (line 487) | func sanitizeFTS5Query(query string) string { function hybridSearchLimits (line 518) | func hybridSearchLimits(total int, semanticRatio float64) (ftsLimit, sem... function encodeEmbedding (line 525) | func encodeEmbedding(vec []float32) []byte { function decodeEmbedding (line 534) | func decodeEmbedding(buf []byte) []float32 { FILE: pkg/vmcp/optimizer/internal/toolstore/sqlite_store_bench_test.go constant benchToolCount (line 22) | benchToolCount = 1000 function newBenchStore (line 24) | func newBenchStore(b *testing.B, embeddingClient types.EmbeddingClient) ... function generateTools (line 33) | func generateTools() ([]server.ServerTool, []string) { function BenchmarkSearch_FTS5Only_1000Tools (line 49) | func BenchmarkSearch_FTS5Only_1000Tools(b *testing.B) { function BenchmarkSearch_Semantic_1000Tools_384Dim (line 63) | func BenchmarkSearch_Semantic_1000Tools_384Dim(b *testing.B) { function BenchmarkSearch_Hybrid_1000Tools (line 78) | func BenchmarkSearch_Hybrid_1000Tools(b *testing.B) { function BenchmarkSearch_Semantic_1000Tools_768Dim (line 93) | func BenchmarkSearch_Semantic_1000Tools_768Dim(b *testing.B) { FILE: pkg/vmcp/optimizer/internal/toolstore/sqlite_store_test.go function newTestStore (line 23) | func newTestStore(t *testing.T, embeddingClient types.EmbeddingClient, c... function toolNames (line 34) | func toolNames(tools []server.ServerTool) []string { function makeTools (line 42) | func makeTools(tools ...mcp.Tool) []server.ServerTool { function TestNewSQLiteToolStore (line 50) | func TestNewSQLiteToolStore(t *testing.T) { function TestSQLiteToolStore_UpsertTools (line 68) | func TestSQLiteToolStore_UpsertTools(t *testing.T) { function TestSQLiteToolStore_UpsertTools_WithEmbeddings (line 126) | func TestSQLiteToolStore_UpsertTools_WithEmbeddings(t *testing.T) { function TestSQLiteToolStore_Search (line 145) | func TestSQLiteToolStore_Search(t *testing.T) { function TestSQLiteToolStore_Search_ResultsCapped (line 271) | func TestSQLiteToolStore_Search_ResultsCapped(t *testing.T) { function TestSQLiteToolStore_Close (line 318) | func TestSQLiteToolStore_Close(t *testing.T) { function TestSQLiteToolStore_Concurrent (line 343) | func TestSQLiteToolStore_Concurrent(t *testing.T) { function TestSQLiteToolStore_SemanticSearch (line 385) | func TestSQLiteToolStore_SemanticSearch(t *testing.T) { function TestSQLiteToolStore_HybridSearch (line 404) | func TestSQLiteToolStore_HybridSearch(t *testing.T) { function TestSQLiteToolStore_ConcurrentSemantic (line 424) | func TestSQLiteToolStore_ConcurrentSemantic(t *testing.T) { function TestSQLiteToolStore_EmbeddingRoundTrip (line 453) | func TestSQLiteToolStore_EmbeddingRoundTrip(t *testing.T) { function TestSanitizeFTS5Query (line 463) | func TestSanitizeFTS5Query(t *testing.T) { function TestHybridSearchLimits (line 503) | func TestHybridSearchLimits(t *testing.T) { function TestMergeResults (line 533) | func TestMergeResults(t *testing.T) { function TestSQLiteToolStore_ConfigDefaults (line 628) | func TestSQLiteToolStore_ConfigDefaults(t *testing.T) { function TestSQLiteToolStore_SemanticDistanceThreshold (line 683) | func TestSQLiteToolStore_SemanticDistanceThreshold(t *testing.T) { type fakeEmbeddingClient (line 714) | type fakeEmbeddingClient struct method Embed (line 722) | func (f *fakeEmbeddingClient) Embed(_ context.Context, text string) ([... method EmbedBatch (line 736) | func (f *fakeEmbeddingClient) EmbedBatch(ctx context.Context, texts []... method Close (line 748) | func (*fakeEmbeddingClient) Close() error { return nil } function newFakeEmbeddingClient (line 718) | func newFakeEmbeddingClient(dim int) *fakeEmbeddingClient { FILE: pkg/vmcp/optimizer/internal/types/mocks/mock_types.go type MockToolStore (line 22) | type MockToolStore struct method EXPECT (line 41) | func (m *MockToolStore) EXPECT() *MockToolStoreMockRecorder { method Close (line 46) | func (m *MockToolStore) Close() error { method Search (line 60) | func (m *MockToolStore) Search(ctx context.Context, query string, allo... method UpsertTools (line 75) | func (m *MockToolStore) UpsertTools(ctx context.Context, tools []serve... type MockToolStoreMockRecorder (line 29) | type MockToolStoreMockRecorder struct method Close (line 54) | func (mr *MockToolStoreMockRecorder) Close() *gomock.Call { method Search (line 69) | func (mr *MockToolStoreMockRecorder) Search(ctx, query, allowedTools a... method UpsertTools (line 83) | func (mr *MockToolStoreMockRecorder) UpsertTools(ctx, tools any) *gomo... function NewMockToolStore (line 34) | func NewMockToolStore(ctrl *gomock.Controller) *MockToolStore { type MockEmbeddingClient (line 89) | type MockEmbeddingClient struct method EXPECT (line 108) | func (m *MockEmbeddingClient) EXPECT() *MockEmbeddingClientMockRecorder { method Close (line 113) | func (m *MockEmbeddingClient) Close() error { method Embed (line 127) | func (m *MockEmbeddingClient) Embed(ctx context.Context, text string) ... method EmbedBatch (line 142) | func (m *MockEmbeddingClient) EmbedBatch(ctx context.Context, texts []... type MockEmbeddingClientMockRecorder (line 96) | type MockEmbeddingClientMockRecorder struct method Close (line 121) | func (mr *MockEmbeddingClientMockRecorder) Close() *gomock.Call { method Embed (line 136) | func (mr *MockEmbeddingClientMockRecorder) Embed(ctx, text any) *gomoc... method EmbedBatch (line 151) | func (mr *MockEmbeddingClientMockRecorder) EmbedBatch(ctx, texts any) ... function NewMockEmbeddingClient (line 101) | func NewMockEmbeddingClient(ctrl *gomock.Controller) *MockEmbeddingClient { FILE: pkg/vmcp/optimizer/internal/types/types.go type ToolStore (line 22) | type ToolStore interface type EmbeddingClient (line 43) | type EmbeddingClient interface type OptimizerConfig (line 65) | type OptimizerConfig struct FILE: pkg/vmcp/optimizer/optimizer.go function GetAndValidateConfig (line 40) | func GetAndValidateConfig(cfg *vmcpconfig.OptimizerConfig) (*Config, err... type Optimizer (line 93) | type Optimizer interface type FindToolInput (line 105) | type FindToolInput struct type FindToolOutput (line 116) | type FindToolOutput struct type CallToolInput (line 130) | type CallToolInput struct function NewOptimizerFactory (line 144) | func NewOptimizerFactory(cfg *Config) ( type toolOptimizer (line 178) | type toolOptimizer struct method FindTool (line 242) | func (d *toolOptimizer) FindTool(ctx context.Context, input FindToolIn... method CallTool (line 286) | func (d *toolOptimizer) CallTool(ctx context.Context, input CallToolIn... function newToolOptimizer (line 205) | func newToolOptimizer( function newOptimizerFactoryWithStore (line 312) | func newOptimizerFactoryWithStore( FILE: pkg/vmcp/optimizer/optimizer_test.go function TestGetAndValidateConfig (line 24) | func TestGetAndValidateConfig(t *testing.T) { function newMockStoreWithSubstringSearch (line 239) | func newMockStoreWithSubstringSearch(ctrl *gomock.Controller) *mocks.Moc... function TestOptimizer_SearchDelegation (line 287) | func TestOptimizer_SearchDelegation(t *testing.T) { function TestOptimizer_FindToolEnrichesSchema (line 327) | func TestOptimizer_FindToolEnrichesSchema(t *testing.T) { function TestOptimizer_SearchError (line 365) | func TestOptimizer_SearchError(t *testing.T) { function TestOptimizer_UpsertError (line 385) | func TestOptimizer_UpsertError(t *testing.T) { function TestOptimizer_FindTool (line 400) | func TestOptimizer_FindTool(t *testing.T) { function TestOptimizerFactoryWithStore (line 504) | func TestOptimizerFactoryWithStore(t *testing.T) { function TestOptimizer_CallTool (line 579) | func TestOptimizer_CallTool(t *testing.T) { FILE: pkg/vmcp/registry.go type BackendRegistry (line 27) | type BackendRegistry interface type immutableRegistry (line 60) | type immutableRegistry struct method Get (line 95) | func (r *immutableRegistry) Get(_ context.Context, backendID string) *... method List (line 105) | func (r *immutableRegistry) List(_ context.Context) []Backend { method Count (line 114) | func (r *immutableRegistry) Count() int { function NewImmutableRegistry (line 83) | func NewImmutableRegistry(backends []Backend) BackendRegistry { type DynamicRegistry (line 131) | type DynamicRegistry interface type dynamicRegistry (line 183) | type dynamicRegistry struct method Get (line 232) | func (r *dynamicRegistry) Get(_ context.Context, backendID string) *Ba... method List (line 246) | func (r *dynamicRegistry) List(_ context.Context) []Backend { method Count (line 260) | func (r *dynamicRegistry) Count() int { method Upsert (line 292) | func (r *dynamicRegistry) Upsert(backend Backend) error { method Remove (line 336) | func (r *dynamicRegistry) Remove(backendID string) error { method Version (line 349) | func (r *dynamicRegistry) Version() uint64 { function NewDynamicRegistry (line 217) | func NewDynamicRegistry(backends []Backend) DynamicRegistry { function BackendToTarget (line 361) | func BackendToTarget(backend *Backend) *BackendTarget { FILE: pkg/vmcp/registry_test.go constant testModifiedName (line 18) | testModifiedName = "Modified" function TestNewImmutableRegistry (line 21) | func TestNewImmutableRegistry(t *testing.T) { function TestBackendRegistry_Get (line 153) | func TestBackendRegistry_Get(t *testing.T) { function TestBackendRegistry_List (line 273) | func TestBackendRegistry_List(t *testing.T) { function TestBackendRegistry_Count (line 376) | func TestBackendRegistry_Count(t *testing.T) { function TestBackendToTarget (line 446) | func TestBackendToTarget(t *testing.T) { function TestImmutabilityGuarantees (line 619) | func TestImmutabilityGuarantees(t *testing.T) { function TestDomainTypes_BackendHealthStatus (line 682) | func TestDomainTypes_BackendHealthStatus(t *testing.T) { function TestDomainTypes_ConflictResolutionStrategy (line 708) | func TestDomainTypes_ConflictResolutionStrategy(t *testing.T) { function TestDomainTypes_RoutingTable (line 732) | func TestDomainTypes_RoutingTable(t *testing.T) { function TestBackendTarget_GetBackendCapabilityName (line 783) | func TestBackendTarget_GetBackendCapabilityName(t *testing.T) { function TestNewDynamicRegistry (line 869) | func TestNewDynamicRegistry(t *testing.T) { function TestDynamicRegistry_Upsert (line 933) | func TestDynamicRegistry_Upsert(t *testing.T) { function TestDynamicRegistry_Remove (line 1029) | func TestDynamicRegistry_Remove(t *testing.T) { function TestDynamicRegistry_Version (line 1095) | func TestDynamicRegistry_Version(t *testing.T) { function TestDynamicRegistry_ConcurrentAccess (line 1163) | func TestDynamicRegistry_ConcurrentAccess(t *testing.T) { function TestDynamicRegistry_ImmutabilityGuarantees (line 1255) | func TestDynamicRegistry_ImmutabilityGuarantees(t *testing.T) { FILE: pkg/vmcp/router/default_router.go type defaultRouter (line 20) | type defaultRouter struct method RouteTool (line 81) | func (*defaultRouter) RouteTool(ctx context.Context, toolName string) ... method ResolveToolName (line 95) | func (*defaultRouter) ResolveToolName(_ context.Context, toolName stri... method RouteResource (line 102) | func (*defaultRouter) RouteResource(ctx context.Context, uri string) (... method RoutePrompt (line 116) | func (*defaultRouter) RoutePrompt(ctx context.Context, name string) (*... function NewDefaultRouter (line 25) | func NewDefaultRouter() Router { function routeCapability (line 40) | func routeCapability( FILE: pkg/vmcp/router/default_router_test.go function TestDefaultRouter_RouteTool (line 19) | func TestDefaultRouter_RouteTool(t *testing.T) { function TestDefaultRouter_RouteResource (line 109) | func TestDefaultRouter_RouteResource(t *testing.T) { function TestDefaultRouter_RoutePrompt (line 199) | func TestDefaultRouter_RoutePrompt(t *testing.T) { function TestDefaultRouter_ConcurrentAccess (line 289) | func TestDefaultRouter_ConcurrentAccess(t *testing.T) { FILE: pkg/vmcp/router/mocks/mock_router.go type MockRouter (line 21) | type MockRouter struct method EXPECT (line 40) | func (m *MockRouter) EXPECT() *MockRouterMockRecorder { method ResolveToolName (line 45) | func (m *MockRouter) ResolveToolName(ctx context.Context, toolName str... method RoutePrompt (line 59) | func (m *MockRouter) RoutePrompt(ctx context.Context, name string) (*v... method RouteResource (line 74) | func (m *MockRouter) RouteResource(ctx context.Context, uri string) (*... method RouteTool (line 89) | func (m *MockRouter) RouteTool(ctx context.Context, toolName string) (... type MockRouterMockRecorder (line 28) | type MockRouterMockRecorder struct method ResolveToolName (line 53) | func (mr *MockRouterMockRecorder) ResolveToolName(ctx, toolName any) *... method RoutePrompt (line 68) | func (mr *MockRouterMockRecorder) RoutePrompt(ctx, name any) *gomock.C... method RouteResource (line 83) | func (mr *MockRouterMockRecorder) RouteResource(ctx, uri any) *gomock.... method RouteTool (line 98) | func (mr *MockRouterMockRecorder) RouteTool(ctx, toolName any) *gomock... function NewMockRouter (line 33) | func NewMockRouter(ctrl *gomock.Controller) *MockRouter { type MockRoutingStrategy (line 104) | type MockRoutingStrategy struct method EXPECT (line 123) | func (m *MockRoutingStrategy) EXPECT() *MockRoutingStrategyMockRecorder { method SelectBackend (line 128) | func (m *MockRoutingStrategy) SelectBackend(ctx context.Context, candi... type MockRoutingStrategyMockRecorder (line 111) | type MockRoutingStrategyMockRecorder struct method SelectBackend (line 137) | func (mr *MockRoutingStrategyMockRecorder) SelectBackend(ctx, candidat... function NewMockRoutingStrategy (line 116) | func NewMockRoutingStrategy(ctrl *gomock.Controller) *MockRoutingStrategy { type MockSessionAffinityProvider (line 143) | type MockSessionAffinityProvider struct method EXPECT (line 162) | func (m *MockSessionAffinityProvider) EXPECT() *MockSessionAffinityPro... method GetBackendForSession (line 167) | func (m *MockSessionAffinityProvider) GetBackendForSession(ctx context... method RemoveSession (line 182) | func (m *MockSessionAffinityProvider) RemoveSession(ctx context.Contex... method SetBackendForSession (line 196) | func (m *MockSessionAffinityProvider) SetBackendForSession(ctx context... type MockSessionAffinityProviderMockRecorder (line 150) | type MockSessionAffinityProviderMockRecorder struct method GetBackendForSession (line 176) | func (mr *MockSessionAffinityProviderMockRecorder) GetBackendForSessio... method RemoveSession (line 190) | func (mr *MockSessionAffinityProviderMockRecorder) RemoveSession(ctx, ... method SetBackendForSession (line 204) | func (mr *MockSessionAffinityProviderMockRecorder) SetBackendForSessio... function NewMockSessionAffinityProvider (line 155) | func NewMockSessionAffinityProvider(ctrl *gomock.Controller) *MockSessio... FILE: pkg/vmcp/router/router.go type Router (line 26) | type Router interface type RoutingStrategy (line 50) | type RoutingStrategy interface type SessionAffinityProvider (line 58) | type SessionAffinityProvider interface FILE: pkg/vmcp/router/session_router.go type sessionRouter (line 18) | type sessionRouter struct method RouteTool (line 47) | func (r *sessionRouter) RouteTool(_ context.Context, toolName string) ... method ResolveToolName (line 80) | func (r *sessionRouter) ResolveToolName(_ context.Context, toolName st... method RouteResource (line 106) | func (r *sessionRouter) RouteResource(_ context.Context, uri string) (... method RoutePrompt (line 119) | func (r *sessionRouter) RoutePrompt(_ context.Context, name string) (*... function NewSessionRouter (line 26) | func NewSessionRouter(rt *vmcp.RoutingTable) Router { FILE: pkg/vmcp/router/session_router_test.go function TestSessionRouter_RouteTool (line 17) | func TestSessionRouter_RouteTool(t *testing.T) { function TestSessionRouter_ResolveToolName (line 138) | func TestSessionRouter_ResolveToolName(t *testing.T) { function TestSessionRouter_RouteResource (line 195) | func TestSessionRouter_RouteResource(t *testing.T) { function TestSessionRouter_RoutePrompt (line 268) | func TestSessionRouter_RoutePrompt(t *testing.T) { function TestSessionRouter_ConcurrentAccess (line 341) | func TestSessionRouter_ConcurrentAccess(t *testing.T) { FILE: pkg/vmcp/schema/array.go type arraySchema (line 7) | type arraySchema struct method TryCoerce (line 32) | func (s arraySchema) TryCoerce(value any) any { function makeArraySchema (line 12) | func makeArraySchema(raw map[string]any) arraySchema { FILE: pkg/vmcp/schema/object.go type objectSchema (line 7) | type objectSchema struct method TryCoerce (line 47) | func (s objectSchema) TryCoerce(value any) any { function makeObjectSchema (line 12) | func makeObjectSchema(raw map[string]any) objectSchema { FILE: pkg/vmcp/schema/primitive.go type primitiveSchema (line 12) | type primitiveSchema struct method TryCoerce (line 29) | func (s primitiveSchema) TryCoerce(value any) any { function makePrimitiveSchema (line 17) | func makePrimitiveSchema(schemaType string) primitiveSchema { FILE: pkg/vmcp/schema/reflect.go function GenerateSchema (line 36) | func GenerateSchema[T any]() (map[string]any, error) { function generateSchemaForType (line 43) | func generateSchemaForType(t reflect.Type) (map[string]any, error) { function generateObjectSchema (line 86) | func generateObjectSchema(t reflect.Type) (map[string]any, error) { function parseJSONTag (line 142) | func parseJSONTag(tag string) (name string, optional bool) { function Translate (line 172) | func Translate[T any](input any) (T, error) { FILE: pkg/vmcp/schema/reflect_test.go function TestGenerateSchema_FindToolInput (line 15) | func TestGenerateSchema_FindToolInput(t *testing.T) { function TestGenerateSchema_CallToolInput (line 40) | func TestGenerateSchema_CallToolInput(t *testing.T) { function TestTranslate_FindToolInput (line 64) | func TestTranslate_FindToolInput(t *testing.T) { function TestTranslate_CallToolInput (line 81) | func TestTranslate_CallToolInput(t *testing.T) { function TestTranslate_PartialInput (line 100) | func TestTranslate_PartialInput(t *testing.T) { function TestTranslate_InvalidInput (line 116) | func TestTranslate_InvalidInput(t *testing.T) { function TestGenerateSchema_AllTypes (line 126) | func TestGenerateSchema_AllTypes(t *testing.T) { FILE: pkg/vmcp/schema/schema.go type TypeCoercer (line 12) | type TypeCoercer interface function MakeSchema (line 20) | func MakeSchema(raw map[string]any) TypeCoercer { type passthroughSchema (line 40) | type passthroughSchema struct method TryCoerce (line 43) | func (passthroughSchema) TryCoerce(value any) any { FILE: pkg/vmcp/schema/schema_test.go function TestMakeSchemaAndTryCoerce (line 12) | func TestMakeSchemaAndTryCoerce(t *testing.T) { FILE: pkg/vmcp/server/adapter/capability_adapter.go type CapabilityAdapter (line 30) | type CapabilityAdapter struct method ToSDKTools (line 49) | func (a *CapabilityAdapter) ToSDKTools(tools []vmcp.Tool) ([]server.Se... method ToSDKResources (line 100) | func (a *CapabilityAdapter) ToSDKResources(resources []vmcp.Resource) ... method ToSDKPrompts (line 135) | func (a *CapabilityAdapter) ToSDKPrompts(prompts []vmcp.Prompt) []serv... method ToCompositeToolSDKTools (line 185) | func (a *CapabilityAdapter) ToCompositeToolSDKTools( function NewCapabilityAdapter (line 35) | func NewCapabilityAdapter(handlerFactory HandlerFactory) *CapabilityAdap... FILE: pkg/vmcp/server/adapter/capability_adapter_annotations_test.go function boolPtr (line 21) | func boolPtr(b bool) *bool { return &b } function TestCapabilityAdapter_ToSDKTools_Annotations (line 23) | func TestCapabilityAdapter_ToSDKTools_Annotations(t *testing.T) { FILE: pkg/vmcp/server/adapter/capability_adapter_test.go function TestCapabilityAdapter_ToSDKTools (line 21) | func TestCapabilityAdapter_ToSDKTools(t *testing.T) { function TestCapabilityAdapter_ToSDKResources (line 214) | func TestCapabilityAdapter_ToSDKResources(t *testing.T) { function TestCapabilityAdapter_ToSDKPrompts (line 340) | func TestCapabilityAdapter_ToSDKPrompts(t *testing.T) { function TestCapabilityAdapter_ToCompositeToolSDKTools (line 496) | func TestCapabilityAdapter_ToCompositeToolSDKTools(t *testing.T) { FILE: pkg/vmcp/server/adapter/handler_factory.go type HandlerFactory (line 27) | type HandlerFactory interface type DefaultHandlerFactory (line 55) | type DefaultHandlerFactory struct method CreateToolHandler (line 69) | func (f *DefaultHandlerFactory) CreateToolHandler( method CreateResourceHandler (line 130) | func (f *DefaultHandlerFactory) CreateResourceHandler(uri string) func( method CreatePromptHandler (line 164) | func (f *DefaultHandlerFactory) CreatePromptHandler(promptName string)... method CreateCompositeToolHandler (line 235) | func (*DefaultHandlerFactory) CreateCompositeToolHandler( function NewDefaultHandlerFactory (line 61) | func NewDefaultHandlerFactory(rt router.Router, backendClient vmcp.Backe... FILE: pkg/vmcp/server/adapter/handler_factory_test.go function TestNewDefaultHandlerFactory (line 23) | func TestNewDefaultHandlerFactory(t *testing.T) { function TestDefaultHandlerFactory_CreateToolHandler (line 37) | func TestDefaultHandlerFactory_CreateToolHandler(t *testing.T) { function TestDefaultHandlerFactory_CreateResourceHandler (line 319) | func TestDefaultHandlerFactory_CreateResourceHandler(t *testing.T) { function TestDefaultHandlerFactory_CreatePromptHandler (line 654) | func TestDefaultHandlerFactory_CreatePromptHandler(t *testing.T) { function TestDefaultHandlerFactory_CreateCompositeToolHandler (line 918) | func TestDefaultHandlerFactory_CreateCompositeToolHandler(t *testing.T) { type mockWorkflowExecutor (line 1006) | type mockWorkflowExecutor struct method ExecuteWorkflow (line 1010) | func (m *mockWorkflowExecutor) ExecuteWorkflow( FILE: pkg/vmcp/server/adapter/mocks/mock_handler_factory.go type MockHandlerFactory (line 22) | type MockHandlerFactory struct method EXPECT (line 41) | func (m *MockHandlerFactory) EXPECT() *MockHandlerFactoryMockRecorder { method CreateCompositeToolHandler (line 46) | func (m *MockHandlerFactory) CreateCompositeToolHandler(toolName strin... method CreatePromptHandler (line 60) | func (m *MockHandlerFactory) CreatePromptHandler(promptName string) fu... method CreateResourceHandler (line 74) | func (m *MockHandlerFactory) CreateResourceHandler(uri string) func(co... method CreateToolHandler (line 88) | func (m *MockHandlerFactory) CreateToolHandler(toolName string) func(c... type MockHandlerFactoryMockRecorder (line 29) | type MockHandlerFactoryMockRecorder struct method CreateCompositeToolHandler (line 54) | func (mr *MockHandlerFactoryMockRecorder) CreateCompositeToolHandler(t... method CreatePromptHandler (line 68) | func (mr *MockHandlerFactoryMockRecorder) CreatePromptHandler(promptNa... method CreateResourceHandler (line 82) | func (mr *MockHandlerFactoryMockRecorder) CreateResourceHandler(uri an... method CreateToolHandler (line 96) | func (mr *MockHandlerFactoryMockRecorder) CreateToolHandler(toolName a... function NewMockHandlerFactory (line 34) | func NewMockHandlerFactory(ctrl *gomock.Controller) *MockHandlerFactory { FILE: pkg/vmcp/server/annotation_enrichment.go function AnnotationEnrichmentMiddleware (line 29) | func AnnotationEnrichmentMiddleware(next http.Handler) http.Handler { function findToolAnnotations (line 73) | func findToolAnnotations(toolName string, caps *aggregator.AggregatedCap... function convertAnnotations (line 92) | func convertAnnotations(ann *vmcp.ToolAnnotations) *authorizers.ToolAnno... FILE: pkg/vmcp/server/annotation_enrichment_test.go function TestAnnotationEnrichmentMiddleware (line 22) | func TestAnnotationEnrichmentMiddleware(t *testing.T) { FILE: pkg/vmcp/server/backend_enrichment.go method backendEnrichmentMiddleware (line 20) | func (*Server) backendEnrichmentMiddleware(next http.Handler) http.Handl... function lookupBackendName (line 66) | func lookupBackendName(method string, params map[string]any, routingTabl... FILE: pkg/vmcp/server/backend_enrichment_test.go constant toolsCallRequest (line 25) | toolsCallRequest = `{"method":"tools/call","params":{"name":"test-tool"}}` type errorReader (line 28) | type errorReader struct method Read (line 30) | func (errorReader) Read([]byte) (int, error) { function createTestHandler (line 35) | func createTestHandler() (http.Handler, *bool) { function TestBackendEnrichmentMiddleware (line 45) | func TestBackendEnrichmentMiddleware(t *testing.T) { function TestLookupBackendName (line 537) | func TestLookupBackendName(t *testing.T) { function TestBackendEnrichmentMiddleware_ContextPropagation (line 709) | func TestBackendEnrichmentMiddleware_ContextPropagation(t *testing.T) { FILE: pkg/vmcp/server/health_monitoring_test.go function TestServer_HealthMonitoring_Disabled (line 26) | func TestServer_HealthMonitoring_Disabled(t *testing.T) { function TestServer_HealthMonitoring_Enabled (line 78) | func TestServer_HealthMonitoring_Enabled(t *testing.T) { function TestServer_HealthMonitoring_StartupFailure (line 186) | func TestServer_HealthMonitoring_StartupFailure(t *testing.T) { function TestServer_HandleBackendHealth_Disabled (line 223) | func TestServer_HandleBackendHealth_Disabled(t *testing.T) { function TestServer_HandleBackendHealth_Enabled (line 272) | func TestServer_HandleBackendHealth_Enabled(t *testing.T) { function TestServer_Stop_StopsHealthMonitor (line 367) | func TestServer_Stop_StopsHealthMonitor(t *testing.T) { FILE: pkg/vmcp/server/health_test.go function createTestServer (line 29) | func createTestServer(t *testing.T) *server.Server { function TestHealthEndpoint (line 103) | func TestHealthEndpoint(t *testing.T) { function mustDecodeJSON (line 163) | func mustDecodeJSON[T any](t *testing.T, r io.Reader) T { function TestServer_SessionManager (line 171) | func TestServer_SessionManager(t *testing.T) { FILE: pkg/vmcp/server/integration_test.go function TestIntegration_AggregatorToRouterToServer (line 47) | func TestIntegration_AggregatorToRouterToServer(t *testing.T) { function TestIntegration_ConflictResolutionStrategies (line 259) | func TestIntegration_ConflictResolutionStrategies(t *testing.T) { function TestIntegration_AuditLogging (line 361) | func TestIntegration_AuditLogging(t *testing.T) { function TestIntegration_AuditLoggingWithAuth (line 743) | func TestIntegration_AuditLoggingWithAuth(t *testing.T) { FILE: pkg/vmcp/server/mocks/mock_watcher.go type MockWatcher (line 20) | type MockWatcher struct method EXPECT (line 39) | func (m *MockWatcher) EXPECT() *MockWatcherMockRecorder { method WaitForCacheSync (line 44) | func (m *MockWatcher) WaitForCacheSync(ctx context.Context) bool { type MockWatcherMockRecorder (line 27) | type MockWatcherMockRecorder struct method WaitForCacheSync (line 52) | func (mr *MockWatcherMockRecorder) WaitForCacheSync(ctx any) *gomock.C... function NewMockWatcher (line 32) | func NewMockWatcher(ctrl *gomock.Controller) *MockWatcher { FILE: pkg/vmcp/server/readiness_test.go type ReadinessResponse (line 28) | type ReadinessResponse struct function TestReadinessEndpoint_StaticMode (line 34) | func TestReadinessEndpoint_StaticMode(t *testing.T) { function TestReadinessEndpoint_DynamicMode_CacheSynced (line 107) | func TestReadinessEndpoint_DynamicMode_CacheSynced(t *testing.T) { function TestReadinessEndpoint_DynamicMode_CacheNotSynced (line 183) | func TestReadinessEndpoint_DynamicMode_CacheNotSynced(t *testing.T) { FILE: pkg/vmcp/server/sdk_elicitation_adapter.go type sdkElicitationAdapter (line 29) | type sdkElicitationAdapter struct method RequestElicitation (line 69) | func (a *sdkElicitationAdapter) RequestElicitation( function NewSDKElicitationAdapter (line 46) | func NewSDKElicitationAdapter(mcpServer *server.MCPServer) composer.SDKE... FILE: pkg/vmcp/server/sdk_elicitation_adapter_test.go function TestSDKElicitationAdapter_RequestElicitation (line 16) | func TestSDKElicitationAdapter_RequestElicitation(t *testing.T) { function TestSDKElicitationAdapter_Integration (line 102) | func TestSDKElicitationAdapter_Integration(t *testing.T) { function TestServer_MCPServer_ReturnsSameInstance (line 116) | func TestServer_MCPServer_ReturnsSameInstance(t *testing.T) { type testSDKElicitationRequester (line 125) | type testSDKElicitationRequester struct method RequestElicitation (line 129) | func (t *testSDKElicitationRequester) RequestElicitation( FILE: pkg/vmcp/server/server.go constant defaultReadHeaderTimeout (line 50) | defaultReadHeaderTimeout = 10 * time.Second constant defaultReadTimeout (line 53) | defaultReadTimeout = 30 * time.Second constant defaultWriteTimeout (line 59) | defaultWriteTimeout = 30 * time.Second constant defaultIdleTimeout (line 62) | defaultIdleTimeout = 120 * time.Second constant defaultMaxHeaderBytes (line 65) | defaultMaxHeaderBytes = 1 << 20 constant defaultShutdownTimeout (line 68) | defaultShutdownTimeout = 10 * time.Second constant defaultHeartbeatInterval (line 72) | defaultHeartbeatInterval = 30 * time.Second constant defaultSessionTTL (line 76) | defaultSessionTTL = 30 * time.Minute type Watcher (line 84) | type Watcher interface type Config (line 91) | type Config struct type Server (line 187) | type Server struct method Handler (line 528) | func (s *Server) Handler(_ context.Context) (http.Handler, error) { method Start (line 683) | func (s *Server) Start(ctx context.Context) error { method Stop (line 798) | func (s *Server) Stop(ctx context.Context) error { method Address (line 868) | func (s *Server) Address() string { method handleHealth (line 888) | func (*Server) handleHealth(w http.ResponseWriter, _ *http.Request) { method handleReadiness (line 928) | func (s *Server) handleReadiness(w http.ResponseWriter, r *http.Reques... method SessionManager (line 976) | func (s *Server) SessionManager() *transportsession.Manager { method MCPServer (line 1013) | func (s *Server) MCPServer() *server.MCPServer { method Ready (line 1019) | func (s *Server) Ready() <-chan struct{} { method lazyInjectSessionTools (line 1078) | func (s *Server) lazyInjectSessionTools(ctx context.Context) { method handleSessionRegistration (line 1103) | func (s *Server) handleSessionRegistration( method handleSessionRegistrationImpl (line 1130) | func (s *Server) handleSessionRegistrationImpl(ctx context.Context, se... method GetBackendHealthStatus (line 1239) | func (s *Server) GetBackendHealthStatus(backendID string) (vmcp.Backen... method GetBackendHealthState (line 1252) | func (s *Server) GetBackendHealthState(backendID string) (*health.Stat... method GetAllBackendHealthStates (line 1265) | func (s *Server) GetAllBackendHealthStates() map[string]*health.State { method GetHealthSummary (line 1278) | func (s *Server) GetHealthSummary() health.Summary { method handleBackendHealth (line 1308) | func (s *Server) handleBackendHealth(w http.ResponseWriter, _ *http.Re... function buildSessionDataStorage (line 264) | func buildSessionDataStorage(ctx context.Context, cfg *Config) (transpor... function New (line 301) | func New( function setSessionResourcesDirect (line 1025) | func setSessionResourcesDirect(session server.ClientSession, resources [... function setSessionToolsDirect (line 1048) | func setSessionToolsDirect(session server.ClientSession, tools []server.... function validateWorkflows (line 1211) | func validateWorkflows( type BackendHealthResponse (line 1290) | type BackendHealthResponse struct function headerValidatingMiddleware (line 1347) | func headerValidatingMiddleware(next http.Handler) http.Handler { FILE: pkg/vmcp/server/server_test.go type stubReporter (line 29) | type stubReporter struct method ReportStatus (line 36) | func (s *stubReporter) ReportStatus(_ context.Context, status *vmcp.St... method Start (line 41) | func (s *stubReporter) Start(_ context.Context) (func(context.Context)... function TestServerStartFailsWhenReporterStartFails (line 56) | func TestServerStartFailsWhenReporterStartFails(t *testing.T) { function TestServerStopRunsReporterShutdown (line 84) | func TestServerStopRunsReporterShutdown(t *testing.T) { function TestNew (line 141) | func TestNew(t *testing.T) { function TestServer_Address (line 214) | func TestServer_Address(t *testing.T) { function TestServer_Stop (line 277) | func TestServer_Stop(t *testing.T) { function TestNew_NilSessionFactory_ReturnsError (line 298) | func TestNew_NilSessionFactory_ReturnsError(t *testing.T) { function TestNew_WithAuditConfig (line 320) | func TestNew_WithAuditConfig(t *testing.T) { function TestServerStopClosesOptimizerStore (line 412) | func TestServerStopClosesOptimizerStore(t *testing.T) { function TestHandler_ReturnsNonNilHandler (line 462) | func TestHandler_ReturnsNonNilHandler(t *testing.T) { function TestHandler_ReturnsErrorOnInvalidAuditConfig (line 500) | func TestHandler_ReturnsErrorOnInvalidAuditConfig(t *testing.T) { function TestHandler_CanBeCalledMultipleTimes (line 541) | func TestHandler_CanBeCalledMultipleTimes(t *testing.T) { function TestHandler_RegistersWellKnownRoutes (line 583) | func TestHandler_RegistersWellKnownRoutes(t *testing.T) { function TestAcceptHeaderValidation (line 664) | func TestAcceptHeaderValidation(t *testing.T) { FILE: pkg/vmcp/server/session_management_integration_test.go function newNoopMockFactory (line 47) | func newNoopMockFactory(t *testing.T) *sessionfactorymocks.MockMultiSess... type mockFactoryState (line 79) | type mockFactoryState struct function newMockFactory (line 89) | func newMockFactory(t *testing.T, ctrl *gomock.Controller, tools []vmcp.... type serverOptions (line 152) | type serverOptions struct function buildTestServer (line 162) | func buildTestServer( function buildTestServerWithOptions (line 173) | func buildTestServerWithOptions( function postMCP (line 225) | func postMCP(t *testing.T, baseURL string, body map[string]any, sessionI... function TestIntegration_SessionManagement_Initialize (line 252) | func TestIntegration_SessionManagement_Initialize(t *testing.T) { function deleteMCP (line 321) | func deleteMCP(t *testing.T, baseURL, sessionID string) *http.Response { function TestIntegration_SessionManagement_Termination (line 343) | func TestIntegration_SessionManagement_Termination(t *testing.T) { function TestIntegration_SessionManagement_TokenBinding (line 433) | func TestIntegration_SessionManagement_TokenBinding(t *testing.T) { function listToolNames (line 587) | func listToolNames(t *testing.T, baseURL, sessionID string) []string { type fakeOptimizer (line 622) | type fakeOptimizer struct method FindTool (line 624) | func (*fakeOptimizer) FindTool(_ context.Context, _ optimizer.FindTool... method CallTool (line 628) | func (*fakeOptimizer) CallTool(_ context.Context, _ optimizer.CallTool... function TestIntegration_SessionManagement_CompositeTools (line 639) | func TestIntegration_SessionManagement_CompositeTools(t *testing.T) { function TestIntegration_SessionManagement_CompositeToolConflict (line 700) | func TestIntegration_SessionManagement_CompositeToolConflict(t *testing.... function TestIntegration_SessionManagement_CompositeToolsFilteredForSession (line 789) | func TestIntegration_SessionManagement_CompositeToolsFilteredForSession(... function TestIntegration_SessionManagement_OptimizerMode (line 860) | func TestIntegration_SessionManagement_OptimizerMode(t *testing.T) { FILE: pkg/vmcp/server/session_management_realbackend_integration_test.go function newRealTestHandler (line 41) | func newRealTestHandler(t *testing.T, backendURL string) http.Handler { function newRealTestServer (line 97) | func newRealTestServer(t *testing.T, backendURL string) *httptest.Server { function waitForEchoTool (line 107) | func waitForEchoTool(t *testing.T, baseURL, sessionID string) { function TestIntegration_RealBackend_ToolDiscovery (line 132) | func TestIntegration_RealBackend_ToolDiscovery(t *testing.T) { function TestIntegration_RealBackend_ToolCall (line 171) | func TestIntegration_RealBackend_ToolCall(t *testing.T) { function TestIntegration_RealBackend_NonSSEGetRejectedWithNotAcceptable (line 213) | func TestIntegration_RealBackend_NonSSEGetRejectedWithNotAcceptable(t *t... function TestIntegration_RealBackend_Termination (line 235) | func TestIntegration_RealBackend_Termination(t *testing.T) { FILE: pkg/vmcp/server/session_manager_interface.go type SessionManager (line 22) | type SessionManager interface FILE: pkg/vmcp/server/sessionmanager/factory.go constant instrumentationName (line 33) | instrumentationName = "github.com/stacklok/toolhive/pkg/vmcp" constant defaultCacheCapacity (line 38) | defaultCacheCapacity = 1000 type FactoryConfig (line 44) | type FactoryConfig struct function resolveOptimizer (line 82) | func resolveOptimizer(cfg *FactoryConfig) ( function buildDecoratingFactory (line 133) | func buildDecoratingFactory( function compositeToolsDecorator (line 153) | func compositeToolsDecorator( function optimizerDecoratorFn (line 186) | func optimizerDecoratorFn( function adaptToolsForFactory (line 210) | func adaptToolsForFactory( type composerWorkflowExecutor (line 285) | type composerWorkflowExecutor struct method ExecuteWorkflow (line 294) | func (e *composerWorkflowExecutor) ExecuteWorkflow( function newComposerWorkflowExecutor (line 290) | func newComposerWorkflowExecutor(c composer.Composer, def *composer.Work... type workflowExecutorInstruments (line 309) | type workflowExecutorInstruments struct method wrapExecutor (line 356) | func (i *workflowExecutorInstruments) wrapExecutor( function newWorkflowExecutorInstruments (line 316) | func newWorkflowExecutorInstruments( type telemetryWorkflowExecutor (line 369) | type telemetryWorkflowExecutor struct method ExecuteWorkflow (line 380) | func (t *telemetryWorkflowExecutor) ExecuteWorkflow( function monitorOptimizer (line 410) | func monitorOptimizer( type telemetryOptimizer (line 522) | type telemetryOptimizer struct method FindTool (line 540) | func (t *telemetryOptimizer) FindTool(ctx context.Context, input optim... method CallTool (line 567) | func (t *telemetryOptimizer) CallTool(ctx context.Context, input optim... FILE: pkg/vmcp/server/sessionmanager/horizontal_scaling_integration_test.go function newUnauthenticatedAuthRegistry (line 40) | func newUnauthenticatedAuthRegistry(t *testing.T) vmcpauth.OutgoingAuthR... function newSharedRedisStorage (line 49) | func newSharedRedisStorage(t *testing.T, mr *miniredis.Miniredis) transp... function newTestManagerWithSharedStorage (line 68) | func newTestManagerWithSharedStorage(t *testing.T, storage transportsess... function createSession (line 88) | func createSession(t *testing.T, sm *Manager, identity *auth.Identity) s... function startMCPBackend (line 105) | func startMCPBackend(t *testing.T, backendID, toolName string) *vmcp.Bac... function startStoppableMCPBackend (line 139) | func startStoppableMCPBackend(t *testing.T, backendID, toolName string) ... function TestHorizontalScaling_CrossPodReconstruction (line 177) | func TestHorizontalScaling_CrossPodReconstruction(t *testing.T) { function TestHorizontalScaling_CrossPodHijackPrevention (line 210) | func TestHorizontalScaling_CrossPodHijackPrevention(t *testing.T) { function TestHorizontalScaling_AllBackendsFailOnRestore (line 265) | func TestHorizontalScaling_AllBackendsFailOnRestore(t *testing.T) { function TestHorizontalScaling_BackendExpiry_SkipsExpiredOnRestore (line 298) | func TestHorizontalScaling_BackendExpiry_SkipsExpiredOnRestore(t *testin... function TestHorizontalScaling_InMemoryOnlyMode (line 350) | func TestHorizontalScaling_InMemoryOnlyMode(t *testing.T) { FILE: pkg/vmcp/server/sessionmanager/session_manager.go constant MetadataKeyTerminated (line 40) | MetadataKeyTerminated = "terminated" constant MetadataValTrue (line 44) | MetadataValTrue = "true" type Manager (line 77) | type Manager struct method Generate (line 228) | func (sm *Manager) Generate() string { method CreateSession (line 271) | func (sm *Manager) CreateSession( method cleanupFailedPlaceholder (line 400) | func (sm *Manager) cleanupFailedPlaceholder(sessionID string, metadata... method Validate (line 421) | func (sm *Manager) Validate(sessionID string) (isTerminated bool, err ... method Terminate (line 466) | func (sm *Manager) Terminate(sessionID string) (isNotAllowed bool, err... method NotifyBackendExpired (line 541) | func (sm *Manager) NotifyBackendExpired(sessionID, workloadID string, ... method updateMetadata (line 597) | func (sm *Manager) updateMetadata(sessionID string, metadata map[strin... method GetMultiSession (line 633) | func (sm *Manager) GetMultiSession(sessionID string) (vmcpsession.Mult... method checkSession (line 649) | func (sm *Manager) checkSession(sessionID string, sess vmcpsession.Mul... method loadSession (line 686) | func (sm *Manager) loadSession(sessionID string) (vmcpsession.MultiSes... method DecorateSession (line 768) | func (sm *Manager) DecorateSession(sessionID string, fn func(sessionty... method GetAdaptedTools (line 812) | func (sm *Manager) GetAdaptedTools(sessionID string) ([]mcpserver.Serv... method GetAdaptedResources (line 893) | func (sm *Manager) GetAdaptedResources(sessionID string) ([]mcpserver.... method GetAdaptedPrompts (line 945) | func (sm *Manager) GetAdaptedPrompts(sessionID string) ([]mcpserver.Se... method listAllBackends (line 1015) | func (sm *Manager) listAllBackends(ctx context.Context) []*vmcp.Backend { function New (line 97) | func New( constant generateTimeout (line 170) | generateTimeout = 5 * time.Second constant createSessionStorageTimeout (line 178) | createSessionStorageTimeout = 5 * time.Second constant validateTimeout (line 183) | validateTimeout = 3 * time.Second constant restoreStorageTimeout (line 188) | restoreStorageTimeout = 3 * time.Second constant restoreMetadataWriteTimeout (line 195) | restoreMetadataWriteTimeout = 5 * time.Second constant restoreSessionTimeout (line 201) | restoreSessionTimeout = 15 * time.Second constant terminateTimeout (line 208) | terminateTimeout = 5 * time.Second constant decorateTimeout (line 213) | decorateTimeout = 5 * time.Second constant notifyBackendExpiredTimeout (line 218) | notifyBackendExpiredTimeout = 5 * time.Second FILE: pkg/vmcp/server/sessionmanager/session_manager_test.go function newMockSession (line 37) | func newMockSession(t *testing.T, ctrl *gomock.Controller, sessionID str... function newMockFactory (line 64) | func newMockFactory(t *testing.T, ctrl *gomock.Controller, sess vmcpsess... function newMockFactoryWithError (line 74) | func newMockFactoryWithError(t *testing.T, ctrl *gomock.Controller, err ... type alwaysFailDataStorage (line 86) | type alwaysFailDataStorage struct method Load (line 88) | func (alwaysFailDataStorage) Load(_ context.Context, _ string) (map[st... method Create (line 91) | func (alwaysFailDataStorage) Create(_ context.Context, _ string, _ map... method Update (line 94) | func (alwaysFailDataStorage) Update(_ context.Context, _ string, _ map... method Delete (line 97) | func (alwaysFailDataStorage) Delete(_ context.Context, _ string) error... method Close (line 98) | func (alwaysFailDataStorage) Close() error ... type configurableFailDataStorage (line 102) | type configurableFailDataStorage struct method shouldFail (line 109) | func (s *configurableFailDataStorage) shouldFail() bool { method Create (line 114) | func (s *configurableFailDataStorage) Create(ctx context.Context, id s... method Update (line 121) | func (s *configurableFailDataStorage) Update(ctx context.Context, id s... method Delete (line 128) | func (s *configurableFailDataStorage) Delete(ctx context.Context, id s... type deleteBeforeUpdateStorage (line 139) | type deleteBeforeUpdateStorage struct method Update (line 144) | func (s *deleteBeforeUpdateStorage) Update(ctx context.Context, id str... type errorOnUpdateStorage (line 155) | type errorOnUpdateStorage struct method Update (line 160) | func (s *errorOnUpdateStorage) Update(_ context.Context, _ string, _ m... type fakeBackendRegistry (line 169) | type fakeBackendRegistry struct method Get (line 179) | func (r *fakeBackendRegistry) Get(_ context.Context, id string) *vmcp.... method List (line 188) | func (r *fakeBackendRegistry) List(_ context.Context) []vmcp.Backend { method Count (line 192) | func (r *fakeBackendRegistry) Count() int { function newFakeRegistry (line 175) | func newFakeRegistry() *fakeBackendRegistry { function newTestSessionDataStorage (line 198) | func newTestSessionDataStorage(t *testing.T) transportsession.DataStorage { function newTestSessionManager (line 207) | func newTestSessionManager( function TestSessionManager_Generate (line 224) | func TestSessionManager_Generate(t *testing.T) { function TestSessionManager_CreateSession (line 288) | func TestSessionManager_CreateSession(t *testing.T) { function TestSessionManager_Validate (line 489) | func TestSessionManager_Validate(t *testing.T) { function TestSessionManager_Terminate (line 567) | func TestSessionManager_Terminate(t *testing.T) { function TestSessionManager_GetMultiSession (line 808) | func TestSessionManager_GetMultiSession(t *testing.T) { function TestSessionManager_GetAdaptedTools (line 1109) | func TestSessionManager_GetAdaptedTools(t *testing.T) { function TestSessionManager_GetAdaptedResources (line 1480) | func TestSessionManager_GetAdaptedResources(t *testing.T) { function TestSessionManager_GetAdaptedPrompts (line 1770) | func TestSessionManager_GetAdaptedPrompts(t *testing.T) { function TestSessionManager_DecorateSession (line 2006) | func TestSessionManager_DecorateSession(t *testing.T) { function TestSessionManager_CheckSession (line 2132) | func TestSessionManager_CheckSession(t *testing.T) { function TestNotifyBackendExpired (line 2297) | func TestNotifyBackendExpired(t *testing.T) { function newCallToolRequest (line 2585) | func newCallToolRequest(name string, args map[string]any) mcp.CallToolRe... FILE: pkg/vmcp/server/sessionmanager/telemetry_test.go type fakeOptimizer (line 23) | type fakeOptimizer struct method FindTool (line 28) | func (f *fakeOptimizer) FindTool(ctx context.Context, input optimizer.... method CallTool (line 32) | func (f *fakeOptimizer) CallTool(ctx context.Context, input optimizer.... function findMetric (line 37) | func findMetric(rm metricdata.ResourceMetrics, name string) *metricdata.... function counterValue (line 50) | func counterValue(m *metricdata.Metrics) int64 { function histogramCount (line 67) | func histogramCount(m *metricdata.Metrics) uint64 { function TestTelemetryOptimizer (line 82) | func TestTelemetryOptimizer(t *testing.T) { FILE: pkg/vmcp/server/status.go type StatusResponse (line 19) | type StatusResponse struct type BackendStatus (line 27) | type BackendStatus struct method handleStatus (line 42) | func (s *Server) handleStatus(w http.ResponseWriter, r *http.Request) { method buildStatusResponse (line 62) | func (s *Server) buildStatusResponse(ctx context.Context) StatusResponse { function getAuthType (line 114) | func getAuthType(cfg *authtypes.BackendAuthStrategy) string { FILE: pkg/vmcp/server/status_reporting.go type StatusReportingConfig (line 20) | type StatusReportingConfig struct function DefaultStatusReportingConfig (line 30) | func DefaultStatusReportingConfig() StatusReportingConfig { method periodicStatusReporting (line 44) | func (s *Server) periodicStatusReporting(ctx context.Context, config Sta... method reportStatus (line 118) | func (s *Server) reportStatus(ctx context.Context, reporter vmcpstatus.R... FILE: pkg/vmcp/server/status_reporting_test.go type mockReporter (line 19) | type mockReporter struct method ReportStatus (line 25) | func (m *mockReporter) ReportStatus(_ context.Context, status *vmcp.St... method Start (line 33) | func (*mockReporter) Start(_ context.Context) (func(context.Context) e... method getCallCount (line 37) | func (m *mockReporter) getCallCount() int { function TestPeriodicStatusReporting_InvalidInterval (line 44) | func TestPeriodicStatusReporting_InvalidInterval(t *testing.T) { function TestPeriodicStatusReporting_ValidInterval (line 87) | func TestPeriodicStatusReporting_ValidInterval(t *testing.T) { function TestPeriodicStatusReporting_NilReporter (line 110) | func TestPeriodicStatusReporting_NilReporter(t *testing.T) { function TestDefaultStatusReportingConfig (line 126) | func TestDefaultStatusReportingConfig(t *testing.T) { type testDynamicRegistry (line 136) | type testDynamicRegistry struct method Version (line 141) | func (r *testDynamicRegistry) Version() uint64 { method List (line 147) | func (*testDynamicRegistry) List(_ context.Context) []vmcp.Backend ... method Get (line 148) | func (*testDynamicRegistry) Get(_ context.Context, _ string) *vmcp.Bac... method Count (line 149) | func (*testDynamicRegistry) Count() int ... method Upsert (line 151) | func (r *testDynamicRegistry) Upsert(_ vmcp.Backend) error { method Remove (line 158) | func (r *testDynamicRegistry) Remove(_ string) error { function TestPeriodicStatusReporting_ReactsToVersionChange (line 168) | func TestPeriodicStatusReporting_ReactsToVersionChange(t *testing.T) { function TestReportStatus (line 218) | func TestReportStatus(t *testing.T) { FILE: pkg/vmcp/server/status_test.go type StatusResponse (line 30) | type StatusResponse struct type BackendStatus (line 38) | type BackendStatus struct function createTestServerWithBackends (line 47) | func createTestServerWithBackends(t *testing.T, backends []vmcp.Backend,... function TestStatusEndpoint_HTTPBehavior (line 56) | func TestStatusEndpoint_HTTPBehavior(t *testing.T) { function TestStatusEndpoint_HealthLogic (line 83) | func TestStatusEndpoint_HealthLogic(t *testing.T) { function TestStatusEndpoint_AuthTypeMapping (line 118) | func TestStatusEndpoint_AuthTypeMapping(t *testing.T) { function TestStatusEndpoint_GroupRef (line 152) | func TestStatusEndpoint_GroupRef(t *testing.T) { function TestStatusEndpoint_BackendFieldMapping (line 166) | func TestStatusEndpoint_BackendFieldMapping(t *testing.T) { function createTestServerWithHealthMonitor (line 200) | func createTestServerWithHealthMonitor( function queryStatus (line 290) | func queryStatus(t *testing.T, srv *server.Server) StatusResponse { function TestStatusEndpoint_ReflectsLiveHealthMonitor_Unhealthy (line 307) | func TestStatusEndpoint_ReflectsLiveHealthMonitor_Unhealthy(t *testing.T) { function TestStatusEndpoint_ReflectsLiveHealthMonitor_Healthy (line 352) | func TestStatusEndpoint_ReflectsLiveHealthMonitor_Healthy(t *testing.T) { function TestStatusEndpoint_FallsBackToRegistry_WhenMonitorDisabled (line 393) | func TestStatusEndpoint_FallsBackToRegistry_WhenMonitorDisabled(t *testi... FILE: pkg/vmcp/server/telemetry.go constant instrumentationName (line 23) | instrumentationName = "github.com/stacklok/toolhive/pkg/vmcp" function monitorBackends (line 28) | func monitorBackends( type telemetryBackendClient (line 87) | type telemetryBackendClient struct method record (line 127) | func (t telemetryBackendClient) record( method CallTool (line 195) | func (t telemetryBackendClient) CallTool( method ReadResource (line 215) | func (t telemetryBackendClient) ReadResource( method GetPrompt (line 233) | func (t telemetryBackendClient) GetPrompt( method ListCapabilities (line 249) | func (t telemetryBackendClient) ListCapabilities( function mapActionToMCPMethod (line 100) | func mapActionToMCPMethod(action string) string { function mapTransportTypeToNetworkTransport (line 114) | func mapTransportTypeToNetworkTransport(transportType string) string { FILE: pkg/vmcp/server/telemetry_integration_test.go type backendClientRef (line 40) | type backendClientRef struct method set (line 45) | func (r *backendClientRef) set(c vmcp.BackendClient) { method get (line 51) | func (r *backendClientRef) get() vmcp.BackendClient { type backendAwareTestSession (line 59) | type backendAwareTestSession struct method Tools (line 66) | func (s *backendAwareTestSession) Tools() []vmcp.Tool ... method AllTools (line 67) | func (s *backendAwareTestSession) AllTools() []vmcp.Tool ... method Resources (line 68) | func (*backendAwareTestSession) Resources() []vmcp.Resource ... method Prompts (line 69) | func (*backendAwareTestSession) Prompts() []vmcp.Prompt ... method BackendSessions (line 70) | func (*backendAwareTestSession) BackendSessions() map[string]string ... method GetRoutingTable (line 71) | func (s *backendAwareTestSession) GetRoutingTable() *vmcp.RoutingTable... method Close (line 72) | func (*backendAwareTestSession) Close() error ... method CallTool (line 73) | func (s *backendAwareTestSession) CallTool( method ReadResource (line 87) | func (*backendAwareTestSession) ReadResource( method GetPrompt (line 93) | func (*backendAwareTestSession) GetPrompt( type backendAwareTestFactory (line 100) | type backendAwareTestFactory struct method MakeSessionWithID (line 113) | func (f *backendAwareTestFactory) MakeSessionWithID( method RestoreSession (line 124) | func (f *backendAwareTestFactory) RestoreSession( function newBackendAwareTestFactory (line 108) | func newBackendAwareTestFactory(tools []vmcp.Tool, rt *vmcp.RoutingTable... function TestIntegration_TelemetryMiddleware (line 149) | func TestIntegration_TelemetryMiddleware(t *testing.T) { FILE: pkg/vmcp/server/telemetry_test.go function TestMapActionToMCPMethod (line 10) | func TestMapActionToMCPMethod(t *testing.T) { function TestMapTransportTypeToNetworkTransport (line 36) | func TestMapTransportTypeToNetworkTransport(t *testing.T) { FILE: pkg/vmcp/server/testfactory_test.go function testMinimalFactory (line 18) | func testMinimalFactory() vmcpsession.MultiSessionFactory { type minimalTestFactory (line 25) | type minimalTestFactory struct method MakeSessionWithID (line 29) | func (*minimalTestFactory) MakeSessionWithID( method RestoreSession (line 35) | func (*minimalTestFactory) RestoreSession( FILE: pkg/vmcp/server/testutil_test.go function startRealMCPBackend (line 27) | func startRealMCPBackend(t *testing.T) string { type MCPTestClient (line 57) | type MCPTestClient struct method InitializeSession (line 75) | func (c *MCPTestClient) InitializeSession() string { method ListTools (line 99) | func (c *MCPTestClient) ListTools() *http.Response { method CallTool (line 113) | func (c *MCPTestClient) CallTool(toolName string, args map[string]any)... method SessionID (line 130) | func (c *MCPTestClient) SessionID() string { method Terminate (line 135) | func (c *MCPTestClient) Terminate() *http.Response { method postMCP (line 158) | func (c *MCPTestClient) postMCP(body map[string]any, sessionID string)... function NewMCPTestClient (line 65) | func NewMCPTestClient(t *testing.T, baseURL string) *MCPTestClient { FILE: pkg/vmcp/server/workflow_converter.go function ConvertConfigToWorkflowDefinitions (line 27) | func ConvertConfigToWorkflowDefinitions( function convertSteps (line 84) | func convertSteps(configSteps []config.WorkflowStepConfig) ([]composer.W... function convertSingleStep (line 103) | func convertSingleStep(index int, cs *config.WorkflowStepConfig) (compos... function validateStepBasics (line 173) | func validateStepBasics(index int, cs *config.WorkflowStepConfig) error { function parseStepType (line 185) | func parseStepType(cs *config.WorkflowStepConfig) (composer.StepType, er... function convertErrorHandler (line 204) | func convertErrorHandler(cfgHandler *config.StepErrorHandling) *composer... function convertElicitation (line 223) | func convertElicitation( FILE: pkg/vmcp/server/workflow_converter_test.go function TestConvertConfigToWorkflowDefinitions (line 18) | func TestConvertConfigToWorkflowDefinitions(t *testing.T) { function TestConvertSteps_ComplexWorkflow (line 127) | func TestConvertSteps_ComplexWorkflow(t *testing.T) { function TestConvertConfigToWorkflowDefinitions_WithOutputConfig (line 184) | func TestConvertConfigToWorkflowDefinitions_WithOutputConfig(t *testing.... FILE: pkg/vmcp/server/write_timeout_integration_test.go function TestIntegration_SSEGetConnectionSurvivesWriteTimeout (line 32) | func TestIntegration_SSEGetConnectionSurvivesWriteTimeout(t *testing.T) { FILE: pkg/vmcp/session/admission.go type AdmissionQueue (line 13) | type AdmissionQueue interface type admissionQueue (line 32) | type admissionQueue struct method TryAdmit (line 45) | func (q *admissionQueue) TryAdmit() (bool, func()) { method CloseAndDrain (line 56) | func (q *admissionQueue) CloseAndDrain() { function newAdmissionQueue (line 41) | func newAdmissionQueue() AdmissionQueue { FILE: pkg/vmcp/session/admission_test.go function TestAdmissionQueue_TryAdmit_Open (line 16) | func TestAdmissionQueue_TryAdmit_Open(t *testing.T) { function TestAdmissionQueue_TryAdmit_AfterClose (line 26) | func TestAdmissionQueue_TryAdmit_AfterClose(t *testing.T) { function TestAdmissionQueue_CloseAndDrain_Idempotent (line 37) | func TestAdmissionQueue_CloseAndDrain_Idempotent(t *testing.T) { function TestAdmissionQueue_CloseAndDrain_BlocksUntilDone (line 47) | func TestAdmissionQueue_CloseAndDrain_BlocksUntilDone(t *testing.T) { function TestAdmissionQueue_MultipleRequests_AllMustComplete (line 79) | func TestAdmissionQueue_MultipleRequests_AllMustComplete(t *testing.T) { function TestAdmissionQueue_ConcurrentTryAdmitAndClose_NoRaces (line 120) | func TestAdmissionQueue_ConcurrentTryAdmitAndClose_NoRaces(t *testing.T) { function TestAdmissionQueue_DoneCalledAfterDrainReturns_NoPanic (line 157) | func TestAdmissionQueue_DoneCalledAfterDrainReturns_NoPanic(t *testing.T) { FILE: pkg/vmcp/session/connector_integration_test.go function startInProcessMCPServer (line 37) | func startInProcessMCPServer(t *testing.T) string { function newUnauthenticatedRegistry (line 95) | func newUnauthenticatedRegistry(t *testing.T) vmcpauth.OutgoingAuthRegis... function TestSessionFactory_Integration_CapabilityDiscovery (line 106) | func TestSessionFactory_Integration_CapabilityDiscovery(t *testing.T) { function TestSessionFactory_Integration_CallTool (line 135) | func TestSessionFactory_Integration_CallTool(t *testing.T) { function TestSessionFactory_Integration_ReadResource (line 158) | func TestSessionFactory_Integration_ReadResource(t *testing.T) { function TestSessionFactory_Integration_GetPrompt (line 181) | func TestSessionFactory_Integration_GetPrompt(t *testing.T) { function TestSessionFactory_Integration_MultipleBackends (line 207) | func TestSessionFactory_Integration_MultipleBackends(t *testing.T) { function TestTokenBinding_CallerRejection (line 239) | func TestTokenBinding_CallerRejection(t *testing.T) { function TestTokenBinding_ReadResource_And_GetPrompt_WithRealBackend (line 283) | func TestTokenBinding_ReadResource_And_GetPrompt_WithRealBackend(t *test... function TestTokenBinding_DifferentSecretsProduceDifferentHashes (line 326) | func TestTokenBinding_DifferentSecretsProduceDifferentHashes(t *testing.... function TestRestoreHijackPrevention_Integration_RoundTrip (line 359) | func TestRestoreHijackPrevention_Integration_RoundTrip(t *testing.T) { function TestRestoreHijackPrevention_Integration_CrossReplicaSecretMismatch (line 410) | func TestRestoreHijackPrevention_Integration_CrossReplicaSecretMismatch(... function TestTokenBinding_MetadataEncoding (line 446) | func TestTokenBinding_MetadataEncoding(t *testing.T) { function startInProcessMCPServerWithHeaderCapture (line 473) | func startInProcessMCPServerWithHeaderCapture(t *testing.T) (string, fun... function TestSessionFactory_Integration_RestoreSession_SendsStoredSessionHintToBackend (line 517) | func TestSessionFactory_Integration_RestoreSession_SendsStoredSessionHin... FILE: pkg/vmcp/session/decorating_factory.go type Decorator (line 19) | type Decorator function NewDecoratingFactory (line 23) | func NewDecoratingFactory(base MultiSessionFactory, decorators ...Decora... type decoratingMultiSessionFactory (line 30) | type decoratingMultiSessionFactory struct method RestoreSession (line 37) | func (f *decoratingMultiSessionFactory) RestoreSession( method MakeSessionWithID (line 50) | func (f *decoratingMultiSessionFactory) MakeSessionWithID( method applyDecorators (line 66) | func (f *decoratingMultiSessionFactory) applyDecorators(ctx context.Co... FILE: pkg/vmcp/session/decorating_factory_test.go function TestNewDecoratingFactory_NoDecorators_ReturnBase (line 20) | func TestNewDecoratingFactory_NoDecorators_ReturnBase(t *testing.T) { function TestNewDecoratingFactory_DecoratorsAppliedInOrder (line 30) | func TestNewDecoratingFactory_DecoratorsAppliedInOrder(t *testing.T) { function TestNewDecoratingFactory_DecoratorError_ClosesSession (line 56) | func TestNewDecoratingFactory_DecoratorError_ClosesSession(t *testing.T) { function TestNewDecoratingFactory_SecondDecoratorError_ClosesCurrentSession (line 77) | func TestNewDecoratingFactory_SecondDecoratorError_ClosesCurrentSession(... function TestNewDecoratingFactory_NilReturnWithNoError_ClosesSession (line 100) | func TestNewDecoratingFactory_NilReturnWithNoError_ClosesSession(t *test... function TestNewDecoratingFactory_CloseErrorOnDecoratorFailure_DoesNotSuppressOriginalError (line 121) | func TestNewDecoratingFactory_CloseErrorOnDecoratorFailure_DoesNotSuppre... function TestNewDecoratingFactory_HappyPath_ReturnsFinalSession (line 143) | func TestNewDecoratingFactory_HappyPath_ReturnsFinalSession(t *testing.T) { function TestRestoreSession_BaseError_Propagated (line 168) | func TestRestoreSession_BaseError_Propagated(t *testing.T) { function TestRestoreSession_DecoratorsAppliedInOrder (line 186) | func TestRestoreSession_DecoratorsAppliedInOrder(t *testing.T) { function TestRestoreSession_DecoratorError_ClosesSession (line 212) | func TestRestoreSession_DecoratorError_ClosesSession(t *testing.T) { function TestRestoreSession_SecondDecoratorError_ClosesCurrentSession (line 233) | func TestRestoreSession_SecondDecoratorError_ClosesCurrentSession(t *tes... function TestRestoreSession_NilReturnWithNoError_ClosesSession (line 256) | func TestRestoreSession_NilReturnWithNoError_ClosesSession(t *testing.T) { function TestRestoreSession_CloseErrorDoesNotSuppressOriginalError (line 277) | func TestRestoreSession_CloseErrorDoesNotSuppressOriginalError(t *testin... function TestRestoreSession_HappyPath_ReturnsFinalSession (line 298) | func TestRestoreSession_HappyPath_ReturnsFinalSession(t *testing.T) { FILE: pkg/vmcp/session/default_session.go type defaultMultiSession (line 58) | type defaultMultiSession struct method Tools (line 74) | func (s *defaultMultiSession) Tools() []vmcp.Tool { method AllTools (line 82) | func (s *defaultMultiSession) AllTools() []vmcp.Tool { method Resources (line 89) | func (s *defaultMultiSession) Resources() []vmcp.Resource { method Prompts (line 96) | func (s *defaultMultiSession) Prompts() []vmcp.Prompt { method BackendSessions (line 103) | func (s *defaultMultiSession) BackendSessions() map[string]string { method GetRoutingTable (line 111) | func (s *defaultMultiSession) GetRoutingTable() *vmcp.RoutingTable { method lookupBackend (line 121) | func (s *defaultMultiSession) lookupBackend( method CallTool (line 147) | func (s *defaultMultiSession) CallTool( method ReadResource (line 170) | func (s *defaultMultiSession) ReadResource( method GetPrompt (line 189) | func (s *defaultMultiSession) GetPrompt( method Close (line 210) | func (s *defaultMultiSession) Close() error { FILE: pkg/vmcp/session/default_session_test.go type mockConnectedBackend (line 30) | type mockConnectedBackend struct method CallTool (line 39) | func (m *mockConnectedBackend) CallTool(ctx context.Context, toolName ... method ReadResource (line 46) | func (m *mockConnectedBackend) ReadResource(ctx context.Context, uri s... method GetPrompt (line 53) | func (m *mockConnectedBackend) GetPrompt(ctx context.Context, name str... method SessionID (line 62) | func (m *mockConnectedBackend) SessionID() string { return m.sessID } method Close (line 63) | func (m *mockConnectedBackend) Close() error { function buildTestSession (line 71) | func buildTestSession( function TestDefaultSession_Accessors (line 122) | func TestDefaultSession_Accessors(t *testing.T) { function TestDefaultSession_CallTool (line 146) | func TestDefaultSession_CallTool(t *testing.T) { function TestDefaultSession_ReadResource (line 215) | func TestDefaultSession_ReadResource(t *testing.T) { function TestDefaultSession_GetPrompt (line 280) | func TestDefaultSession_GetPrompt(t *testing.T) { function TestDefaultSession_Close (line 347) | func TestDefaultSession_Close(t *testing.T) { function TestDefaultSession_ErrNoBackendClient (line 457) | func TestDefaultSession_ErrNoBackendClient(t *testing.T) { function TestDefaultSession_Close_AllBackendsAttemptedOnError (line 490) | func TestDefaultSession_Close_AllBackendsAttemptedOnError(t *testing.T) { function TestNewSessionFactory_MakeSession (line 525) | func TestNewSessionFactory_MakeSession(t *testing.T) { function TestNewSessionFactory_PartialInitialisation (line 611) | func TestNewSessionFactory_PartialInitialisation(t *testing.T) { function TestNewSessionFactory_ConnectorReturnsNilWithoutError (line 641) | func TestNewSessionFactory_ConnectorReturnsNilWithoutError(t *testing.T) { function TestNewSessionFactory_ConnectorReturnsConnWithError (line 702) | func TestNewSessionFactory_ConnectorReturnsConnWithError(t *testing.T) { function TestNewSessionFactory_CapabilityNameConflictIsResolvedDeterministically (line 724) | func TestNewSessionFactory_CapabilityNameConflictIsResolvedDeterministic... function TestNewSessionFactory_AllBackendsFail (line 765) | func TestNewSessionFactory_AllBackendsFail(t *testing.T) { function TestNewSessionFactory_BackendInitTimeout (line 782) | func TestNewSessionFactory_BackendInitTimeout(t *testing.T) { function TestNewSessionFactory_ParallelInit (line 808) | func TestNewSessionFactory_ParallelInit(t *testing.T) { function TestNewSessionFactory_MakeSession_Metadata (line 860) | func TestNewSessionFactory_MakeSession_Metadata(t *testing.T) { function TestBuildRoutingTable (line 949) | func TestBuildRoutingTable(t *testing.T) { function TestWithMaxBackendInitConcurrency_IgnoresNonPositive (line 1079) | func TestWithMaxBackendInitConcurrency_IgnoresNonPositive(t *testing.T) { function TestWithBackendInitTimeout_IgnoresNonPositive (line 1090) | func TestWithBackendInitTimeout_IgnoresNonPositive(t *testing.T) { function TestValidateSessionID (line 1101) | func TestValidateSessionID(t *testing.T) { function TestMakeSessionWithID_InvalidIDReturnsError (line 1132) | func TestMakeSessionWithID_InvalidIDReturnsError(t *testing.T) { function buildMultiBackendSession (line 1155) | func buildMultiBackendSession( function TestDefaultSession_BackendCrashResilience (line 1186) | func TestDefaultSession_BackendCrashResilience(t *testing.T) { FILE: pkg/vmcp/session/factory.go constant defaultMaxBackendInitConcurrency (line 28) | defaultMaxBackendInitConcurrency = 10 constant defaultBackendInitTimeout (line 29) | defaultBackendInitTimeout = 30 * time.Second constant MetadataKeyIdentitySubject (line 34) | MetadataKeyIdentitySubject = "vmcp.identity.subject" constant MetadataKeyBackendIDs (line 41) | MetadataKeyBackendIDs = "vmcp.backend.ids" constant MetadataKeyBackendSessionPrefix (line 46) | MetadataKeyBackendSessionPrefix = "vmcp.backend.session." type MultiSessionFactory (line 62) | type MultiSessionFactory interface type backendConnector (line 122) | type backendConnector type defaultMultiSessionFactory (line 130) | type defaultMultiSessionFactory struct method initOneBackend (line 225) | func (f *defaultMultiSessionFactory) initOneBackend( method MakeSessionWithID (line 348) | func (f *defaultMultiSessionFactory) MakeSessionWithID( method makeBaseSession (line 420) | func (f *defaultMultiSessionFactory) makeBaseSession( method makeSession (line 512) | func (f *defaultMultiSessionFactory) makeSession( method RestoreSession (line 537) | func (f *defaultMultiSessionFactory) RestoreSession( type MultiSessionFactoryOption (line 139) | type MultiSessionFactoryOption function WithMaxBackendInitConcurrency (line 143) | func WithMaxBackendInitConcurrency(n int) MultiSessionFactoryOption { function WithBackendInitTimeout (line 153) | func WithBackendInitTimeout(d time.Duration) MultiSessionFactoryOption { function WithHMACSecret (line 169) | func WithHMACSecret(secret []byte) MultiSessionFactoryOption { function WithAggregator (line 185) | func WithAggregator(agg aggregator.Aggregator) MultiSessionFactoryOption { function NewSessionFactory (line 193) | func NewSessionFactory(registry vmcpauth.OutgoingAuthRegistry, opts ...M... function newSessionFactoryWithConnector (line 200) | func newSessionFactoryWithConnector(connector backendConnector, opts ...... type initResult (line 214) | type initResult struct function buildRoutingTable (line 263) | func buildRoutingTable(results []initResult) (*vmcp.RoutingTable, []vmcp... function buildRoutingTableWithAggregator (line 303) | func buildRoutingTableWithAggregator( function validateSessionID (line 380) | func validateSessionID(id string) error { function populateBackendMetadata (line 401) | func populateBackendMetadata(transportSess transportsession.Session, res... function filterBackendsByStoredIDs (line 629) | func filterBackendsByStoredIDs(allBackends []*vmcp.Backend, storedIDs st... FILE: pkg/vmcp/session/factory_metadata_test.go function TestMakeSession_PersistsBackendSessionIDs (line 21) | func TestMakeSession_PersistsBackendSessionIDs(t *testing.T) { function TestRestoreSession_FreshlyPopulatesMetadataKeyBackendIDs (line 103) | func TestRestoreSession_FreshlyPopulatesMetadataKeyBackendIDs(t *testing... function TestRestoreSession_AbsentMetadataKeyBackendIDsReturnsError (line 156) | func TestRestoreSession_AbsentMetadataKeyBackendIDsReturnsError(t *testi... function TestRestoreSession_PassesStoredSessionHintToConnector (line 175) | func TestRestoreSession_PassesStoredSessionHintToConnector(t *testing.T) { function TestMakeSession_PassesEmptySessionHintToConnector (line 230) | func TestMakeSession_PassesEmptySessionHintToConnector(t *testing.T) { FILE: pkg/vmcp/session/internal/backend/mcp_session.go constant maxBackendResponseSize (line 30) | maxBackendResponseSize = 100 * 1024 * 1024 constant defaultBackendRequestTimeout (line 35) | defaultBackendRequestTimeout = 30 * time.Second type httpRoundTripperFunc (line 39) | type httpRoundTripperFunc method RoundTrip (line 41) | func (f httpRoundTripperFunc) RoundTrip(req *http.Request) (*http.Resp... type authRoundTripper (line 44) | type authRoundTripper struct method RoundTrip (line 51) | func (a *authRoundTripper) RoundTrip(req *http.Request) (*http.Respons... type identityRoundTripper (line 60) | type identityRoundTripper struct method RoundTrip (line 65) | func (i *identityRoundTripper) RoundTrip(req *http.Request) (*http.Res... type mcpSession (line 85) | type mcpSession struct method SessionID (line 92) | func (c *mcpSession) SessionID() string { return c.backendSessionID } method Close (line 95) | func (c *mcpSession) Close() error { return c.client.Close() } method CallTool (line 98) | func (c *mcpSession) CallTool( method ReadResource (line 141) | func (c *mcpSession) ReadResource( method GetPrompt (line 164) | func (c *mcpSession) GetPrompt( function NewHTTPConnector (line 198) | func NewHTTPConnector(registry vmcpauth.OutgoingAuthRegistry) func( function createMCPClient (line 240) | func createMCPClient( function initAndQueryCapabilities (line 348) | func initAndQueryCapabilities( FILE: pkg/vmcp/session/internal/backend/mcp_session_test.go function newTestRegistry (line 18) | func newTestRegistry(t *testing.T) vmcpauth.OutgoingAuthRegistry { function TestCreateMCPClient_UnsupportedTransport (line 28) | func TestCreateMCPClient_UnsupportedTransport(t *testing.T) { FILE: pkg/vmcp/session/internal/backend/roundtripper_test.go type okTransport (line 25) | type okTransport struct method RoundTrip (line 29) | func (t *okTransport) RoundTrip(req *http.Request) (*http.Response, er... function newTestRequest (line 38) | func newTestRequest(ctx context.Context, t *testing.T) *http.Request { function TestHTTPRoundTripperFunc_DelegatesToWrappedFunction (line 49) | func TestHTTPRoundTripperFunc_DelegatesToWrappedFunction(t *testing.T) { function TestHTTPRoundTripperFunc_PropagatesError (line 68) | func TestHTTPRoundTripperFunc_PropagatesError(t *testing.T) { function TestAuthRoundTripper_SuccessfulAuth_ForwardsRequestToBase (line 87) | func TestAuthRoundTripper_SuccessfulAuth_ForwardsRequestToBase(t *testin... function TestAuthRoundTripper_AuthFailure_ReturnsErrorAndSkipsBase (line 117) | func TestAuthRoundTripper_AuthFailure_ReturnsErrorAndSkipsBase(t *testin... function TestAuthRoundTripper_AuthStrategyReceivesClonedRequest (line 154) | func TestAuthRoundTripper_AuthStrategyReceivesClonedRequest(t *testing.T) { function TestIdentityRoundTripper_WithIdentity_PropagatesIdentityInContext (line 192) | func TestIdentityRoundTripper_WithIdentity_PropagatesIdentityInContext(t... function TestIdentityRoundTripper_NilIdentity_ContextUnchanged (line 216) | func TestIdentityRoundTripper_NilIdentity_ContextUnchanged(t *testing.T) { function TestIdentityRoundTripper_WithIdentity_ClonesRequest (line 234) | func TestIdentityRoundTripper_WithIdentity_ClonesRequest(t *testing.T) { FILE: pkg/vmcp/session/internal/backend/session.go type Session (line 26) | type Session interface FILE: pkg/vmcp/session/internal/security/hijack_prevention_test.go type mockSession (line 26) | type mockSession struct method SetMetadata (line 37) | func (m *mockSession) SetMetadata(key, value string) { method GetMetadata (line 41) | func (m *mockSession) GetMetadata() map[string]string { method CallTool (line 45) | func (*mockSession) CallTool(_ context.Context, _ *auth.Identity, _ st... method ReadResource (line 49) | func (*mockSession) ReadResource(_ context.Context, _ *auth.Identity, ... method GetPrompt (line 53) | func (*mockSession) GetPrompt(_ context.Context, _ *auth.Identity, _ s... method Close (line 57) | func (*mockSession) Close() error { return nil } function newMockSession (line 31) | func newMockSession(_ string) *mockSession { function TestValidateCaller_EdgeCases (line 60) | func TestValidateCaller_EdgeCases(t *testing.T) { function TestPreventSessionHijacking_NilSession (line 178) | func TestPreventSessionHijacking_NilSession(t *testing.T) { function TestPreventSessionHijacking_BasicFunctionality (line 187) | func TestPreventSessionHijacking_BasicFunctionality(t *testing.T) { function TestRestoreHijackPrevention (line 223) | func TestRestoreHijackPrevention(t *testing.T) { FILE: pkg/vmcp/session/internal/security/restore_test.go function TestRestoreHijackPrevention_NilSession (line 18) | func TestRestoreHijackPrevention_NilSession(t *testing.T) { function TestRestoreHijackPrevention_MissingSalt (line 26) | func TestRestoreHijackPrevention_MissingSalt(t *testing.T) { function TestRestoreHijackPrevention_InvalidSaltHex (line 36) | func TestRestoreHijackPrevention_InvalidSaltHex(t *testing.T) { function TestRestoreHijackPrevention_AnonymousSession (line 45) | func TestRestoreHijackPrevention_AnonymousSession(t *testing.T) { function TestRestoreHijackPrevention_AuthenticatedRoundTrip (line 66) | func TestRestoreHijackPrevention_AuthenticatedRoundTrip(t *testing.T) { function TestRestoreHijackPrevention_CrossReplicaSecretMismatch (line 104) | func TestRestoreHijackPrevention_CrossReplicaSecretMismatch(t *testing.T) { FILE: pkg/vmcp/session/internal/security/security.go constant SHA256HexLen (line 26) | SHA256HexLen = 64 constant metadataKeyTokenHash (line 30) | metadataKeyTokenHash = sessiontypes.MetadataKeyTokenHash constant metadataKeyTokenSalt (line 34) | metadataKeyTokenSalt = sessiontypes.MetadataKeyTokenSalt function generateSalt (line 42) | func generateSalt() ([]byte, error) { function hashToken (line 65) | func hashToken(token string, secret, salt []byte) string { type hijackPreventionDecorator (line 87) | type hijackPreventionDecorator struct method validateCaller (line 107) | func (d hijackPreventionDecorator) validateCaller(caller *auth.Identit... method CallTool (line 156) | func (d hijackPreventionDecorator) CallTool( method ReadResource (line 172) | func (d hijackPreventionDecorator) ReadResource( method GetPrompt (line 186) | func (d hijackPreventionDecorator) GetPrompt( function RestoreHijackPrevention (line 207) | func RestoreHijackPrevention( function PreventSessionHijacking (line 289) | func PreventSessionHijacking( FILE: pkg/vmcp/session/internal/security/security_test.go function TestShouldAllowAnonymous_EdgeCases (line 16) | func TestShouldAllowAnonymous_EdgeCases(t *testing.T) { FILE: pkg/vmcp/session/mocks/mock_factory.go type MockMultiSessionFactory (line 23) | type MockMultiSessionFactory struct method EXPECT (line 42) | func (m *MockMultiSessionFactory) EXPECT() *MockMultiSessionFactoryMoc... method MakeSessionWithID (line 47) | func (m *MockMultiSessionFactory) MakeSessionWithID(ctx context.Contex... method RestoreSession (line 62) | func (m *MockMultiSessionFactory) RestoreSession(ctx context.Context, ... type MockMultiSessionFactoryMockRecorder (line 30) | type MockMultiSessionFactoryMockRecorder struct method MakeSessionWithID (line 56) | func (mr *MockMultiSessionFactoryMockRecorder) MakeSessionWithID(ctx, ... method RestoreSession (line 71) | func (mr *MockMultiSessionFactoryMockRecorder) RestoreSession(ctx, id,... function NewMockMultiSessionFactory (line 35) | func NewMockMultiSessionFactory(ctrl *gomock.Controller) *MockMultiSessi... FILE: pkg/vmcp/session/optimizerdec/decorator.go constant FindToolName (line 25) | FindToolName = "find_tool" constant CallToolName (line 27) | CallToolName = "call_tool" constant CallToolArgToolName (line 30) | CallToolArgToolName = "tool_name" constant CallToolArgParameters (line 33) | CallToolArgParameters = "parameters" type optimizerDecorator (line 46) | type optimizerDecorator struct method Tools (line 88) | func (d *optimizerDecorator) Tools() []vmcp.Tool { method CallTool (line 96) | func (d *optimizerDecorator) CallTool( method handleFindTool (line 113) | func (d *optimizerDecorator) handleFindTool(ctx context.Context, argum... method handleCallTool (line 142) | func (d *optimizerDecorator) handleCallTool( function NewDecorator (line 55) | func NewDecorator(sess sessiontypes.MultiSession, opt optimizer.Optimize... function mcpResultToVMCPResult (line 163) | func mcpResultToVMCPResult(r *mcp.CallToolResult) *vmcp.ToolCallResult { function errorResult (line 172) | func errorResult(msg string) *vmcp.ToolCallResult { function mustGenerateSchema (line 179) | func mustGenerateSchema[T any]() map[string]any { FILE: pkg/vmcp/session/optimizerdec/decorator_test.go type stubOptimizer (line 25) | type stubOptimizer struct method FindTool (line 32) | func (s *stubOptimizer) FindTool(_ context.Context, _ optimizer.FindTo... method CallTool (line 36) | func (s *stubOptimizer) CallTool(_ context.Context, _ optimizer.CallTo... function TestOptimizerDecorator_Tools (line 40) | func TestOptimizerDecorator_Tools(t *testing.T) { function TestOptimizerDecorator_CallTool_FindTool (line 62) | func TestOptimizerDecorator_CallTool_FindTool(t *testing.T) { function TestOptimizerDecorator_CallTool_CallTool (line 124) | func TestOptimizerDecorator_CallTool_CallTool(t *testing.T) { function TestCallToolArgConstantsMatchStructTags (line 206) | func TestCallToolArgConstantsMatchStructTags(t *testing.T) { FILE: pkg/vmcp/session/session.go constant MetadataKeyTokenHash (line 21) | MetadataKeyTokenHash = sessiontypes.MetadataKeyTokenHash constant MetadataKeyTokenSalt (line 27) | MetadataKeyTokenSalt = sessiontypes.MetadataKeyTokenSalt FILE: pkg/vmcp/session/token_binding_test.go function nilBackendConnector (line 28) | func nilBackendConnector() backendConnector { function TestMakeSession_StoresTokenHash (line 34) | func TestMakeSession_StoresTokenHash(t *testing.T) { function TestMakeSessionWithID_ValidationOfAllowAnonymous (line 126) | func TestMakeSessionWithID_ValidationOfAllowAnonymous(t *testing.T) { function TestWithHMACSecret_DefensiveCopy (line 207) | func TestWithHMACSecret_DefensiveCopy(t *testing.T) { function TestRestoreSession_AbsentTokenHashKey (line 270) | func TestRestoreSession_AbsentTokenHashKey(t *testing.T) { function TestWithHMACSecret_RejectsEmptySecret (line 311) | func TestWithHMACSecret_RejectsEmptySecret(t *testing.T) { FILE: pkg/vmcp/session/types/mocks/mock_session.go type MockMultiSession (line 24) | type MockMultiSession struct method EXPECT (line 43) | func (m *MockMultiSession) EXPECT() *MockMultiSessionMockRecorder { method AllTools (line 48) | func (m *MockMultiSession) AllTools() []vmcp.Tool { method BackendSessions (line 62) | func (m *MockMultiSession) BackendSessions() map[string]string { method CallTool (line 76) | func (m *MockMultiSession) CallTool(ctx context.Context, caller *auth.... method Close (line 91) | func (m *MockMultiSession) Close() error { method CreatedAt (line 105) | func (m *MockMultiSession) CreatedAt() time.Time { method GetData (line 119) | func (m *MockMultiSession) GetData() any { method GetMetadata (line 133) | func (m *MockMultiSession) GetMetadata() map[string]string { method GetMetadataValue (line 147) | func (m *MockMultiSession) GetMetadataValue(key string) (string, bool) { method GetPrompt (line 162) | func (m *MockMultiSession) GetPrompt(ctx context.Context, caller *auth... method GetRoutingTable (line 177) | func (m *MockMultiSession) GetRoutingTable() *vmcp.RoutingTable { method ID (line 191) | func (m *MockMultiSession) ID() string { method Prompts (line 205) | func (m *MockMultiSession) Prompts() []vmcp.Prompt { method ReadResource (line 219) | func (m *MockMultiSession) ReadResource(ctx context.Context, caller *a... method Resources (line 234) | func (m *MockMultiSession) Resources() []vmcp.Resource { method SetData (line 248) | func (m *MockMultiSession) SetData(data any) { method SetMetadata (line 260) | func (m *MockMultiSession) SetMetadata(key, value string) { method Tools (line 272) | func (m *MockMultiSession) Tools() []vmcp.Tool { method Type (line 286) | func (m *MockMultiSession) Type() session.SessionType { method UpdatedAt (line 300) | func (m *MockMultiSession) UpdatedAt() time.Time { type MockMultiSessionMockRecorder (line 31) | type MockMultiSessionMockRecorder struct method AllTools (line 56) | func (mr *MockMultiSessionMockRecorder) AllTools() *gomock.Call { method BackendSessions (line 70) | func (mr *MockMultiSessionMockRecorder) BackendSessions() *gomock.Call { method CallTool (line 85) | func (mr *MockMultiSessionMockRecorder) CallTool(ctx, caller, toolName... method Close (line 99) | func (mr *MockMultiSessionMockRecorder) Close() *gomock.Call { method CreatedAt (line 113) | func (mr *MockMultiSessionMockRecorder) CreatedAt() *gomock.Call { method GetData (line 127) | func (mr *MockMultiSessionMockRecorder) GetData() *gomock.Call { method GetMetadata (line 141) | func (mr *MockMultiSessionMockRecorder) GetMetadata() *gomock.Call { method GetMetadataValue (line 156) | func (mr *MockMultiSessionMockRecorder) GetMetadataValue(key any) *gom... method GetPrompt (line 171) | func (mr *MockMultiSessionMockRecorder) GetPrompt(ctx, caller, name, a... method GetRoutingTable (line 185) | func (mr *MockMultiSessionMockRecorder) GetRoutingTable() *gomock.Call { method ID (line 199) | func (mr *MockMultiSessionMockRecorder) ID() *gomock.Call { method Prompts (line 213) | func (mr *MockMultiSessionMockRecorder) Prompts() *gomock.Call { method ReadResource (line 228) | func (mr *MockMultiSessionMockRecorder) ReadResource(ctx, caller, uri ... method Resources (line 242) | func (mr *MockMultiSessionMockRecorder) Resources() *gomock.Call { method SetData (line 254) | func (mr *MockMultiSessionMockRecorder) SetData(data any) *gomock.Call { method SetMetadata (line 266) | func (mr *MockMultiSessionMockRecorder) SetMetadata(key, value any) *g... method Tools (line 280) | func (mr *MockMultiSessionMockRecorder) Tools() *gomock.Call { method Type (line 294) | func (mr *MockMultiSessionMockRecorder) Type() *gomock.Call { method UpdatedAt (line 308) | func (mr *MockMultiSessionMockRecorder) UpdatedAt() *gomock.Call { function NewMockMultiSession (line 36) | func NewMockMultiSession(ctrl *gomock.Controller) *MockMultiSession { FILE: pkg/vmcp/session/types/session.go type Caller (line 26) | type Caller interface type MultiSession (line 110) | type MultiSession interface constant MetadataKeyTokenHash (line 149) | MetadataKeyTokenHash = "vmcp.token.hash" constant MetadataKeyTokenSalt (line 158) | MetadataKeyTokenSalt = "vmcp.token.salt" function ShouldAllowAnonymous (line 164) | func ShouldAllowAnonymous(identity *auth.Identity) bool { FILE: pkg/vmcp/status/factory.go constant EnvVMCPName (line 16) | EnvVMCPName = "VMCP_NAME" constant EnvVMCPNamespace (line 19) | EnvVMCPNamespace = "VMCP_NAMESPACE" function NewReporter (line 34) | func NewReporter() (Reporter, error) { function newReporterFromEnv (line 43) | func newReporterFromEnv(vmcpName, vmcpNamespace string) (Reporter, error) { FILE: pkg/vmcp/status/factory_test.go function TestNewReporter_CLIMode (line 13) | func TestNewReporter_CLIMode(t *testing.T) { function TestNewReporter_K8sMode_MissingNamespace (line 22) | func TestNewReporter_K8sMode_MissingNamespace(t *testing.T) { function TestNewReporter_K8sMode_MissingName (line 32) | func TestNewReporter_K8sMode_MissingName(t *testing.T) { function TestNewReporter_K8sMode_OutsideCluster (line 42) | func TestNewReporter_K8sMode_OutsideCluster(t *testing.T) { function TestEnvVarConstants (line 58) | func TestEnvVarConstants(t *testing.T) { FILE: pkg/vmcp/status/helpers.go function shouldSkipStatus (line 16) | func shouldSkipStatus(status *vmcptypes.Status) bool { function noOpShutdown (line 22) | func noOpShutdown(mode string) func(context.Context) error { function logReporterStart (line 30) | func logReporterStart(mode, details string) { FILE: pkg/vmcp/status/k8s_reporter.go type K8sReporter (line 26) | type K8sReporter struct method ReportStatus (line 81) | func (r *K8sReporter) ReportStatus(ctx context.Context, status *vmcpty... method Start (line 122) | func (*K8sReporter) Start(_ context.Context) (func(context.Context) er... method updateStatus (line 131) | func (*K8sReporter) updateStatus(vmcpServer *mcpv1beta1.VirtualMCPServ... function NewK8sReporter (line 40) | func NewK8sReporter(restConfig *rest.Config, name, namespace string) (*K... function convertPhase (line 193) | func convertPhase(phase vmcptypes.Phase) mcpv1beta1.VirtualMCPServerPhase { FILE: pkg/vmcp/status/k8s_reporter_test.go function TestNewK8sReporter_Validation (line 27) | func TestNewK8sReporter_Validation(t *testing.T) { function TestK8sReporter_ReportStatus_NilStatus (line 73) | func TestK8sReporter_ReportStatus_NilStatus(t *testing.T) { function TestK8sReporter_ReportStatus_Success (line 85) | func TestK8sReporter_ReportStatus_Success(t *testing.T) { function TestK8sReporter_ReportStatus_BackendConversion (line 194) | func TestK8sReporter_ReportStatus_BackendConversion(t *testing.T) { function TestK8sReporter_ReportStatus_ServerNotFound (line 258) | func TestK8sReporter_ReportStatus_ServerNotFound(t *testing.T) { function TestK8sReporter_ReportStatus_ConcurrentUpdates (line 276) | func TestK8sReporter_ReportStatus_ConcurrentUpdates(t *testing.T) { function TestK8sReporter_ReportStatus_ConditionUpdates (line 323) | func TestK8sReporter_ReportStatus_ConditionUpdates(t *testing.T) { function TestK8sReporter_ReportStatus_RemovesStaleConditions (line 427) | func TestK8sReporter_ReportStatus_RemovesStaleConditions(t *testing.T) { function TestK8sReporter_Start (line 523) | func TestK8sReporter_Start(t *testing.T) { function TestK8sReporter_FullLifecycle (line 542) | func TestK8sReporter_FullLifecycle(t *testing.T) { function TestConvertPhase (line 571) | func TestConvertPhase(t *testing.T) { function TestK8sReporter_ImplementsInterface (line 617) | func TestK8sReporter_ImplementsInterface(t *testing.T) { function createTestReporter (line 626) | func createTestReporter(t *testing.T, name, namespace string) (*K8sRepor... function createTestVirtualMCPServer (line 653) | func createTestVirtualMCPServer(t *testing.T, fakeClient client.Client, ... FILE: pkg/vmcp/status/logging_reporter.go type LoggingReporter (line 17) | type LoggingReporter struct method ReportStatus (line 25) | func (*LoggingReporter) ReportStatus(_ context.Context, status *vmcpty... method Start (line 40) | func (*LoggingReporter) Start(_ context.Context) (func(context.Context... function NewLoggingReporter (line 20) | func NewLoggingReporter() *LoggingReporter { FILE: pkg/vmcp/status/logging_reporter_test.go function TestLoggingReporter_ReportStatus (line 16) | func TestLoggingReporter_ReportStatus(t *testing.T) { function TestLoggingReporter_StartStop (line 38) | func TestLoggingReporter_StartStop(t *testing.T) { function TestLoggingReporter_NilStatus (line 51) | func TestLoggingReporter_NilStatus(t *testing.T) { FILE: pkg/vmcp/status/reporter.go type Reporter (line 31) | type Reporter interface FILE: pkg/vmcp/types.go type BackendTarget (line 20) | type BackendTarget struct method GetBackendCapabilityName (line 104) | func (t *BackendTarget) GetBackendCapabilityName(resolvedName string) ... type BackendType (line 112) | type BackendType constant BackendTypeContainer (line 117) | BackendTypeContainer BackendType = "container" constant BackendTypeProxy (line 121) | BackendTypeProxy BackendType = "proxy" constant BackendTypeEntry (line 124) | BackendTypeEntry BackendType = "entry" type BackendHealthStatus (line 128) | type BackendHealthStatus method ToCRDStatus (line 166) | func (s BackendHealthStatus) ToCRDStatus() string { constant BackendHealthy (line 132) | BackendHealthy BackendHealthStatus = "healthy" constant BackendDegraded (line 138) | BackendDegraded BackendHealthStatus = "degraded" constant BackendUnhealthy (line 141) | BackendUnhealthy BackendHealthStatus = "unhealthy" constant BackendUnknown (line 144) | BackendUnknown BackendHealthStatus = "unknown" constant BackendUnauthenticated (line 156) | BackendUnauthenticated BackendHealthStatus = "unauthenticated" type Phase (line 187) | type Phase constant PhasePending (line 191) | PhasePending Phase = "Pending" constant PhaseReady (line 192) | PhaseReady Phase = "Ready" constant PhaseDegraded (line 193) | PhaseDegraded Phase = "Degraded" constant PhaseFailed (line 194) | PhaseFailed Phase = "Failed" constant ConditionTypeBackendsDiscovered (line 199) | ConditionTypeBackendsDiscovered = "BackendsDiscovered" constant ConditionTypeReady (line 200) | ConditionTypeReady = "Ready" constant ConditionTypeAuthConfigured (line 201) | ConditionTypeAuthConfigured = "AuthConfigured" constant ReasonBackendDiscoverySucceeded (line 206) | ReasonBackendDiscoverySucceeded = "BackendDiscoverySucceeded" constant ReasonBackendDiscoveryFailed (line 207) | ReasonBackendDiscoveryFailed = "BackendDiscoveryFailed" constant ReasonServerReady (line 208) | ReasonServerReady = "ServerReady" constant ReasonServerStarting (line 209) | ReasonServerStarting = "ServerStarting" constant ReasonServerDegraded (line 210) | ReasonServerDegraded = "ServerDegraded" constant ReasonServerFailed (line 211) | ReasonServerFailed = "ServerFailed" type DiscoveredBackend (line 216) | type DiscoveredBackend struct method DeepCopyInto (line 263) | func (in *DiscoveredBackend) DeepCopyInto(out *DiscoveredBackend) { method DeepCopy (line 269) | func (in *DiscoveredBackend) DeepCopy() *DiscoveredBackend { type Status (line 279) | type Status struct type Backend (line 290) | type Backend struct type Tool (line 336) | type Tool struct type ToolAnnotations (line 361) | type ToolAnnotations struct type Resource (line 375) | type Resource struct type Prompt (line 393) | type Prompt struct type PromptArgument (line 408) | type PromptArgument struct type ContentType (line 420) | type ContentType constant ContentTypeText (line 424) | ContentTypeText ContentType = "text" constant ContentTypeImage (line 426) | ContentTypeImage ContentType = "image" constant ContentTypeAudio (line 428) | ContentTypeAudio ContentType = "audio" constant ContentTypeResource (line 430) | ContentTypeResource ContentType = "resource" constant ContentTypeLink (line 432) | ContentTypeLink ContentType = "resource_link" type ContentAnnotations (line 438) | type ContentAnnotations struct type Content (line 452) | type Content struct type ToolCallResult (line 481) | type ToolCallResult struct type ResourceContent (line 507) | type ResourceContent struct type ResourceReadResult (line 521) | type ResourceReadResult struct type PromptMessage (line 535) | type PromptMessage struct type PromptGetResult (line 545) | type PromptGetResult struct type RoutingTable (line 566) | type RoutingTable struct type ConflictResolutionStrategy (line 580) | type ConflictResolutionStrategy constant ConflictStrategyPrefix (line 584) | ConflictStrategyPrefix ConflictResolutionStrategy = "prefix" constant ConflictStrategyPriority (line 587) | ConflictStrategyPriority ConflictResolutionStrategy = "priority" constant ConflictStrategyManual (line 590) | ConflictStrategyManual ConflictResolutionStrategy = "manual" type HealthChecker (line 594) | type HealthChecker interface type BackendClient (line 611) | type BackendClient interface type CapabilityList (line 634) | type CapabilityList struct FILE: pkg/vmcp/types_test.go constant testStatusUnavailable (line 14) | testStatusUnavailable = "unavailable" constant testStatusUnauthenticated (line 15) | testStatusUnauthenticated = "unauthenticated" function TestBackendHealthStatus_ToCRDStatus (line 17) | func TestBackendHealthStatus_ToCRDStatus(t *testing.T) { function TestBackendHealthStatus_ToCRDStatus_AllHealthStatusesCovered (line 73) | func TestBackendHealthStatus_ToCRDStatus_AllHealthStatusesCovered(t *tes... function TestDiscoveredBackend_DeepCopyInto (line 101) | func TestDiscoveredBackend_DeepCopyInto(t *testing.T) { function TestDiscoveredBackend_DeepCopy (line 189) | func TestDiscoveredBackend_DeepCopy(t *testing.T) { FILE: pkg/vmcp/workloads/discoverer.go type WorkloadType (line 15) | type WorkloadType constant WorkloadTypeMCPServer (line 19) | WorkloadTypeMCPServer WorkloadType = "MCPServer" constant WorkloadTypeMCPRemoteProxy (line 21) | WorkloadTypeMCPRemoteProxy WorkloadType = "MCPRemoteProxy" constant WorkloadTypeMCPServerEntry (line 23) | WorkloadTypeMCPServerEntry WorkloadType = "MCPServerEntry" type TypedWorkload (line 27) | type TypedWorkload struct type Discoverer (line 39) | type Discoverer interface FILE: pkg/vmcp/workloads/k8s.go constant metadataToolTypeMCP (line 29) | metadataToolTypeMCP = "mcp" constant transportTypeUnknown (line 30) | transportTypeUnknown = "unknown" constant metadataKeyToolType (line 31) | metadataKeyToolType = "tool_type" constant metadataKeyWorkloadType (line 32) | metadataKeyWorkloadType = "workload_type" constant metadataKeyWorkloadStatus (line 33) | metadataKeyWorkloadStatus = "workload_status" constant metadataKeyNamespace (line 34) | metadataKeyNamespace = "namespace" constant metadataKeyRemoteURL (line 35) | metadataKeyRemoteURL = "remote_url" type k8sDiscoverer (line 40) | type k8sDiscoverer struct method ListWorkloadsInGroup (line 86) | func (d *k8sDiscoverer) ListWorkloadsInGroup(ctx context.Context, grou... method GetWorkloadAsVMCPBackend (line 146) | func (d *k8sDiscoverer) GetWorkloadAsVMCPBackend(ctx context.Context, ... method getMCPServerAsBackend (line 161) | func (d *k8sDiscoverer) getMCPServerAsBackend(ctx context.Context, wor... method getMCPRemoteProxyAsBackend (line 190) | func (d *k8sDiscoverer) getMCPRemoteProxyAsBackend(ctx context.Context... method mcpServerToBackend (line 221) | func (d *k8sDiscoverer) mcpServerToBackend(ctx context.Context, mcpSer... method discoverAuthConfig (line 307) | func (d *k8sDiscoverer) discoverAuthConfig(ctx context.Context, mcpSer... method discoverAuthConfigFromRef (line 325) | func (d *k8sDiscoverer) discoverAuthConfigFromRef( method mcpRemoteProxyToBackend (line 400) | func (d *k8sDiscoverer) mcpRemoteProxyToBackend(ctx context.Context, p... method getMCPServerEntryAsBackend (line 467) | func (d *k8sDiscoverer) getMCPServerEntryAsBackend(ctx context.Context... method mcpServerEntryToBackend (line 503) | func (d *k8sDiscoverer) mcpServerEntryToBackend(ctx context.Context, e... method discoverServerEntryAuthConfig (line 604) | func (d *k8sDiscoverer) discoverServerEntryAuthConfig( method fetchCABundleData (line 621) | func (d *k8sDiscoverer) fetchCABundleData(ctx context.Context, ref *mc... method discoverRemoteProxyAuthConfig (line 648) | func (d *k8sDiscoverer) discoverRemoteProxyAuthConfig( function NewK8SDiscoverer (line 48) | func NewK8SDiscoverer(namespace ...string) (Discoverer, error) { function NewK8SDiscovererWithClient (line 77) | func NewK8SDiscovererWithClient(k8sClient client.Client, namespace strin... function mapK8SWorkloadPhaseToHealth (line 365) | func mapK8SWorkloadPhaseToHealth(phase mcpv1beta1.MCPServerPhase) vmcp.B... function mapMCPRemoteProxyPhaseToHealth (line 383) | func mapMCPRemoteProxyPhaseToHealth(phase mcpv1beta1.MCPRemoteProxyPhase... function mapMCPServerEntryPhaseToHealth (line 589) | func mapMCPServerEntryPhaseToHealth(phase mcpv1beta1.MCPServerEntryPhase... function isStandardK8sAnnotation (line 664) | func isStandardK8sAnnotation(key string) bool { FILE: pkg/vmcp/workloads/k8s_test.go constant testNamespace (line 22) | testNamespace = "test-namespace" function setupTestClient (line 25) | func setupTestClient(t *testing.T, objs ...client.Object) client.Client { function TestDiscoverAuth_TokenExchange (line 38) | func TestDiscoverAuth_TokenExchange(t *testing.T) { function TestDiscoverAuth_HeaderInjection (line 122) | func TestDiscoverAuth_HeaderInjection(t *testing.T) { function TestDiscoverAuth_NoAuthConfig (line 200) | func TestDiscoverAuth_NoAuthConfig(t *testing.T) { function TestDiscoverAuth_AuthConfigNotFound (line 238) | func TestDiscoverAuth_AuthConfigNotFound(t *testing.T) { function TestDiscoverAuth_SecretNotFound (line 278) | func TestDiscoverAuth_SecretNotFound(t *testing.T) { function TestMCPServerToBackend_BasicFields (line 337) | func TestMCPServerToBackend_BasicFields(t *testing.T) { function TestMCPServerToBackend_StdioTransport (line 377) | func TestMCPServerToBackend_StdioTransport(t *testing.T) { function TestMCPServerToBackend_WithAnnotations (line 411) | func TestMCPServerToBackend_WithAnnotations(t *testing.T) { function TestListWorkloadsInGroup (line 450) | func TestListWorkloadsInGroup(t *testing.T) { function TestListWorkloadsInGroup_MCPRemoteProxies (line 514) | func TestListWorkloadsInGroup_MCPRemoteProxies(t *testing.T) { function TestListWorkloadsInGroup_MixedWorkloads (line 572) | func TestListWorkloadsInGroup_MixedWorkloads(t *testing.T) { function TestMCPServerToBackend_EmptyStatusURL (line 655) | func TestMCPServerToBackend_EmptyStatusURL(t *testing.T) { function TestMCPRemoteProxyToBackend_EmptyStatusURL (line 694) | func TestMCPRemoteProxyToBackend_EmptyStatusURL(t *testing.T) { function TestMCPRemoteProxyToBackend_BasicFields (line 729) | func TestMCPRemoteProxyToBackend_BasicFields(t *testing.T) { function TestMCPRemoteProxyToBackend_WithAnnotations (line 768) | func TestMCPRemoteProxyToBackend_WithAnnotations(t *testing.T) { function TestMCPRemoteProxyToBackend_HealthStatusMapping (line 806) | func TestMCPRemoteProxyToBackend_HealthStatusMapping(t *testing.T) { function TestGetWorkloadAsVMCPBackend_MCPRemoteProxy (line 869) | func TestGetWorkloadAsVMCPBackend_MCPRemoteProxy(t *testing.T) { function TestDiscoverAuth_MCPRemoteProxy_TokenExchange (line 905) | func TestDiscoverAuth_MCPRemoteProxy_TokenExchange(t *testing.T) { function TestListWorkloadsInGroup_MCPServerEntries (line 985) | func TestListWorkloadsInGroup_MCPServerEntries(t *testing.T) { function TestListWorkloadsInGroup_AllWorkloadTypes (line 1047) | func TestListWorkloadsInGroup_AllWorkloadTypes(t *testing.T) { function TestGetWorkloadAsVMCPBackend_MCPServerEntry (line 1098) | func TestGetWorkloadAsVMCPBackend_MCPServerEntry(t *testing.T) { function TestGetWorkloadAsVMCPBackend_MCPServerEntry_NotFound (line 1133) | func TestGetWorkloadAsVMCPBackend_MCPServerEntry_NotFound(t *testing.T) { function TestMCPServerEntryToBackend_BasicFields (line 1150) | func TestMCPServerEntryToBackend_BasicFields(t *testing.T) { function TestMCPServerEntryToBackend_SSETransport (line 1190) | func TestMCPServerEntryToBackend_SSETransport(t *testing.T) { function TestMCPServerEntryToBackend_WithAnnotations (line 1219) | func TestMCPServerEntryToBackend_WithAnnotations(t *testing.T) { function TestMCPServerEntryToBackend_EmptyRemoteURL (line 1253) | func TestMCPServerEntryToBackend_EmptyRemoteURL(t *testing.T) { function TestGetWorkloadAsVMCPBackend_MCPServerEntry_NonValidPhaseSkipped (line 1286) | func TestGetWorkloadAsVMCPBackend_MCPServerEntry_NonValidPhaseSkipped(t ... function TestMCPServerEntryPhaseToHealth (line 1332) | func TestMCPServerEntryPhaseToHealth(t *testing.T) { function TestMCPServerEntryToBackend_HealthStatusMapping (line 1370) | func TestMCPServerEntryToBackend_HealthStatusMapping(t *testing.T) { function TestDiscoverAuth_MCPServerEntry_NoAuthConfig (line 1427) | func TestDiscoverAuth_MCPServerEntry_NoAuthConfig(t *testing.T) { function TestDiscoverAuth_MCPServerEntry_AuthConfigNotFound (line 1460) | func TestDiscoverAuth_MCPServerEntry_AuthConfigNotFound(t *testing.T) { function TestDiscoverAuth_MCPServerEntry_TokenExchange (line 1497) | func TestDiscoverAuth_MCPServerEntry_TokenExchange(t *testing.T) { function TestMCPServerEntryToBackend_SetsBackendTypeEntry (line 1569) | func TestMCPServerEntryToBackend_SetsBackendTypeEntry(t *testing.T) { function TestMCPServerEntryToBackend_WithCABundle (line 1598) | func TestMCPServerEntryToBackend_WithCABundle(t *testing.T) { function TestMCPServerEntryToBackend_CABundleMissing_ReturnsNil (line 1647) | func TestMCPServerEntryToBackend_CABundleMissing_ReturnsNil(t *testing.T) { function TestMCPServerEntryToBackend_WithCABundleDefaultKey (line 1685) | func TestMCPServerEntryToBackend_WithCABundleDefaultKey(t *testing.T) { function TestFetchCABundleData (line 1733) | func TestFetchCABundleData(t *testing.T) { FILE: pkg/vmcp/workloads/mocks/mock_discoverer.go type MockDiscoverer (line 22) | type MockDiscoverer struct method EXPECT (line 41) | func (m *MockDiscoverer) EXPECT() *MockDiscovererMockRecorder { method GetWorkloadAsVMCPBackend (line 46) | func (m *MockDiscoverer) GetWorkloadAsVMCPBackend(ctx context.Context,... method ListWorkloadsInGroup (line 61) | func (m *MockDiscoverer) ListWorkloadsInGroup(ctx context.Context, gro... type MockDiscovererMockRecorder (line 29) | type MockDiscovererMockRecorder struct method GetWorkloadAsVMCPBackend (line 55) | func (mr *MockDiscovererMockRecorder) GetWorkloadAsVMCPBackend(ctx, wo... method ListWorkloadsInGroup (line 70) | func (mr *MockDiscovererMockRecorder) ListWorkloadsInGroup(ctx, groupN... function NewMockDiscoverer (line 34) | func NewMockDiscoverer(ctrl *gomock.Controller) *MockDiscoverer { FILE: pkg/webhook/client.go type Client (line 25) | type Client struct method Call (line 64) | func (c *Client) Call(ctx context.Context, req *Request) (*Response, e... method CallMutating (line 84) | func (c *Client) CallMutating(ctx context.Context, req *Request) (*Mut... method doHTTPCall (line 105) | func (c *Client) doHTTPCall(ctx context.Context, body []byte) ([]byte,... function NewClient (line 37) | func NewClient(cfg Config, webhookType Type, hmacSecret []byte) (*Client... function buildTransport (line 160) | func buildTransport(tlsCfg *TLSConfig) (http.RoundTripper, error) { function classifyError (line 216) | func classifyError(webhookName string, err error) error { function truncateBody (line 230) | func truncateBody(body []byte) string { FILE: pkg/webhook/client_test.go function TestNewClient (line 25) | func TestNewClient(t *testing.T) { function TestClientCallValidating (line 80) | func TestClientCallValidating(t *testing.T) { function TestClientCallMutating (line 219) | func TestClientCallMutating(t *testing.T) { function TestClientHMACSigningHeaders (line 267) | func TestClientHMACSigningHeaders(t *testing.T) { function TestClientNoHMACHeadersWithoutSecret (line 315) | func TestClientNoHMACHeadersWithoutSecret(t *testing.T) { function TestClientTimeout (line 361) | func TestClientTimeout(t *testing.T) { function TestClientResponseSizeLimit (line 393) | func TestClientResponseSizeLimit(t *testing.T) { function TestClientRequestContentType (line 427) | func TestClientRequestContentType(t *testing.T) { function TestBuildTransport (line 482) | func TestBuildTransport(t *testing.T) { function TestClassifyError (line 568) | func TestClassifyError(t *testing.T) { function TestTruncateBody (line 580) | func TestTruncateBody(t *testing.T) { function TestClientCallErrors (line 598) | func TestClientCallErrors(t *testing.T) { type errorReader (line 667) | type errorReader struct method Read (line 669) | func (*errorReader) Read(_ []byte) (n int, err error) { method Close (line 672) | func (*errorReader) Close() error { return nil } function TestDoHTTPCallReadError (line 674) | func TestDoHTTPCallReadError(t *testing.T) { type mockRoundTripper (line 708) | type mockRoundTripper struct method RoundTrip (line 713) | func (m *mockRoundTripper) RoundTrip(_ *http.Request) (*http.Response,... function newTestClient (line 719) | func newTestClient(cfg Config, webhookType Type, hmacSecret []byte) *Cli... FILE: pkg/webhook/config.go type FileConfig (line 33) | type FileConfig struct function LoadConfig (line 43) | func LoadConfig(path string) (*FileConfig, error) { function normalizeConfig (line 68) | func normalizeConfig(cfg FileConfig) { function MergeConfigs (line 86) | func MergeConfigs(configs ...*FileConfig) *FileConfig { function ValidateConfig (line 119) | func ValidateConfig(cfg *FileConfig) error { FILE: pkg/webhook/config_test.go function testWebhookConfig (line 19) | func testWebhookConfig(name, url string) webhook.Config { function writeFile (line 32) | func writeFile(t *testing.T, dir, ext, content string) string { function TestLoadConfig_YAML_Valid (line 46) | func TestLoadConfig_YAML_Valid(t *testing.T) { function TestLoadConfig_JSON_Valid (line 77) | func TestLoadConfig_JSON_Valid(t *testing.T) { function TestLoadConfig_FileNotFound (line 96) | func TestLoadConfig_FileNotFound(t *testing.T) { function TestLoadConfig_InvalidYAML (line 103) | func TestLoadConfig_InvalidYAML(t *testing.T) { function TestLoadConfig_InvalidJSON (line 113) | func TestLoadConfig_InvalidJSON(t *testing.T) { function TestLoadConfig_EmptyFile (line 122) | func TestLoadConfig_EmptyFile(t *testing.T) { function TestLoadConfig_YAML_OmittedTimeoutUsesDefault (line 133) | func TestLoadConfig_YAML_OmittedTimeoutUsesDefault(t *testing.T) { function TestLoadConfig_JSON_OmittedTimeoutUsesDefault (line 152) | func TestLoadConfig_JSON_OmittedTimeoutUsesDefault(t *testing.T) { function TestLoadConfig_JSON_NullTimeoutUsesDefault (line 168) | func TestLoadConfig_JSON_NullTimeoutUsesDefault(t *testing.T) { function TestLoadConfig_JSON_NumericTimeoutNanos (line 184) | func TestLoadConfig_JSON_NumericTimeoutNanos(t *testing.T) { function TestLoadConfig_YMLExtension (line 200) | func TestLoadConfig_YMLExtension(t *testing.T) { function TestMergeConfigs_BasicAppend (line 220) | func TestMergeConfigs_BasicAppend(t *testing.T) { function TestMergeConfigs_LaterOverridesPrior_SameName (line 238) | func TestMergeConfigs_LaterOverridesPrior_SameName(t *testing.T) { function TestMergeConfigs_NilInputSkipped (line 252) | func TestMergeConfigs_NilInputSkipped(t *testing.T) { function TestMergeConfigs_NoInputs (line 263) | func TestMergeConfigs_NoInputs(t *testing.T) { function TestMergeConfigs_OrderPreserved (line 270) | func TestMergeConfigs_OrderPreserved(t *testing.T) { function TestValidateConfig_Valid (line 295) | func TestValidateConfig_Valid(t *testing.T) { function TestValidateConfig_Nil (line 304) | func TestValidateConfig_Nil(t *testing.T) { function TestValidateConfig_InvalidValidating (line 309) | func TestValidateConfig_InvalidValidating(t *testing.T) { function TestValidateConfig_InvalidMutating (line 321) | func TestValidateConfig_InvalidMutating(t *testing.T) { function TestValidateConfig_RejectsShortTimeout (line 334) | func TestValidateConfig_RejectsShortTimeout(t *testing.T) { function TestValidateConfig_RejectsMissingTLSFiles (line 346) | func TestValidateConfig_RejectsMissingTLSFiles(t *testing.T) { function TestValidateConfig_CollectsAllErrors (line 368) | func TestValidateConfig_CollectsAllErrors(t *testing.T) { FILE: pkg/webhook/errors.go type WebhookError (line 15) | type WebhookError struct method Error (line 23) | func (e *WebhookError) Error() string { method Unwrap (line 28) | func (e *WebhookError) Unwrap() error { type TimeoutError (line 33) | type TimeoutError struct method Error (line 38) | func (e *TimeoutError) Error() string { type NetworkError (line 43) | type NetworkError struct method Error (line 48) | func (e *NetworkError) Error() string { type InvalidResponseError (line 53) | type InvalidResponseError struct method Error (line 61) | func (e *InvalidResponseError) Error() string { function NewTimeoutError (line 69) | func NewTimeoutError(webhookName string, err error) *TimeoutError { function NewNetworkError (line 79) | func NewNetworkError(webhookName string, err error) *NetworkError { function NewInvalidResponseError (line 90) | func NewInvalidResponseError(webhookName string, err error, statusCode i... function IsAlwaysDenyError (line 102) | func IsAlwaysDenyError(err error) bool { FILE: pkg/webhook/errors_test.go function TestWebhookErrors (line 15) | func TestWebhookErrors(t *testing.T) { function TestWebhookErrorBaseType (line 77) | func TestWebhookErrorBaseType(t *testing.T) { function TestIsAlwaysDenyError (line 87) | func TestIsAlwaysDenyError(t *testing.T) { FILE: pkg/webhook/mutating/config.go type MiddlewareParams (line 15) | type MiddlewareParams struct method Validate (line 23) | func (p *MiddlewareParams) Validate() error { type FactoryMiddlewareParams (line 36) | type FactoryMiddlewareParams struct FILE: pkg/webhook/mutating/middleware.go constant MiddlewareType (line 26) | MiddlewareType = "mutating-webhook" type Middleware (line 29) | type Middleware struct method Handler (line 34) | func (m *Middleware) Handler() types.MiddlewareFunction { method Close (line 39) | func (*Middleware) Close() error { type clientExecutor (line 43) | type clientExecutor struct function CreateMiddleware (line 49) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... function createMutatingHandler (line 76) | func createMutatingHandler(executors []clientExecutor, serverName, trans... function executeMutations (line 129) | func executeMutations( function executeSingleMutation (line 152) | func executeSingleMutation( function applyMutationPatch (line 213) | func applyMutationPatch( function extractMCPRequest (line 288) | func extractMCPRequest(envelope []byte) ([]byte, error) { function readSourceIP (line 301) | func readSourceIP(r *http.Request) string { function sendErrorResponse (line 305) | func sendErrorResponse(w http.ResponseWriter, statusCode int, message st... FILE: pkg/webhook/mutating/middleware_test.go constant closedServerURL (line 25) | closedServerURL = "http://127.0.0.1:0" function makeConfig (line 27) | func makeConfig(url string, policy webhook.FailurePolicy) webhook.Config { function makeExecutors (line 37) | func makeExecutors(t *testing.T, configs []webhook.Config) []clientExecu... function makeMCPRequest (line 48) | func makeMCPRequest(tb testing.TB, body []byte) *http.Request { function TestMutatingMiddleware_AllowedWithPatch (line 62) | func TestMutatingMiddleware_AllowedWithPatch(t *testing.T) { function TestMutatingMiddleware_AllowedNoPatch (line 118) | func TestMutatingMiddleware_AllowedNoPatch(t *testing.T) { function TestMutatingMiddleware_AllowedFalse (line 150) | func TestMutatingMiddleware_AllowedFalse(t *testing.T) { function TestMutatingMiddleware_WebhookError_FailPolicy (line 174) | func TestMutatingMiddleware_WebhookError_FailPolicy(t *testing.T) { function TestMutatingMiddleware_WebhookError_IgnorePolicy (line 189) | func TestMutatingMiddleware_WebhookError_IgnorePolicy(t *testing.T) { function TestMutatingMiddleware_HTTP422AlwaysDenies (line 211) | func TestMutatingMiddleware_HTTP422AlwaysDenies(t *testing.T) { function TestMutatingMiddleware_ScopeViolation_FailPolicy (line 251) | func TestMutatingMiddleware_ScopeViolation_FailPolicy(t *testing.T) { function TestMutatingMiddleware_ScopeViolation_IgnorePolicy (line 282) | func TestMutatingMiddleware_ScopeViolation_IgnorePolicy(t *testing.T) { function TestMutatingMiddleware_ChainedMutations (line 315) | func TestMutatingMiddleware_ChainedMutations(t *testing.T) { function TestMutatingMiddleware_SkipNonMCPRequests (line 392) | func TestMutatingMiddleware_SkipNonMCPRequests(t *testing.T) { function TestMiddlewareParams_Validate (line 408) | func TestMiddlewareParams_Validate(t *testing.T) { type mockRunner (line 446) | type mockRunner struct method AddMiddleware (line 451) | func (m *mockRunner) AddMiddleware(name string, mw types.Middleware) { function TestCreateMiddleware (line 458) | func TestCreateMiddleware(t *testing.T) { function TestCreateMiddleware_InvalidParams (line 493) | func TestCreateMiddleware_InvalidParams(t *testing.T) { function TestCreateMiddleware_ValidationError (line 504) | func TestCreateMiddleware_ValidationError(t *testing.T) { function TestMutatingMiddleware_UnsupportedPatchType (line 520) | func TestMutatingMiddleware_UnsupportedPatchType(t *testing.T) { function TestMutatingMiddleware_UnsupportedPatchType_IgnorePolicy (line 546) | func TestMutatingMiddleware_UnsupportedPatchType_IgnorePolicy(t *testing... function TestMutatingMiddleware_MalformedPatchJSON (line 573) | func TestMutatingMiddleware_MalformedPatchJSON(t *testing.T) { function TestMutatingMiddleware_StringRequestID (line 598) | func TestMutatingMiddleware_StringRequestID(t *testing.T) { function TestMutatingMiddleware_InvalidPatchOp_FailPolicy (line 632) | func TestMutatingMiddleware_InvalidPatchOp_FailPolicy(t *testing.T) { function TestMutatingMiddleware_InvalidPatchOp_IgnorePolicy (line 664) | func TestMutatingMiddleware_InvalidPatchOp_IgnorePolicy(t *testing.T) { function TestExtractMCPRequest (line 693) | func TestExtractMCPRequest(t *testing.T) { function TestMutatingMiddleware_ApplyPatchFailure_FailPolicy (line 733) | func TestMutatingMiddleware_ApplyPatchFailure_FailPolicy(t *testing.T) { function TestMutatingMiddleware_ApplyPatchFailure_IgnorePolicy (line 761) | func TestMutatingMiddleware_ApplyPatchFailure_IgnorePolicy(t *testing.T) { function TestMutatingMiddleware_ExtractFailure_FailPolicy (line 789) | func TestMutatingMiddleware_ExtractFailure_FailPolicy(t *testing.T) { function TestMutatingMiddleware_ExtractFailure_IgnorePolicy (line 817) | func TestMutatingMiddleware_ExtractFailure_IgnorePolicy(t *testing.T) { function TestValidatePatchErrors (line 849) | func TestValidatePatchErrors(t *testing.T) { FILE: pkg/webhook/mutating/patch.go constant patchTypeJSONPatch (line 15) | patchTypeJSONPatch = "json_patch" constant mcpRequestPathPrefix (line 19) | mcpRequestPathPrefix = "/mcp_request/" type JSONPatchOp (line 32) | type JSONPatchOp struct function ValidatePatch (line 45) | func ValidatePatch(patch []JSONPatchOp) error { function IsPatchScopedToMCPRequest (line 66) | func IsPatchScopedToMCPRequest(patch []JSONPatchOp) bool { function ApplyPatch (line 83) | func ApplyPatch(original []byte, patch []JSONPatchOp) ([]byte, error) { FILE: pkg/webhook/mutating/patch_test.go function TestValidatePatch (line 14) | func TestValidatePatch(t *testing.T) { function TestIsPatchScopedToMCPRequest (line 91) | func TestIsPatchScopedToMCPRequest(t *testing.T) { function TestApplyPatch (line 160) | func TestApplyPatch(t *testing.T) { FILE: pkg/webhook/signing.go constant SignatureHeader (line 17) | SignatureHeader = "X-ToolHive-Signature" constant TimestampHeader (line 19) | TimestampHeader = "X-ToolHive-Timestamp" constant signaturePrefix (line 23) | signaturePrefix = "sha256=" function SignPayload (line 28) | func SignPayload(secret []byte, timestamp int64, payload []byte) string { function VerifySignature (line 44) | func VerifySignature(secret []byte, timestamp int64, payload []byte, sig... FILE: pkg/webhook/signing_test.go function TestSignPayload (line 12) | func TestSignPayload(t *testing.T) { function TestVerifySignature (line 56) | func TestVerifySignature(t *testing.T) { function TestSignPayloadDeterministic (line 148) | func TestSignPayloadDeterministic(t *testing.T) { FILE: pkg/webhook/types.go constant APIVersion (line 19) | APIVersion = "v0.1.0" constant DefaultTimeout (line 22) | DefaultTimeout = 10 * time.Second constant MaxTimeout (line 25) | MaxTimeout = 30 * time.Second constant MinTimeout (line 28) | MinTimeout = 1 * time.Second constant MaxResponseSize (line 31) | MaxResponseSize = 1 << 20 type Type (line 34) | type Type constant TypeValidating (line 38) | TypeValidating Type = "validating" constant TypeMutating (line 40) | TypeMutating Type = "mutating" type FailurePolicy (line 44) | type FailurePolicy constant FailurePolicyFail (line 48) | FailurePolicyFail FailurePolicy = "fail" constant FailurePolicyIgnore (line 50) | FailurePolicyIgnore FailurePolicy = "ignore" type TLSConfig (line 54) | type TLSConfig struct type Config (line 67) | type Config struct method Validate (line 83) | func (c *Config) Validate() error { method UnmarshalJSON (line 119) | func (c *Config) UnmarshalJSON(data []byte) error { type Request (line 167) | type Request struct type RequestContext (line 184) | type RequestContext struct type Response (line 198) | type Response struct type MutatingResponse (line 216) | type MutatingResponse struct function validateTLSConfig (line 225) | func validateTLSConfig(cfg *TLSConfig) error { FILE: pkg/webhook/types_test.go function TestConfigValidate (line 16) | func TestConfigValidate(t *testing.T) { function TestTypeConstants (line 163) | func TestTypeConstants(t *testing.T) { function TestFailurePolicyConstants (line 170) | func TestFailurePolicyConstants(t *testing.T) { FILE: pkg/webhook/validating/config.go type MiddlewareParams (line 15) | type MiddlewareParams struct method Validate (line 23) | func (p *MiddlewareParams) Validate() error { FILE: pkg/webhook/validating/middleware.go constant MiddlewareType (line 25) | MiddlewareType = "validating-webhook" type FactoryMiddlewareParams (line 28) | type FactoryMiddlewareParams struct type Middleware (line 37) | type Middleware struct method Handler (line 42) | func (m *Middleware) Handler() types.MiddlewareFunction { method Close (line 47) | func (*Middleware) Close() error { type clientExecutor (line 51) | type clientExecutor struct function CreateMiddleware (line 57) | func CreateMiddleware(config *types.MiddlewareConfig, runner types.Middl... function createValidatingHandler (line 84) | func createValidatingHandler(executors []clientExecutor, serverName, tra... function readSourceIP (line 163) | func readSourceIP(r *http.Request) string { function sendErrorResponse (line 169) | func sendErrorResponse(w http.ResponseWriter, statusCode int, message st... FILE: pkg/webhook/validating/middleware_test.go constant closedServerURL (line 24) | closedServerURL = "http://127.0.0.1:0" function TestValidatingMiddleware (line 27) | func TestValidatingMiddleware(t *testing.T) { function TestMiddlewareParams_Validate (line 273) | func TestMiddlewareParams_Validate(t *testing.T) { type mockRunner (line 309) | type mockRunner struct method AddMiddleware (line 314) | func (m *mockRunner) AddMiddleware(name string, mw types.Middleware) { function TestCreateMiddleware (line 321) | func TestCreateMiddleware(t *testing.T) { function TestValidatingMiddleware_HTTP422AlwaysDenies (line 360) | func TestValidatingMiddleware_HTTP422AlwaysDenies(t *testing.T) { function TestMultiWebhookChain (line 420) | func TestMultiWebhookChain(t *testing.T) { FILE: pkg/workloads/discoverer_adapter.go type DiscovererAdapter (line 18) | type DiscovererAdapter struct method ListWorkloadsInGroup (line 29) | func (a *DiscovererAdapter) ListWorkloadsInGroup(ctx context.Context, ... method GetWorkloadAsVMCPBackend (line 46) | func (a *DiscovererAdapter) GetWorkloadAsVMCPBackend( function NewDiscovererAdapter (line 23) | func NewDiscovererAdapter(manager *DefaultManager) vmcpworkloads.Discove... FILE: pkg/workloads/discoverer_adapter_test.go function TestNewDiscovererAdapter (line 20) | func TestNewDiscovererAdapter(t *testing.T) { function TestDiscovererAdapter_ListWorkloadsInGroup (line 29) | func TestDiscovererAdapter_ListWorkloadsInGroup(t *testing.T) { function TestDiscovererAdapter_ListWorkloadsInGroup_TypeConsistency (line 179) | func TestDiscovererAdapter_ListWorkloadsInGroup_TypeConsistency(t *testi... function TestDiscovererAdapter_GetWorkloadAsVMCPBackend (line 219) | func TestDiscovererAdapter_GetWorkloadAsVMCPBackend(t *testing.T) { FILE: pkg/workloads/filter.go function FilterByGroups (line 11) | func FilterByGroups(workloadList []core.Workload, groupNames []string) (... function FilterByGroup (line 35) | func FilterByGroup(workloadList []core.Workload, groupName string) ([]co... FILE: pkg/workloads/filter_test.go function TestFilterByGroups (line 15) | func TestFilterByGroups(t *testing.T) { function TestFilterByGroup (line 101) | func TestFilterByGroup(t *testing.T) { FILE: pkg/workloads/manager.go type CompletionFunc (line 42) | type CompletionFunc type Manager (line 49) | type Manager interface type DefaultManager (line 96) | type DefaultManager struct method GetWorkload (line 178) | func (d *DefaultManager) GetWorkload(ctx context.Context, workloadName... method GetWorkloadAsVMCPBackend (line 189) | func (d *DefaultManager) GetWorkloadAsVMCPBackend(ctx context.Context,... method DoesWorkloadExist (line 254) | func (d *DefaultManager) DoesWorkloadExist(ctx context.Context, worklo... method ListWorkloads (line 272) | func (d *DefaultManager) ListWorkloads(ctx context.Context, listAll bo... method StopWorkloads (line 294) | func (d *DefaultManager) StopWorkloads(ctx context.Context, names []st... method stopSingleWorkload (line 314) | func (d *DefaultManager) stopSingleWorkload(ctx context.Context, name ... method stopRemoteWorkload (line 337) | func (d *DefaultManager) stopRemoteWorkload(ctx context.Context, name ... method stopContainerWorkload (line 383) | func (d *DefaultManager) stopContainerWorkload(ctx context.Context, na... method RunWorkload (line 411) | func (d *DefaultManager) RunWorkload(ctx context.Context, runConfig *r... method validateSecretParameters (line 499) | func (d *DefaultManager) validateSecretParameters(ctx context.Context,... method RunWorkloadDetached (line 527) | func (d *DefaultManager) RunWorkloadDetached(ctx context.Context, runC... method GetLogs (line 631) | func (d *DefaultManager) GetLogs(ctx context.Context, workloadName str... method GetProxyLogs (line 648) | func (*DefaultManager) GetProxyLogs(_ context.Context, workloadName st... method deleteWorkload (line 696) | func (d *DefaultManager) deleteWorkload(ctx context.Context, name stri... method deleteRemoteWorkload (line 719) | func (d *DefaultManager) deleteRemoteWorkload(ctx context.Context, nam... method deleteContainerWorkload (line 746) | func (d *DefaultManager) deleteContainerWorkload(ctx context.Context, ... method getWorkloadContainer (line 800) | func (d *DefaultManager) getWorkloadContainer(ctx context.Context, nam... method isSupervisorProcessAlive (line 822) | func (d *DefaultManager) isSupervisorProcessAlive(ctx context.Context,... method stopProcess (line 839) | func (d *DefaultManager) stopProcess(ctx context.Context, name string) { method stopProxyIfNeeded (line 867) | func (d *DefaultManager) stopProxyIfNeeded(ctx context.Context, name, ... method freePortHolderIfNeeded (line 877) | func (*DefaultManager) freePortHolderIfNeeded(ctx context.Context, run... method removeContainer (line 920) | func (d *DefaultManager) removeContainer(ctx context.Context, name str... method cleanupWorkloadResources (line 958) | func (d *DefaultManager) cleanupWorkloadResources(ctx context.Context,... method DeleteWorkloads (line 990) | func (d *DefaultManager) DeleteWorkloads(ctx context.Context, names []... method RestartWorkloads (line 1010) | func (d *DefaultManager) RestartWorkloads(ctx context.Context, names [... method UpdateWorkload (line 1030) | func (d *DefaultManager) UpdateWorkload(ctx context.Context, workloadN... method updateSingleWorkload (line 1044) | func (d *DefaultManager) updateSingleWorkload(ctx context.Context, wor... method restartSingleWorkload (line 1081) | func (d *DefaultManager) restartSingleWorkload(ctx context.Context, na... method restartRemoteWorkload (line 1111) | func (d *DefaultManager) restartRemoteWorkload( method maybeSetupRemoteWorkload (line 1133) | func (d *DefaultManager) maybeSetupRemoteWorkload( method restartContainerWorkload (line 1194) | func (d *DefaultManager) restartContainerWorkload(ctx context.Context,... method maybeSetupContainerWorkload (line 1211) | func (d *DefaultManager) maybeSetupContainerWorkload(ctx context.Conte... method startWorkload (line 1329) | func (d *DefaultManager) startWorkload(ctx context.Context, name strin... method loadRunnerFromState (line 1374) | func (d *DefaultManager) loadRunnerFromState(ctx context.Context, base... method needSecretsPassword (line 1393) | func (d *DefaultManager) needSecretsPassword(secretOptions []string) b... method cleanupTempPermissionProfile (line 1405) | func (*DefaultManager) cleanupTempPermissionProfile(ctx context.Contex... method stopSingleContainerWorkload (line 1425) | func (d *DefaultManager) stopSingleContainerWorkload(ctx context.Conte... method MoveToGroup (line 1460) | func (*DefaultManager) MoveToGroup(ctx context.Context, workloadNames ... method ListWorkloadsInGroup (line 1493) | func (d *DefaultManager) ListWorkloadsInGroup(ctx context.Context, gro... method ListWorkloadsUsingSecret (line 1512) | func (*DefaultManager) ListWorkloadsUsingSecret(ctx context.Context, s... method getRemoteWorkloadsFromState (line 1559) | func (d *DefaultManager) getRemoteWorkloadsFromState( constant AsyncOperationTimeout (line 107) | AsyncOperationTimeout = 5 * time.Minute function NewManager (line 111) | func NewManager(ctx context.Context) (*DefaultManager, error) { function NewManagerWithProvider (line 130) | func NewManagerWithProvider(ctx context.Context, configProvider config.P... function NewManagerFromRuntime (line 149) | func NewManagerFromRuntime(runtime rt.Runtime) (Manager, error) { function NewManagerFromRuntimeWithProvider (line 164) | func NewManagerFromRuntimeWithProvider(runtime rt.Runtime, configProvide... function mapWorkloadStatusToVMCPHealth (line 234) | func mapWorkloadStatusToVMCPHealth(status rt.WorkloadStatus) vmcp.Backen... function readLastNLines (line 684) | func readLastNLines(filePath string, lines int) (string, error) { function removeClientConfigurations (line 1350) | func removeClientConfigurations(containerName string, isAuxiliary bool) ... FILE: pkg/workloads/manager_test.go function TestDefaultManager_ListWorkloadsInGroup (line 26) | func TestDefaultManager_ListWorkloadsInGroup(t *testing.T) { function TestNewManagerFromRuntime (line 185) | func TestNewManagerFromRuntime(t *testing.T) { function TestNewManagerFromRuntimeWithProvider (line 208) | func TestNewManagerFromRuntimeWithProvider(t *testing.T) { function TestDefaultManager_DoesWorkloadExist (line 229) | func TestDefaultManager_DoesWorkloadExist(t *testing.T) { function TestDefaultManager_GetWorkload (line 311) | func TestDefaultManager_GetWorkload(t *testing.T) { function TestDefaultManager_GetLogs (line 336) | func TestDefaultManager_GetLogs(t *testing.T) { function TestDefaultManager_GetLogs_WithLineLimit (line 411) | func TestDefaultManager_GetLogs_WithLineLimit(t *testing.T) { function TestDefaultManager_GetLogs_FollowWithLimitError (line 464) | func TestDefaultManager_GetLogs_FollowWithLimitError(t *testing.T) { function TestDefaultManager_StopWorkloads (line 487) | func TestDefaultManager_StopWorkloads(t *testing.T) { function TestDefaultManager_DeleteWorkloads (line 538) | func TestDefaultManager_DeleteWorkloads(t *testing.T) { function TestDefaultManager_RestartWorkloads (line 589) | func TestDefaultManager_RestartWorkloads(t *testing.T) { function TestDefaultManager_restartRemoteWorkload (line 637) | func TestDefaultManager_restartRemoteWorkload(t *testing.T) { function TestDefaultManager_restartContainerWorkload (line 754) | func TestDefaultManager_restartContainerWorkload(t *testing.T) { function TestDefaultManager_restartLogicConsistency (line 871) | func TestDefaultManager_restartLogicConsistency(t *testing.T) { function TestDefaultManager_RunWorkload (line 1097) | func TestDefaultManager_RunWorkload(t *testing.T) { function TestDefaultManager_validateSecretParameters (line 1161) | func TestDefaultManager_validateSecretParameters(t *testing.T) { function TestDefaultManager_getWorkloadContainer (line 1220) | func TestDefaultManager_getWorkloadContainer(t *testing.T) { function TestDefaultManager_removeContainer (line 1303) | func TestDefaultManager_removeContainer(t *testing.T) { function TestDefaultManager_needSecretsPassword (line 1364) | func TestDefaultManager_needSecretsPassword(t *testing.T) { function TestDefaultManager_RunWorkloadDetached (line 1410) | func TestDefaultManager_RunWorkloadDetached(t *testing.T) { function TestDefaultManager_RunWorkloadDetached_PIDManagement (line 1471) | func TestDefaultManager_RunWorkloadDetached_PIDManagement(t *testing.T) { function TestAsyncOperationTimeout (line 1491) | func TestAsyncOperationTimeout(t *testing.T) { function TestErrWorkloadNotRunning (line 1498) | func TestErrWorkloadNotRunning(t *testing.T) { function TestDefaultManager_ListWorkloads (line 1506) | func TestDefaultManager_ListWorkloads(t *testing.T) { function TestDefaultManager_UpdateWorkload (line 1594) | func TestDefaultManager_UpdateWorkload(t *testing.T) { function TestDefaultManager_updateSingleWorkload (line 1695) | func TestDefaultManager_updateSingleWorkload(t *testing.T) { function TestDefaultManager_RunWorkload_ContainerExitHandling (line 1840) | func TestDefaultManager_RunWorkload_ContainerExitHandling(t *testing.T) { function TestDefaultManager_ListWorkloadsUsingSecret (line 1880) | func TestDefaultManager_ListWorkloadsUsingSecret(t *testing.T) { FILE: pkg/workloads/mocks/mock_manager.go type MockManager (line 23) | type MockManager struct method EXPECT (line 42) | func (m *MockManager) EXPECT() *MockManagerMockRecorder { method DeleteWorkloads (line 47) | func (m *MockManager) DeleteWorkloads(ctx context.Context, names []str... method DoesWorkloadExist (line 62) | func (m *MockManager) DoesWorkloadExist(ctx context.Context, workloadN... method GetLogs (line 77) | func (m *MockManager) GetLogs(ctx context.Context, containerName strin... method GetProxyLogs (line 92) | func (m *MockManager) GetProxyLogs(ctx context.Context, workloadName s... method GetWorkload (line 107) | func (m *MockManager) GetWorkload(ctx context.Context, workloadName st... method ListWorkloads (line 122) | func (m *MockManager) ListWorkloads(ctx context.Context, listAll bool,... method ListWorkloadsInGroup (line 142) | func (m *MockManager) ListWorkloadsInGroup(ctx context.Context, groupN... method ListWorkloadsUsingSecret (line 157) | func (m *MockManager) ListWorkloadsUsingSecret(ctx context.Context, se... method MoveToGroup (line 172) | func (m *MockManager) MoveToGroup(ctx context.Context, workloadNames [... method RestartWorkloads (line 186) | func (m *MockManager) RestartWorkloads(ctx context.Context, names []st... method RunWorkload (line 201) | func (m *MockManager) RunWorkload(ctx context.Context, runConfig *runn... method RunWorkloadDetached (line 215) | func (m *MockManager) RunWorkloadDetached(ctx context.Context, runConf... method StopWorkloads (line 229) | func (m *MockManager) StopWorkloads(ctx context.Context, names []strin... method UpdateWorkload (line 244) | func (m *MockManager) UpdateWorkload(ctx context.Context, workloadName... type MockManagerMockRecorder (line 30) | type MockManagerMockRecorder struct method DeleteWorkloads (line 56) | func (mr *MockManagerMockRecorder) DeleteWorkloads(ctx, names any) *go... method DoesWorkloadExist (line 71) | func (mr *MockManagerMockRecorder) DoesWorkloadExist(ctx, workloadName... method GetLogs (line 86) | func (mr *MockManagerMockRecorder) GetLogs(ctx, containerName, follow,... method GetProxyLogs (line 101) | func (mr *MockManagerMockRecorder) GetProxyLogs(ctx, workloadName, lin... method GetWorkload (line 116) | func (mr *MockManagerMockRecorder) GetWorkload(ctx, workloadName any) ... method ListWorkloads (line 135) | func (mr *MockManagerMockRecorder) ListWorkloads(ctx, listAll any, lab... method ListWorkloadsInGroup (line 151) | func (mr *MockManagerMockRecorder) ListWorkloadsInGroup(ctx, groupName... method ListWorkloadsUsingSecret (line 166) | func (mr *MockManagerMockRecorder) ListWorkloadsUsingSecret(ctx, secre... method MoveToGroup (line 180) | func (mr *MockManagerMockRecorder) MoveToGroup(ctx, workloadNames, gro... method RestartWorkloads (line 195) | func (mr *MockManagerMockRecorder) RestartWorkloads(ctx, names, foregr... method RunWorkload (line 209) | func (mr *MockManagerMockRecorder) RunWorkload(ctx, runConfig any) *go... method RunWorkloadDetached (line 223) | func (mr *MockManagerMockRecorder) RunWorkloadDetached(ctx, runConfig ... method StopWorkloads (line 238) | func (mr *MockManagerMockRecorder) StopWorkloads(ctx, names any) *gomo... method UpdateWorkload (line 253) | func (mr *MockManagerMockRecorder) UpdateWorkload(ctx, workloadName, n... function NewMockManager (line 35) | func NewMockManager(ctrl *gomock.Controller) *MockManager { FILE: pkg/workloads/statuses/file_status.go constant statusesPrefix (line 32) | statusesPrefix = "toolhive/statuses" constant lockTimeout (line 34) | lockTimeout = 1 * time.Second constant lockRetryInterval (line 36) | lockRetryInterval = 100 * time.Millisecond function NewFileStatusManager (line 41) | func NewFileStatusManager(runtime rt.Runtime) (StatusManager, error) { type fileStatusManager (line 69) | type fileStatusManager struct method isRemoteWorkload (line 82) | func (f *fileStatusManager) isRemoteWorkload(ctx context.Context, work... method populateRemoteWorkloadData (line 130) | func (f *fileStatusManager) populateRemoteWorkloadData(ctx context.Con... method GetWorkload (line 195) | func (f *fileStatusManager) GetWorkload(ctx context.Context, workloadN... method ListWorkloads (line 275) | func (f *fileStatusManager) ListWorkloads(ctx context.Context, listAll... method setWorkloadStatusInternal (line 329) | func (f *fileStatusManager) setWorkloadStatusInternal( method SetWorkloadStatus (line 395) | func (f *fileStatusManager) SetWorkloadStatus( method DeleteWorkloadStatus (line 405) | func (f *fileStatusManager) DeleteWorkloadStatus(ctx context.Context, ... method SetWorkloadPID (line 420) | func (f *fileStatusManager) SetWorkloadPID(ctx context.Context, worklo... method ResetWorkloadPID (line 456) | func (f *fileStatusManager) ResetWorkloadPID(ctx context.Context, work... method ResetWorkloadPIDIfMatch (line 470) | func (f *fileStatusManager) ResetWorkloadPIDIfMatch(ctx context.Contex... method GetWorkloadPID (line 507) | func (f *fileStatusManager) GetWorkloadPID(ctx context.Context, worklo... method migratePIDFromFile (line 539) | func (*fileStatusManager) migratePIDFromFile(workloadName string, cont... method getStatusFilePath (line 573) | func (f *fileStatusManager) getStatusFilePath(workloadName string) str... method getLockFilePath (line 578) | func (f *fileStatusManager) getLockFilePath(workloadName string) string { method ensureBaseDir (line 583) | func (f *fileStatusManager) ensureBaseDir() error { method withFileLock (line 589) | func (f *fileStatusManager) withFileLock(ctx context.Context, workload... method withFileReadLock (line 625) | func (f *fileStatusManager) withFileReadLock(ctx context.Context, work... method readStatusFile (line 661) | func (f *fileStatusManager) readStatusFile(statusFilePath string) (*wo... method attemptJSONRecovery (line 723) | func (*fileStatusManager) attemptJSONRecovery(statusFilePath string, d... method writeStatusFile (line 778) | func (*fileStatusManager) writeStatusFile(statusFilePath string, statu... method getWorkloadFromRuntime (line 792) | func (f *fileStatusManager) getWorkloadFromRuntime(ctx context.Context... method getWorkloadsFromFiles (line 808) | func (f *fileStatusManager) getWorkloadsFromFiles() (map[string]worklo... method validateRunningWorkload (line 904) | func (f *fileStatusManager) validateRunningWorkload( method handleRuntimeMismatch (line 934) | func (f *fileStatusManager) handleRuntimeMismatch( method handleRuntimeMissing (line 957) | func (f *fileStatusManager) handleRuntimeMissing( method isProxyUnhealthy (line 982) | func (f *fileStatusManager) isProxyUnhealthy( method mergeHealthyWorkloadData (line 1019) | func (f *fileStatusManager) mergeHealthyWorkloadData( method validateWorkloadInList (line 1036) | func (f *fileStatusManager) validateWorkloadInList( method mergeRuntimeAndFileWorkloads (line 1068) | func (f *fileStatusManager) mergeRuntimeAndFileWorkloads( type remoteWorkloadConfig (line 119) | type remoteWorkloadConfig struct type workloadStatusFile (line 186) | type workloadStatusFile struct type workloadWithPID (line 802) | type workloadWithPID struct FILE: pkg/workloads/statuses/file_status_test.go constant testWorkloadWithSlash (line 32) | testWorkloadWithSlash = "test/workload" function newTestFileStatusManager (line 36) | func newTestFileStatusManager(t *testing.T, ctrl *gomock.Controller) (*f... function TestFileStatusManager_SetWorkloadStatus_Create (line 51) | func TestFileStatusManager_SetWorkloadStatus_Create(t *testing.T) { function TestFileStatusManager_SetWorkloadStatus_Update (line 80) | func TestFileStatusManager_SetWorkloadStatus_Update(t *testing.T) { function TestFileStatusManager_GetWorkload (line 95) | func TestFileStatusManager_GetWorkload(t *testing.T) { function TestFileStatusManager_GetWorkloadSlashes (line 127) | func TestFileStatusManager_GetWorkloadSlashes(t *testing.T) { function TestFileStatusManager_GetWorkload_NotFound (line 161) | func TestFileStatusManager_GetWorkload_NotFound(t *testing.T) { function TestFileStatusManager_GetWorkload_RuntimeFallback (line 182) | func TestFileStatusManager_GetWorkload_RuntimeFallback(t *testing.T) { function TestFileStatusManager_GetWorkload_FileAndRuntimeCombination (line 219) | func TestFileStatusManager_GetWorkload_FileAndRuntimeCombination(t *test... function TestFileStatusManager_SetWorkloadStatus (line 273) | func TestFileStatusManager_SetWorkloadStatus(t *testing.T) { function TestFileStatusManager_SetWorkloadStatusSlashes (line 308) | func TestFileStatusManager_SetWorkloadStatusSlashes(t *testing.T) { function TestFileStatusManager_SetWorkloadStatus_NotFound (line 344) | func TestFileStatusManager_SetWorkloadStatus_NotFound(t *testing.T) { function TestFileStatusManager_SetWorkloadStatus_PreservesPID (line 372) | func TestFileStatusManager_SetWorkloadStatus_PreservesPID(t *testing.T) { function TestFileStatusManager_DeleteWorkloadStatus (line 424) | func TestFileStatusManager_DeleteWorkloadStatus(t *testing.T) { function TestFileStatusManager_DeleteWorkloadStatus_NotFound (line 445) | func TestFileStatusManager_DeleteWorkloadStatus_NotFound(t *testing.T) { function TestFileStatusManager_ConcurrentAccess (line 456) | func TestFileStatusManager_ConcurrentAccess(t *testing.T) { function TestFileStatusManager_ValidateRunningWorkload_Remote (line 506) | func TestFileStatusManager_ValidateRunningWorkload_Remote(t *testing.T) { function TestFileStatusManager_FullLifecycle (line 543) | func TestFileStatusManager_FullLifecycle(t *testing.T) { function TestFileStatusManager_ListWorkloads (line 585) | func TestFileStatusManager_ListWorkloads(t *testing.T) { function TestFileStatusManager_GetWorkload_UnhealthyDetection (line 829) | func TestFileStatusManager_GetWorkload_UnhealthyDetection(t *testing.T) { function TestFileStatusManager_GetWorkload_HealthyRunningWorkload (line 901) | func TestFileStatusManager_GetWorkload_HealthyRunningWorkload(t *testing... function TestFileStatusManager_GetWorkload_ProxyNotRunning (line 950) | func TestFileStatusManager_GetWorkload_ProxyNotRunning(t *testing.T) { function TestFileStatusManager_GetWorkload_HealthyWithProxy (line 1027) | func TestFileStatusManager_GetWorkload_HealthyWithProxy(t *testing.T) { function TestFileStatusManager_ListWorkloads_WithValidation (line 1077) | func TestFileStatusManager_ListWorkloads_WithValidation(t *testing.T) { function TestFileStatusManager_GetWorkload_vs_ListWorkloads_Consistency (line 1177) | func TestFileStatusManager_GetWorkload_vs_ListWorkloads_Consistency(t *t... function TestFileStatusManager_ListWorkloads_CorruptedFile (line 1222) | func TestFileStatusManager_ListWorkloads_CorruptedFile(t *testing.T) { function TestFileStatusManager_ListWorkloads_MissingRequiredFields (line 1265) | func TestFileStatusManager_ListWorkloads_MissingRequiredFields(t *testin... function TestFileStatusManager_ReadStatusFile_Validation (line 1316) | func TestFileStatusManager_ReadStatusFile_Validation(t *testing.T) { function TestFileStatusManager_SetWorkloadPID_NonExistentWorkload (line 1382) | func TestFileStatusManager_SetWorkloadPID_NonExistentWorkload(t *testing... function TestFileStatusManager_SetWorkloadPID_Update (line 1397) | func TestFileStatusManager_SetWorkloadPID_Update(t *testing.T) { function TestFileStatusManager_SetWorkloadPID_WithSlashes (line 1437) | func TestFileStatusManager_SetWorkloadPID_WithSlashes(t *testing.T) { function TestFileStatusManager_SetWorkloadPID_ZeroPID (line 1470) | func TestFileStatusManager_SetWorkloadPID_ZeroPID(t *testing.T) { function TestFileStatusManager_SetWorkloadPID_PreservesCreatedAt (line 1498) | func TestFileStatusManager_SetWorkloadPID_PreservesCreatedAt(t *testing.... function TestFileStatusManager_SetWorkloadPID_ConcurrentAccess (line 1540) | func TestFileStatusManager_SetWorkloadPID_ConcurrentAccess(t *testing.T) { function TestFileStatusManager_ResetWorkloadPID_NonExistentWorkload (line 1601) | func TestFileStatusManager_ResetWorkloadPID_NonExistentWorkload(t *testi... function TestFileStatusManager_ResetWorkloadPID_ExistingWorkload (line 1616) | func TestFileStatusManager_ResetWorkloadPID_ExistingWorkload(t *testing.... function TestFileStatusManager_ResetWorkloadPID_WithSlashes (line 1655) | func TestFileStatusManager_ResetWorkloadPID_WithSlashes(t *testing.T) { function TestFileStatusManager_ResetWorkloadPIDIfMatch_MatchingPID (line 1690) | func TestFileStatusManager_ResetWorkloadPIDIfMatch_MatchingPID(t *testin... function TestFileStatusManager_ResetWorkloadPIDIfMatch_NonMatchingPID (line 1718) | func TestFileStatusManager_ResetWorkloadPIDIfMatch_NonMatchingPID(t *tes... function TestFileStatusManager_ResetWorkloadPIDIfMatch_NonExistentWorkload (line 1746) | func TestFileStatusManager_ResetWorkloadPIDIfMatch_NonExistentWorkload(t... function TestFileStatusManager_GetWorkload_PIDMigration (line 1761) | func TestFileStatusManager_GetWorkload_PIDMigration(t *testing.T) { function TestFileStatusManager_ListWorkloads_PIDMigration (line 1866) | func TestFileStatusManager_ListWorkloads_PIDMigration(t *testing.T) { function TestFileStatusManager_IsRemoteWorkload_EdgeCases (line 1942) | func TestFileStatusManager_IsRemoteWorkload_EdgeCases(t *testing.T) { function TestJSONRecovery_ExtraClosingBrace (line 2086) | func TestJSONRecovery_ExtraClosingBrace(t *testing.T) { function TestJSONRecovery_MissingClosingBrace (line 2123) | func TestJSONRecovery_MissingClosingBrace(t *testing.T) { function TestJSONRecovery_ControlCharacters (line 2157) | func TestJSONRecovery_ControlCharacters(t *testing.T) { function TestJSONRecovery_BackupOnFailure (line 2178) | func TestJSONRecovery_BackupOnFailure(t *testing.T) { function TestJSONRecovery_MultipleExtraClosingBraces (line 2206) | func TestJSONRecovery_MultipleExtraClosingBraces(t *testing.T) { FILE: pkg/workloads/statuses/mocks/mock_status_manager.go type MockStatusManager (line 22) | type MockStatusManager struct method EXPECT (line 41) | func (m *MockStatusManager) EXPECT() *MockStatusManagerMockRecorder { method DeleteWorkloadStatus (line 46) | func (m *MockStatusManager) DeleteWorkloadStatus(ctx context.Context, ... method GetWorkload (line 60) | func (m *MockStatusManager) GetWorkload(ctx context.Context, workloadN... method GetWorkloadPID (line 75) | func (m *MockStatusManager) GetWorkloadPID(ctx context.Context, worklo... method ListWorkloads (line 90) | func (m *MockStatusManager) ListWorkloads(ctx context.Context, listAll... method ResetWorkloadPID (line 105) | func (m *MockStatusManager) ResetWorkloadPID(ctx context.Context, work... method ResetWorkloadPIDIfMatch (line 119) | func (m *MockStatusManager) ResetWorkloadPIDIfMatch(ctx context.Contex... method SetWorkloadPID (line 133) | func (m *MockStatusManager) SetWorkloadPID(ctx context.Context, worklo... method SetWorkloadStatus (line 147) | func (m *MockStatusManager) SetWorkloadStatus(ctx context.Context, wor... type MockStatusManagerMockRecorder (line 29) | type MockStatusManagerMockRecorder struct method DeleteWorkloadStatus (line 54) | func (mr *MockStatusManagerMockRecorder) DeleteWorkloadStatus(ctx, wor... method GetWorkload (line 69) | func (mr *MockStatusManagerMockRecorder) GetWorkload(ctx, workloadName... method GetWorkloadPID (line 84) | func (mr *MockStatusManagerMockRecorder) GetWorkloadPID(ctx, workloadN... method ListWorkloads (line 99) | func (mr *MockStatusManagerMockRecorder) ListWorkloads(ctx, listAll, l... method ResetWorkloadPID (line 113) | func (mr *MockStatusManagerMockRecorder) ResetWorkloadPID(ctx, workloa... method ResetWorkloadPIDIfMatch (line 127) | func (mr *MockStatusManagerMockRecorder) ResetWorkloadPIDIfMatch(ctx, ... method SetWorkloadPID (line 141) | func (mr *MockStatusManagerMockRecorder) SetWorkloadPID(ctx, workloadN... method SetWorkloadStatus (line 155) | func (mr *MockStatusManagerMockRecorder) SetWorkloadStatus(ctx, worklo... function NewMockStatusManager (line 34) | func NewMockStatusManager(ctrl *gomock.Controller) *MockStatusManager { FILE: pkg/workloads/statuses/noop.go type NoopStatusManager (line 15) | type NoopStatusManager struct method GetWorkload (line 23) | func (*NoopStatusManager) GetWorkload(_ context.Context, _ string) (co... method ListWorkloads (line 28) | func (*NoopStatusManager) ListWorkloads(_ context.Context, _ bool, _ [... method SetWorkloadStatus (line 33) | func (*NoopStatusManager) SetWorkloadStatus(_ context.Context, _ strin... method DeleteWorkloadStatus (line 38) | func (*NoopStatusManager) DeleteWorkloadStatus(_ context.Context, _ st... method SetWorkloadPID (line 43) | func (*NoopStatusManager) SetWorkloadPID(_ context.Context, _ string, ... method ResetWorkloadPID (line 48) | func (*NoopStatusManager) ResetWorkloadPID(_ context.Context, _ string... method ResetWorkloadPIDIfMatch (line 53) | func (*NoopStatusManager) ResetWorkloadPIDIfMatch(_ context.Context, _... method GetWorkloadPID (line 58) | func (*NoopStatusManager) GetWorkloadPID(_ context.Context, _ string) ... function NewNoopStatusManager (line 18) | func NewNoopStatusManager() StatusManager { FILE: pkg/workloads/statuses/pid.go function getOldPIDFilePath (line 24) | func getOldPIDFilePath(containerBaseName string) string { function getPIDFilePath (line 33) | func getPIDFilePath(containerBaseName string) (string, error) { function getPIDFilePathWithFallback (line 50) | func getPIDFilePathWithFallback(containerBaseName string) (string, error) { function readPIDFile (line 81) | func readPIDFile(containerBaseName string) (int, error) { function removePIDFile (line 124) | func removePIDFile(containerBaseName string) error { FILE: pkg/workloads/statuses/pid_test.go function TestPIDFileBackwardCompatibility (line 18) | func TestPIDFileBackwardCompatibility(t *testing.T) { function TestPIDFileOperations (line 211) | func TestPIDFileOperations(t *testing.T) { function TestGetPIDFilePath (line 246) | func TestGetPIDFilePath(t *testing.T) { FILE: pkg/workloads/statuses/status.go type StatusManager (line 22) | type StatusManager interface function NewStatusManagerFromRuntime (line 51) | func NewStatusManagerFromRuntime(runtime rt.Runtime, runConfigStore stat... function NewStatusManager (line 61) | func NewStatusManager(runtime rt.Runtime) (StatusManager, error) { function NewStatusManagerWithEnv (line 67) | func NewStatusManagerWithEnv(runtime rt.Runtime, envReader env.Reader) (... type runtimeStatusManager (line 81) | type runtimeStatusManager struct method GetWorkload (line 86) | func (r *runtimeStatusManager) GetWorkload(ctx context.Context, worklo... method ListWorkloads (line 100) | func (r *runtimeStatusManager) ListWorkloads(ctx context.Context, list... method SetWorkloadStatus (line 132) | func (*runtimeStatusManager) SetWorkloadStatus( method DeleteWorkloadStatus (line 143) | func (*runtimeStatusManager) DeleteWorkloadStatus(_ context.Context, _... method SetWorkloadPID (line 149) | func (*runtimeStatusManager) SetWorkloadPID(_ context.Context, workloa... method ResetWorkloadPID (line 155) | func (*runtimeStatusManager) ResetWorkloadPID(_ context.Context, workl... method ResetWorkloadPIDIfMatch (line 161) | func (*runtimeStatusManager) ResetWorkloadPIDIfMatch(_ context.Context... method GetWorkloadPID (line 168) | func (*runtimeStatusManager) GetWorkloadPID(_ context.Context, workloa... FILE: pkg/workloads/statuses/status_test.go constant testWorkloadName (line 25) | testWorkloadName = "test-workload" function TestNewStatusManagerFromRuntime (line 27) | func TestNewStatusManagerFromRuntime(t *testing.T) { function TestRuntimeStatusManager_CreateWorkloadStatus (line 45) | func TestRuntimeStatusManager_CreateWorkloadStatus(t *testing.T) { function TestRuntimeStatusManager_GetWorkload (line 60) | func TestRuntimeStatusManager_GetWorkload(t *testing.T) { function TestRuntimeStatusManager_ListWorkloads (line 142) | func TestRuntimeStatusManager_ListWorkloads(t *testing.T) { function TestRuntimeStatusManager_SetWorkloadStatus (line 280) | func TestRuntimeStatusManager_SetWorkloadStatus(t *testing.T) { function TestRuntimeStatusManager_DeleteWorkloadStatus (line 296) | func TestRuntimeStatusManager_DeleteWorkloadStatus(t *testing.T) { function TestRuntimeStatusManager_SetWorkloadPID (line 311) | func TestRuntimeStatusManager_SetWorkloadPID(t *testing.T) { function TestRuntimeStatusManager_ResetWorkloadPID (line 328) | func TestRuntimeStatusManager_ResetWorkloadPID(t *testing.T) { function TestParseLabelFilters (line 344) | func TestParseLabelFilters(t *testing.T) { function TestMatchesLabelFilters (line 403) | func TestMatchesLabelFilters(t *testing.T) { function TestNewStatusManager (line 471) | func TestNewStatusManager(t *testing.T) { function TestValidateWorkloadName (line 521) | func TestValidateWorkloadName(t *testing.T) { FILE: pkg/workloads/sysproc_unix.go function getSysProcAttr (line 13) | func getSysProcAttr() *syscall.SysProcAttr { FILE: pkg/workloads/sysproc_windows.go function getSysProcAttr (line 13) | func getSysProcAttr() *syscall.SysProcAttr { FILE: pkg/workloads/types/effective_transport_test.go function TestGetEffectiveProxyMode (line 14) | func TestGetEffectiveProxyMode(t *testing.T) { FILE: pkg/workloads/types/labels.go function ParseLabelFilters (line 13) | func ParseLabelFilters(labelFilters []string) (map[string]string, error) { function MatchesLabelFilters (line 26) | func MatchesLabelFilters(workloadLabels, filters map[string]string) bool { FILE: pkg/workloads/types/labels_test.go function TestParseLabelFilters (line 12) | func TestParseLabelFilters(t *testing.T) { function TestMatchesLabelFilters (line 133) | func TestMatchesLabelFilters(t *testing.T) { function TestParseLabelFilters_Integration (line 244) | func TestParseLabelFilters_Integration(t *testing.T) { function TestMatchesLabelFilters_EdgeCases (line 270) | func TestMatchesLabelFilters_EdgeCases(t *testing.T) { FILE: pkg/workloads/types/types.go type minimalRunConfig (line 24) | type minimalRunConfig struct function loadRunConfigFields (line 31) | func loadRunConfigFields(ctx context.Context, store state.Store, name st... function WorkloadFromContainerInfo (line 62) | func WorkloadFromContainerInfo(container *runtime.ContainerInfo, runConf... function GetEffectiveProxyMode (line 134) | func GetEffectiveProxyMode(transportType types.TransportType, proxyMode ... FILE: pkg/workloads/types/validate.go type WorkloadNameIssue (line 34) | type WorkloadNameIssue struct function analyzeWorkloadName (line 42) | func analyzeWorkloadName(name string) []WorkloadNameIssue { function ValidateWorkloadName (line 115) | func ValidateWorkloadName(name string) error { function SanitizeWorkloadName (line 132) | func SanitizeWorkloadName(name string) (string, bool) { function applySanitizationFix (line 162) | func applySanitizationFix(input, issueType string) (string, bool) { function sanitizeInvalidChars (line 191) | func sanitizeInvalidChars(input string) (string, bool) { function truncateIfTooLong (line 208) | func truncateIfTooLong(input string) (string, bool) { FILE: pkg/workloads/types/validate_test.go function TestValidateWorkloadName (line 14) | func TestValidateWorkloadName(t *testing.T) { function TestSanitizeWorkloadName (line 179) | func TestSanitizeWorkloadName(t *testing.T) { function TestSanitizeWorkloadNameConsistency (line 307) | func TestSanitizeWorkloadNameConsistency(t *testing.T) { function minInt (line 341) | func minInt(a, b int) int { FILE: pkg/workloads/types/workload_test.go function TestWorkloadFromContainerInfo (line 21) | func TestWorkloadFromContainerInfo(t *testing.T) { FILE: test/e2e/api_clients_test.go function registerClient (line 532) | func registerClient(server *e2e.Server, request map[string]interface{}) ... function listClients (line 546) | func listClients(server *e2e.Server) []client.RegisteredClient { function unregisterClientFromGroup (line 560) | func unregisterClientFromGroup(server *e2e.Server, clientName, groupName... function bulkRegisterClients (line 571) | func bulkRegisterClients(server *e2e.Server, request map[string]interfac... function bulkUnregisterClients (line 585) | func bulkUnregisterClients(server *e2e.Server, request map[string]interf... FILE: test/e2e/api_discovery_test.go type clientStatusResponse (line 336) | type clientStatusResponse struct function discoverClients (line 344) | func discoverClients(server *e2e.Server) *http.Response { function unregisterClient (line 351) | func unregisterClient(server *e2e.Server, clientName string) *http.Respo... FILE: test/e2e/api_groups_test.go function createGroup (line 460) | func createGroup(server *e2e.Server, request map[string]interface{}) *ht... function listGroups (line 474) | func listGroups(server *e2e.Server) []*groups.Group { function deleteGroup (line 490) | func deleteGroup(server *e2e.Server, name string) *http.Response { function deleteGroupWithWorkloads (line 500) | func deleteGroupWithWorkloads(server *e2e.Server, name string, withWorkl... FILE: test/e2e/api_helpers.go type ServerConfig (line 26) | type ServerConfig struct function NewServerConfig (line 34) | func NewServerConfig() *ServerConfig { type Server (line 45) | type Server struct method WaitForReady (line 142) | func (s *Server) WaitForReady() error { method Stop (line 177) | func (s *Server) Stop() error { method Get (line 191) | func (s *Server) Get(path string) (*http.Response, error) { method GetWithHeaders (line 200) | func (s *Server) GetWithHeaders(path string, headers map[string]string... method BaseURL (line 214) | func (s *Server) BaseURL() string { method GetStderr (line 219) | func (s *Server) GetStderr() string { method GetStdout (line 224) | func (s *Server) GetStdout() string { function NewServer (line 58) | func NewServer(config *ServerConfig) (*Server, error) { function StartServer (line 230) | func StartServer(config *ServerConfig) *Server { function ExpectStatus (line 249) | func ExpectStatus(resp *http.Response, expected int) { FILE: test/e2e/api_registry_test.go type registryInfo (line 733) | type registryInfo struct type registryListResponse (line 742) | type registryListResponse struct type getRegistryResponse (line 746) | type getRegistryResponse struct type listServersResponse (line 756) | type listServersResponse struct type getServerResponse (line 761) | type getServerResponse struct type updateRegistryResponse (line 767) | type updateRegistryResponse struct function listRegistries (line 773) | func listRegistries(server *e2e.Server) []registryInfo { function getRegistry (line 787) | func getRegistry(server *e2e.Server, name string) *http.Response { function addRegistry (line 794) | func addRegistry(server *e2e.Server, request map[string]interface{}) *ht... function updateRegistry (line 808) | func updateRegistry(server *e2e.Server, name string, request map[string]... function updateRegistryRaw (line 815) | func updateRegistryRaw(server *e2e.Server, name string, body []byte) *ht... function deleteRegistry (line 826) | func deleteRegistry(server *e2e.Server, name string) *http.Response { function listRegistryServers (line 836) | func listRegistryServers(server *e2e.Server, registryName string) *http.... function getRegistryServer (line 843) | func getRegistryServer(server *e2e.Server, registryName, serverName stri... type testServerSpec (line 852) | type testServerSpec struct function createTestRegistryFile (line 863) | func createTestRegistryFile(specs ...testServerSpec) string { function createTestRegistryFileWithContent (line 898) | func createTestRegistryFileWithContent(content []byte) string { FILE: test/e2e/api_secrets_test.go type setupSecretsRequest (line 22) | type setupSecretsRequest struct type setupSecretsResponse (line 27) | type setupSecretsResponse struct type getSecretsProviderResponse (line 32) | type getSecretsProviderResponse struct type providerCapabilitiesResponse (line 38) | type providerCapabilitiesResponse struct type createSecretRequest (line 46) | type createSecretRequest struct type updateSecretRequest (line 51) | type updateSecretRequest struct function setupSecretsProvider (line 57) | func setupSecretsProvider(server *e2e.Server, providerType string) *http... function getSecretsProvider (line 74) | func getSecretsProvider(server *e2e.Server) (*getSecretsProviderResponse... function listSecrets (line 88) | func listSecrets(server *e2e.Server) *http.Response { function createSecret (line 94) | func createSecret(server *e2e.Server, key, value string) *http.Response { function updateSecret (line 112) | func updateSecret(server *e2e.Server, key, value string) *http.Response { function deleteSecret (line 134) | func deleteSecret(server *e2e.Server, key string) *http.Response { function cleanupSecretsConfig (line 148) | func cleanupSecretsConfig() { FILE: test/e2e/api_skills_git_test.go function createBareGitRepoWithSkill (line 31) | func createBareGitRepoWithSkill(skillName, description, skillPath string... function createBareGitRepoWithTag (line 90) | func createBareGitRepoWithTag(skillName, description, tagName string) st... function startDumbGitHTTPServer (line 153) | func startDumbGitHTTPServer(bareRepoDir string) *httptest.Server { function gitReference (line 167) | func gitReference(server *httptest.Server, ref, skillPath string) string { function createUpstreamRegistryWithGitSkill (line 428) | func createUpstreamRegistryWithGitSkill(skillName, gitURL string) string { FILE: test/e2e/api_skills_test.go type skillListResponse (line 25) | type skillListResponse struct type installedSkillResponse (line 29) | type installedSkillResponse struct type skillMetadataResponse (line 41) | type skillMetadataResponse struct type installSkillRequest (line 49) | type installSkillRequest struct type installSkillResponse (line 59) | type installSkillResponse struct type validateSkillRequest (line 63) | type validateSkillRequest struct type validationResultResponse (line 67) | type validationResultResponse struct type buildSkillRequest (line 73) | type buildSkillRequest struct type buildResultResponse (line 78) | type buildResultResponse struct type skillInfoResponse (line 82) | type skillInfoResponse struct function listSkills (line 89) | func listSkills(server *e2e.Server) *http.Response { function listSkillsInGroup (line 95) | func listSkillsInGroup(server *e2e.Server, group string) *http.Response { function installSkill (line 101) | func installSkill(server *e2e.Server, req installSkillRequest) *http.Res... function uninstallSkill (line 114) | func uninstallSkill(server *e2e.Server, name string) *http.Response { function getSkillInfo (line 128) | func getSkillInfo(server *e2e.Server, name string) *http.Response { function validateSkill (line 134) | func validateSkill(server *e2e.Server, path string) *http.Response { function buildSkill (line 148) | func buildSkill(server *e2e.Server, path, tag string) *http.Response { function createTestSkillDir (line 164) | func createTestSkillDir(skillName, description string) string { function buildAndInstallSkill (line 191) | func buildAndInstallSkill(server *e2e.Server, skillName, description str... function pushSkill (line 203) | func pushSkill(server *e2e.Server, reference string) *http.Response { type pushSkillRequest (line 217) | type pushSkillRequest struct function createUpstreamRegistryWithSkill (line 223) | func createUpstreamRegistryWithSkill(skillName, ociReference string) str... FILE: test/e2e/api_version_test.go type versionAPIResponse (line 79) | type versionAPIResponse struct function getVersion (line 87) | func getVersion(server *e2e.Server) *http.Response { FILE: test/e2e/api_workload_lifecycle_test.go function restartWorkload (line 1513) | func restartWorkload(server *e2e.Server, name string) *http.Response { function updateWorkload (line 1523) | func updateWorkload(server *e2e.Server, name string, request map[string]... function updateWorkloadRaw (line 1530) | func updateWorkloadRaw(server *e2e.Server, name string, body []byte) *ht... function bulkStopWorkloads (line 1543) | func bulkStopWorkloads(server *e2e.Server, request map[string]interface{... function bulkRestartWorkloads (line 1559) | func bulkRestartWorkloads(server *e2e.Server, request map[string]interfa... function bulkDeleteWorkloads (line 1575) | func bulkDeleteWorkloads(server *e2e.Server, request map[string]interfac... function bulkDeleteWorkloadsRaw (line 1582) | func bulkDeleteWorkloadsRaw(server *e2e.Server, body []byte) *http.Respo... FILE: test/e2e/api_workloads_test.go function createWorkload (line 585) | func createWorkload(server *e2e.Server, request map[string]interface{}) ... function listWorkloads (line 599) | func listWorkloads(server *e2e.Server, all bool) []core.Workload { function deleteWorkloadAsync (line 623) | func deleteWorkloadAsync(server *e2e.Server, name string) *http.Response { function stopWorkload (line 633) | func stopWorkload(server *e2e.Server, name string) *http.Response { FILE: test/e2e/audit_middleware_e2e_test.go function generateUniqueAuditServerName (line 22) | func generateUniqueAuditServerName(prefix string) string { function writeAuditConfig (line 376) | func writeAuditConfig(configPath string, config *audit.Config) { function readAuditLogFile (line 386) | func readAuditLogFile(auditLogFile string) string { function startMCPServerWithAuditConfig (line 403) | func startMCPServerWithAuditConfig(config *e2e.TestConfig, workloadName,... function startMCPServerWithEnableAuditFlag (line 429) | func startMCPServerWithEnableAuditFlag(config *e2e.TestConfig, workloadN... function makeHTTPMCPRequest (line 454) | func makeHTTPMCPRequest(serverURL string, request map[string]any) { function toJSONString (line 490) | func toJSONString(v any) string { FILE: test/e2e/cimd_auth_helpers_test.go type testHelper (line 18) | type testHelper interface type cimdAuthRequest (line 24) | type cimdAuthRequest struct type cimdMockAuthServer (line 34) | type cimdMockAuthServer struct method URL (line 76) | func (s *cimdMockAuthServer) URL() string { method IssuerURL (line 81) | func (s *cimdMockAuthServer) IssuerURL() string { method ResourceMetadataURL (line 86) | func (s *cimdMockAuthServer) ResourceMetadataURL() string { method WaitForAuthRequest (line 92) | func (s *cimdMockAuthServer) WaitForAuthRequest(timeout time.Duration)... method DcrWasCalled (line 102) | func (s *cimdMockAuthServer) DcrWasCalled() bool { method LastClientID (line 109) | func (s *cimdMockAuthServer) LastClientID() string { method handleDiscovery (line 117) | func (s *cimdMockAuthServer) handleDiscovery(w http.ResponseWriter, _ ... method RejectCIMDWasCalled (line 136) | func (s *cimdMockAuthServer) RejectCIMDWasCalled() bool { method handleAuthorize (line 151) | func (s *cimdMockAuthServer) handleAuthorize(w http.ResponseWriter, r ... method handleToken (line 228) | func (*cimdMockAuthServer) handleToken(w http.ResponseWriter, r *http.... method handleRegister (line 245) | func (s *cimdMockAuthServer) handleRegister(w http.ResponseWriter, _ *... method handleJWKS (line 260) | func (*cimdMockAuthServer) handleJWKS(w http.ResponseWriter, _ *http.R... method handleResourceMetadata (line 267) | func (s *cimdMockAuthServer) handleResourceMetadata(w http.ResponseWri... function newCIMDMockAuthServer (line 52) | func newCIMDMockAuthServer(tb testHelper, cimdSupported bool, rejectCIMD... function isCIMDClientID (line 279) | func isCIMDClientID(clientID string) bool { function newCIMDMockMCPServer (line 289) | func newCIMDMockMCPServer(tb testHelper, asURL string) *httptest.Server { FILE: test/e2e/cimd_auth_test.go function startCIMDRunCommand (line 26) | func startCIMDRunCommand( function extractAuthURL (line 60) | func extractAuthURL(output string) string { function appendAutoComplete (line 71) | func appendAutoComplete(authURL string) string { FILE: test/e2e/cli_llm_all_clients_test.go constant osDarwin (line 27) | osDarwin = "darwin" constant clientThvProxy (line 28) | clientThvProxy = "thv-proxy" type llmClientTestCase (line 34) | type llmClientTestCase struct function allClientTestCases (line 64) | func allClientTestCases() []llmClientTestCase { function llmSettingsDirFor (line 183) | func llmSettingsDirFor(client, tempDir string) string { function createFakeBinary (line 967) | func createFakeBinary(dir, name string) error { function installAllDetectedClients (line 975) | func installAllDetectedClients(tempDir, binDir string) []string { function jsonPointerGet (line 996) | func jsonPointerGet(obj map[string]any, pointer string) (string, bool) { FILE: test/e2e/cli_llm_setup_test.go function runSetupWithOIDCCompletion (line 27) | func runSetupWithOIDCCompletion( FILE: test/e2e/e2e_suite_test.go function TestE2e (line 25) | func TestE2e(t *testing.T) { //nolint:paralleltest // E2E tests should n... function cleanupTestWorkloadsByName (line 62) | func cleanupTestWorkloadsByName() { function listTestWorkloadNames (line 106) | func listTestWorkloadNames() []string { FILE: test/e2e/export_test.go function generateExportTestServerName (line 214) | func generateExportTestServerName(prefix string) string { FILE: test/e2e/group_list_e2e_test.go function extractGroupNames (line 138) | func extractGroupNames(output string) []string { FILE: test/e2e/group_test.go function init (line 22) | func init() { function getWorkloadGroup (line 228) | func getWorkloadGroup(workloadName string) (string, error) { FILE: test/e2e/health_check_zombie_test.go type controllableMockServer (line 147) | type controllableMockServer struct method handleRequest (line 192) | func (m *controllableMockServer) handleRequest(w http.ResponseWriter, ... method SetHealthy (line 216) | func (m *controllableMockServer) SetHealthy(healthy bool) { method URL (line 221) | func (m *controllableMockServer) URL() string { method Stop (line 226) | func (m *controllableMockServer) Stop() { function newControllableMockServer (line 155) | func newControllableMockServer() (*controllableMockServer, error) { function generateHealthCheckTestServerName (line 233) | func generateHealthCheckTestServerName(prefix string) string { function getServerStatus (line 238) | func getServerStatus(config *e2e.TestConfig, serverName string) string { function getServerPort (line 268) | func getServerPort(config *e2e.TestConfig, serverName string) int { FILE: test/e2e/helpers.go function GenerateUniqueServerName (line 22) | func GenerateUniqueServerName(prefix string) string { type TestConfig (line 27) | type TestConfig struct function NewTestConfig (line 34) | func NewTestConfig() *TestConfig { type THVCommand (line 49) | type THVCommand struct method WithEnv (line 71) | func (c *THVCommand) WithEnv(env ...string) *THVCommand { method WithDir (line 77) | func (c *THVCommand) WithDir(dir string) *THVCommand { method WithStdin (line 83) | func (c *THVCommand) WithStdin(stdin string) *THVCommand { method Run (line 89) | func (c *THVCommand) Run() (string, string, error) { method RunWithTimeout (line 94) | func (c *THVCommand) RunWithTimeout(timeout time.Duration) (string, st... method Interrupt (line 117) | func (c *THVCommand) Interrupt() error { method ExpectSuccess (line 122) | func (c *THVCommand) ExpectSuccess() (string, string) { method ExpectFailure (line 135) | func (c *THVCommand) ExpectFailure() (string, string, error) { function NewTHVCommand (line 61) | func NewTHVCommand(config *TestConfig, args ...string) *THVCommand { function WaitForMCPServer (line 143) | func WaitForMCPServer(config *TestConfig, serverName string, timeout tim... function IsServerRunning (line 169) | func IsServerRunning(config *TestConfig, serverName string) bool { function StopAndRemoveMCPServer (line 176) | func StopAndRemoveMCPServer(config *TestConfig, serverName string) error { function GetMCPServerURL (line 194) | func GetMCPServerURL(config *TestConfig, serverName string) (string, err... function GetServerLogs (line 223) | func GetServerLogs(config *TestConfig, serverName string) (string, error) { function DebugServerState (line 232) | func DebugServerState(config *TestConfig, serverName string) { function CheckTHVBinaryAvailable (line 251) | func CheckTHVBinaryAvailable(config *TestConfig) error { function StartLongRunningTHVCommand (line 260) | func StartLongRunningTHVCommand(config *TestConfig, args ...string) *exe... function StartDockerCommand (line 276) | func StartDockerCommand(args ...string) *exec.Cmd { function WaitForWorkloadUnhealthy (line 283) | func WaitForWorkloadUnhealthy(config *TestConfig, serverName string, tim... function RemoveGroup (line 312) | func RemoveGroup(config *TestConfig, groupName string) error { function CreateAndTrackGroup (line 329) | func CreateAndTrackGroup(config *TestConfig, groupName string, createdGr... function CreateFakeBrowserDir (line 339) | func CreateFakeBrowserDir(tempDir string) (string, error) { FILE: test/e2e/http_pdp_authz_test.go type pdpDecision (line 25) | type pdpDecision struct type mockPDPServer (line 31) | type mockPDPServer struct method addRule (line 75) | func (m *mockPDPServer) addRule(allow bool, matcher func(porc map[stri... method evaluateRules (line 82) | func (m *mockPDPServer) evaluateRules(porc map[string]interface{}) bool { method getRequests (line 96) | func (m *mockPDPServer) getRequests() []map[string]interface{} { method close (line 103) | func (m *mockPDPServer) close() { method url (line 108) | func (m *mockPDPServer) url() string { function newMockPDPServer (line 39) | func newMockPDPServer() *mockPDPServer { function getKeys (line 953) | func getKeys(m map[string]interface{}) []string { FILE: test/e2e/images/images.go constant yardstickServerImageURL (line 14) | yardstickServerImageURL = "ghcr.io/stackloklabs/yardstick/yardstick-server" constant yardstickServerImageTag (line 15) | yardstickServerImageTag = "1.1.1" constant YardstickServerImage (line 21) | YardstickServerImage = yardstickServerImageURL + ":" + yardstickServerIm... constant gofetchServerImageURL (line 23) | gofetchServerImageURL = "ghcr.io/stackloklabs/gofetch/server" constant gofetchServerImageTag (line 24) | gofetchServerImageTag = "1.0.1" constant GofetchServerImage (line 27) | GofetchServerImage = gofetchServerImageURL + ":" + gofetchServerImageTag constant osvmcpServerImageURL (line 29) | osvmcpServerImageURL = "ghcr.io/stackloklabs/osv-mcp/server" constant osvmcpServerImageTag (line 30) | osvmcpServerImageTag = "0.0.7" constant OSVMCPServerImage (line 33) | OSVMCPServerImage = osvmcpServerImageURL + ":" + osvmcpServerImageTag constant pythonImageURL (line 35) | pythonImageURL = "python" constant pythonImageTag (line 36) | pythonImageTag = "3.9-slim" constant PythonImage (line 39) | PythonImage = pythonImageURL + ":" + pythonImageTag constant curlImageURL (line 41) | curlImageURL = "curlimages/curl" constant curlImageTag (line 42) | curlImageTag = "8.17.0" constant CurlImage (line 44) | CurlImage = curlImageURL + ":" + curlImageTag constant githubMCPServerImageURL (line 46) | githubMCPServerImageURL = "ghcr.io/github/github-mcp-server" constant githubMCPServerImageTag (line 47) | githubMCPServerImageTag = "v0.32.0" constant GitHubMCPServerImage (line 51) | GitHubMCPServerImage = githubMCPServerImageURL + ":" + githubMCPServerIm... constant textEmbeddingsInferenceImageURL (line 53) | textEmbeddingsInferenceImageURL = "ghcr.io/huggingface/text-embeddings-i... constant textEmbeddingsInferenceImageTag (line 54) | textEmbeddingsInferenceImageTag = "cpu-latest" constant TextEmbeddingsInferenceImage (line 57) | TextEmbeddingsInferenceImage = textEmbeddingsInferenceImageURL + ":" + t... constant terraformMCPServerImageURL (line 59) | terraformMCPServerImageURL = "docker.io/hashicorp/terraform-mcp-server" constant terraformMCPServerImageTag (line 60) | terraformMCPServerImageTag = "0.4.0" constant TerraformMCPServerImage (line 63) | TerraformMCPServerImage = terraformMCPServerImageURL + ":" + terraformMC... constant playwrightMCPServerImageURL (line 65) | playwrightMCPServerImageURL = "mcr.microsoft.com/playwright/mcp" constant playwrightMCPServerImageTag (line 66) | playwrightMCPServerImageTag = "v0.0.68" constant PlaywrightMCPServerImage (line 69) | PlaywrightMCPServerImage = playwrightMCPServerImageURL + ":" + playwrigh... constant puppeteerMCPServerImageURL (line 71) | puppeteerMCPServerImageURL = "docker.io/mcp/puppeteer" constant puppeteerMCPServerImageTag (line 72) | puppeteerMCPServerImageTag = "latest" constant PuppeteerMCPServerImage (line 75) | PuppeteerMCPServerImage = puppeteerMCPServerImageURL + ":" + puppeteerMC... constant memoryMCPServerImageURL (line 77) | memoryMCPServerImageURL = "docker.io/mcp/memory" constant memoryMCPServerImageTag (line 78) | memoryMCPServerImageTag = "latest" constant MemoryMCPServerImage (line 81) | MemoryMCPServerImage = memoryMCPServerImageURL + ":" + memoryMCPServerIm... constant everythingMCPServerImageURL (line 83) | everythingMCPServerImageURL = "docker.io/mcp/everything" constant everythingMCPServerImageTag (line 84) | everythingMCPServerImageTag = "latest" constant EverythingMCPServerImage (line 87) | EverythingMCPServerImage = everythingMCPServerImageURL + ":" + everythin... constant idaProMCPServerImageURL (line 89) | idaProMCPServerImageURL = "ghcr.io/stacklok/dockyard/uvx/ida-pro-mcp" constant idaProMCPServerImageTag (line 90) | idaProMCPServerImageTag = "1.4.0" constant IDAProMCPServerImage (line 93) | IDAProMCPServerImage = idaProMCPServerImageURL + ":" + idaProMCPServerIm... constant pagerdutyMCPServerImageURL (line 95) | pagerdutyMCPServerImageURL = "ghcr.io/stacklok/dockyard/uvx/pagerduty-mcp" constant pagerdutyMCPServerImageTag (line 96) | pagerdutyMCPServerImageTag = "0.12.0" constant PagerDutyMCPServerImage (line 99) | PagerDutyMCPServerImage = pagerdutyMCPServerImageURL + ":" + pagerdutyMC... constant redisImageURL (line 101) | redisImageURL = "redis" constant redisImageTag (line 102) | redisImageTag = "7-alpine" constant RedisImage (line 104) | RedisImage = redisImageURL + ":" + redisImageTag FILE: test/e2e/inspector_autocleanup_test.go type inspectorAutoCleanupTestHelper (line 20) | type inspectorAutoCleanupTestHelper struct method setupMCPServer (line 37) | func (h *inspectorAutoCleanupTestHelper) setupMCPServer() { method startInspector (line 45) | func (h *inspectorAutoCleanupTestHelper) startInspector() { method interruptInspector (line 54) | func (h *inspectorAutoCleanupTestHelper) interruptInspector() error { method waitForInspectorExit (line 64) | func (h *inspectorAutoCleanupTestHelper) waitForInspectorExit(timeout ... method verifyInspectorContainerExists (line 86) | func (h *inspectorAutoCleanupTestHelper) verifyInspectorContainerExist... method verifyInspectorContainerGone (line 92) | func (h *inspectorAutoCleanupTestHelper) verifyInspectorContainerGone(... method cleanup (line 98) | func (h *inspectorAutoCleanupTestHelper) cleanup() { function newInspectorAutoCleanupTestHelper (line 28) | func newInspectorAutoCleanupTestHelper(config *e2e.TestConfig, mcpServer... FILE: test/e2e/inspector_test.go type inspectorTestHelper (line 18) | type inspectorTestHelper struct method cleanupInspector (line 185) | func (h *inspectorTestHelper) cleanupInspector() { method setupMCPServer (line 194) | func (h *inspectorTestHelper) setupMCPServer() { function newInspectorTestHelper (line 176) | func newInspectorTestHelper(config *e2e.TestConfig, mcpServerName, inspe... FILE: test/e2e/list_group_e2e_test.go function init (line 19) | func init() { FILE: test/e2e/llm_gateway_mock.go type GatewayRequest (line 26) | type GatewayRequest struct type LLMGatewayMock (line 40) | type LLMGatewayMock struct method newServer (line 83) | func (m *LLMGatewayMock) newServer() *http.Server { method Start (line 99) | func (m *LLMGatewayMock) Start() error { method Stop (line 132) | func (m *LLMGatewayMock) Stop() error { method URL (line 140) | func (m *LLMGatewayMock) URL() string { method CertPEM (line 150) | func (m *LLMGatewayMock) CertPEM() []byte { method TLSClientConfig (line 156) | func (m *LLMGatewayMock) TLSClientConfig() (*tls.Config, error) { method Requests (line 165) | func (m *LLMGatewayMock) Requests() []GatewayRequest { method LastBearerToken (line 175) | func (m *LLMGatewayMock) LastBearerToken() string { method record (line 187) | func (m *LLMGatewayMock) record(r *http.Request) { method handleModels (line 201) | func (m *LLMGatewayMock) handleModels(w http.ResponseWriter, r *http.R... method handleChatCompletions (line 213) | func (m *LLMGatewayMock) handleChatCompletions(w http.ResponseWriter, ... function NewLLMGatewayMock (line 53) | func NewLLMGatewayMock(port int) (*LLMGatewayMock, error) { function NewLLMGatewayMockHTTP (line 77) | func NewLLMGatewayMockHTTP(port int) *LLMGatewayMock { function generateGatewayCert (line 245) | func generateGatewayCert() (certPEM, keyPEM []byte, err error) { FILE: test/e2e/mcp_client_helpers.go type MCPClientHelper (line 22) | type MCPClientHelper struct method Initialize (line 108) | func (h *MCPClientHelper) Initialize(ctx context.Context) error { method Close (line 134) | func (h *MCPClientHelper) Close() error { method ListTools (line 139) | func (h *MCPClientHelper) ListTools(ctx context.Context) (*mcp.ListToo... method CallTool (line 145) | func (h *MCPClientHelper) CallTool( method ListResources (line 155) | func (h *MCPClientHelper) ListResources(ctx context.Context) (*mcp.Lis... method ReadResource (line 161) | func (h *MCPClientHelper) ReadResource(ctx context.Context, uri string... method Ping (line 168) | func (h *MCPClientHelper) Ping(ctx context.Context) error { method ExpectToolExists (line 173) | func (h *MCPClientHelper) ExpectToolExists(ctx context.Context, toolNa... method ExpectToolCall (line 188) | func (h *MCPClientHelper) ExpectToolCall( method ExpectResourceExists (line 198) | func (h *MCPClientHelper) ExpectResourceExists(ctx context.Context, ur... function NewMCPClientForSSE (line 28) | func NewMCPClientForSSE(config *TestConfig, serverURL string) (*MCPClien... function NewMCPClientForStreamableHTTP (line 41) | func NewMCPClientForStreamableHTTP(config *TestConfig, serverURL string)... function NewMCPClientForStreamableHTTPWithToken (line 55) | func NewMCPClientForStreamableHTTPWithToken(config *TestConfig, serverUR... function WaitForVMCPHealthReady (line 70) | func WaitForVMCPHealthReady(healthURL string, timeout time.Duration) err... function WaitForMCPServerReady (line 213) | func WaitForMCPServerReady(config *TestConfig, serverURL string, mode st... function extractServerNameFromURL (line 267) | func extractServerNameFromURL(serverURL string) string { function TestMCPServerBasicFunctionality (line 275) | func TestMCPServerBasicFunctionality(config *TestConfig, serverURL strin... FILE: test/e2e/oidc_mock.go type OIDCMockServer (line 27) | type OIDCMockServer struct method setupRoutes (line 186) | func (m *OIDCMockServer) setupRoutes(mux *http.ServeMux) { method handleDiscovery (line 204) | func (m *OIDCMockServer) handleDiscovery(w http.ResponseWriter, _ *htt... method handleAuthorize (line 227) | func (m *OIDCMockServer) handleAuthorize(w http.ResponseWriter, r *htt... method handleToken (line 307) | func (m *OIDCMockServer) handleToken(w http.ResponseWriter, r *http.Re... method handleUserInfo (line 367) | func (m *OIDCMockServer) handleUserInfo(w http.ResponseWriter, r *http... method handleJWKS (line 389) | func (m *OIDCMockServer) handleJWKS(w http.ResponseWriter, _ *http.Req... method Start (line 431) | func (m *OIDCMockServer) Start() error { method Stop (line 444) | func (m *OIDCMockServer) Stop() error { method GetBaseURL (line 454) | func (m *OIDCMockServer) GetBaseURL() string { method EnableAutoComplete (line 459) | func (m *OIDCMockServer) EnableAutoComplete() { method WaitForAuthRequest (line 467) | func (m *OIDCMockServer) WaitForAuthRequest(ctx context.Context, timeo... method CompleteAuthRequest (line 486) | func (*OIDCMockServer) CompleteAuthRequest(authReq *AuthRequest) error { type AuthRequest (line 40) | type AuthRequest struct constant jwtKeyID (line 51) | jwtKeyID = "test-key-1" type OIDCMockOption (line 58) | type OIDCMockOption struct function WithClientAudience (line 65) | func WithClientAudience(audiences ...string) OIDCMockOption { function NewOIDCMockServer (line 74) | func NewOIDCMockServer(port int, clientID, clientSecret string, opts ...... function defaultFositeConfig (line 85) | func defaultFositeConfig(port int) *fosite.Config { function newOIDCMockServer (line 99) | func newOIDCMockServer( function WithAccessTokenLifespan (line 512) | func WithAccessTokenLifespan(d time.Duration) OIDCMockOption { FILE: test/e2e/osv_authz_test.go function extractMetricsURL (line 293) | func extractMetricsURL(serverURL string) (string, error) { function extractMetricValue (line 318) | func extractMetricValue(metricsBody, metricName, labelFilter string) int { FILE: test/e2e/osv_mcp_server_test.go function getStatusFilePath (line 570) | func getStatusFilePath(workloadName string) (string, error) { function statusFileExists (line 575) | func statusFileExists(workloadName string) bool { FILE: test/e2e/protocol_builds_e2e_test.go function generateUniqueProtocolServerName (line 18) | func generateUniqueProtocolServerName(prefix string) string { FILE: test/e2e/proxy_oauth_test.go function generateUniqueOIDCServerName (line 28) | func generateUniqueOIDCServerName(prefix string) string { function checkServerHealth (line 472) | func checkServerHealth(healthUrl string) error { function startProxyWithOAuth (line 486) | func startProxyWithOAuth(config *e2e.TestConfig, serverName, targetURL s... function startProxyWithOAuthDetection (line 519) | func startProxyWithOAuthDetection(config *e2e.TestConfig, serverName, ta... function startProxyWithAutoDetection (line 534) | func startProxyWithAutoDetection(config *e2e.TestConfig, serverName, tar... function startProxyWithOAuthForMCP (line 552) | func startProxyWithOAuthForMCP(config *e2e.TestConfig, serverName, targe... function completeOAuthFlow (line 590) | func completeOAuthFlow(authURL string) error { FILE: test/e2e/proxy_stdio_test.go constant osvServerName (line 23) | osvServerName = "osv" function generateUniqueProxyStdioServerName (line 26) | func generateUniqueProxyStdioServerName(prefix string) string { function startProxyStdioForMCP (line 287) | func startProxyStdioForMCP(config *e2e.TestConfig, workloadName string) ... FILE: test/e2e/proxy_tunnel_e2e_test.go function mustBaseURL (line 193) | func mustBaseURL(full string) string { function startProxyTunnel (line 201) | func startProxyTunnel(config *e2e.TestConfig, serverName string, target ... FILE: test/e2e/proxyrunner_graceful_shutdown_test.go function proxyRunnerBinaryPath (line 141) | func proxyRunnerBinaryPath() string { FILE: test/e2e/remote_mcp_server_test.go type WorkloadInfo (line 18) | type WorkloadInfo struct constant remoteServerURL (line 34) | remoteServerURL = "https://toolhive-doc-mcp.stacklok.com/mcp" FILE: test/e2e/restart_test.go function generateTestServerName (line 205) | func generateTestServerName(prefix string) string { FILE: test/e2e/restart_zombie_test.go function countSupervisorProcesses (line 97) | func countSupervisorProcesses(workloadName string) int { FILE: test/e2e/sse_endpoint_rewrite_test.go constant sseEndpoint (line 24) | sseEndpoint = "/sse" FILE: test/e2e/stateless_proxy_test.go type statelessMockMCPServer (line 143) | type statelessMockMCPServer struct method handleRequest (line 179) | func (m *statelessMockMCPServer) handleRequest(w http.ResponseWriter, ... method URL (line 247) | func (m *statelessMockMCPServer) URL() string { method Stop (line 251) | func (m *statelessMockMCPServer) Stop() { method GetCount (line 257) | func (m *statelessMockMCPServer) GetCount() int32 { method GotGET (line 261) | func (m *statelessMockMCPServer) GotGET() bool { function newStatelessMockMCPServer (line 151) | func newStatelessMockMCPServer() (*statelessMockMCPServer, error) { FILE: test/e2e/telemetry_metrics_validation_e2e_test.go function makeSSEMCPRequests (line 234) | func makeSSEMCPRequests(config *e2e.TestConfig, workloadName string) { function makeStreamableHTTPMCPRequests (line 264) | func makeStreamableHTTPMCPRequests(config *e2e.TestConfig, workloadName ... function validateTelemetryMetrics (line 294) | func validateTelemetryMetrics(config *e2e.TestConfig, workloadName, expe... function validateNoEmptyLabels (line 324) | func validateNoEmptyLabels(metricsContent, expectedServerName, expectedT... function validateMetricValues (line 352) | func validateMetricValues(metricsContent, expectedServerName, expectedTr... function getMetricsURL (line 382) | func getMetricsURL(config *e2e.TestConfig, workloadName string) (string,... function fetchMetricsContent (line 409) | func fetchMetricsContent(metricsURL string) string { type ToolCallMetrics (line 437) | type ToolCallMetrics struct function makeToolCallsAndValidateMetrics (line 449) | func makeToolCallsAndValidateMetrics(config *e2e.TestConfig, workloadNam... function parseToolCallMetrics (line 520) | func parseToolCallMetrics(metricsContent, expectedServerName string) *To... function extractMetricCount (line 569) | func extractMetricCount(line string) int { function extractMetricFloatValue (line 581) | func extractMetricFloatValue(line string) float64 { type TraceValidation (line 593) | type TraceValidation struct function makeRequestsAndValidateTraces (line 606) | func makeRequestsAndValidateTraces(config *e2e.TestConfig, workloadName ... function analyzeTraceAttributes (line 668) | func analyzeTraceAttributes(metricsContent, expectedServerName, expected... FILE: test/e2e/telemetry_middleware_e2e_test.go function generateUniqueTelemetryServerName (line 24) | func generateUniqueTelemetryServerName(prefix string) string { function startProxyStdioForTelemetryTest (line 307) | func startProxyStdioForTelemetryTest(config *e2e.TestConfig, workloadNam... type SafeBuffer (line 365) | type SafeBuffer struct method WriteString (line 373) | func (sb *SafeBuffer) WriteString(s string) { method String (line 377) | func (sb *SafeBuffer) String() string { function NewSafeBuffer (line 369) | func NewSafeBuffer() *SafeBuffer { FILE: test/e2e/thv-operator/acceptance_tests/helpers.go function EnsureRedis (line 30) | func EnsureRedis(ctx context.Context, c client.Client, namespace string,... function CleanupRedis (line 97) | func CleanupRedis(ctx context.Context, c client.Client, namespace string) { function SendToolCall (line 107) | func SendToolCall(ctx context.Context, httpClient *http.Client, port int... function SendInitialize (line 138) | func SendInitialize( function SendAuthenticatedToolCallWithSession (line 181) | func SendAuthenticatedToolCallWithSession( function GetOIDCToken (line 219) | func GetOIDCToken(ctx context.Context, httpClient *http.Client, oidcNode... FILE: test/e2e/thv-operator/acceptance_tests/suite_test.go function TestE2E (line 36) | func TestE2E(t *testing.T) { FILE: test/e2e/thv-operator/testutil/k8s.go function CheckPodsReady (line 29) | func CheckPodsReady(ctx context.Context, c client.Client, namespace stri... function GetPodLogs (line 60) | func GetPodLogs(ctx context.Context, namespace, podName, containerName s... function WaitForMCPServerRunning (line 100) | func WaitForMCPServerRunning( function CreateNodePortService (line 125) | func CreateNodePortService(ctx context.Context, c client.Client, serverN... function GetNodePort (line 146) | func GetNodePort( FILE: test/e2e/thv-operator/testutil/oidc.go function DeployParameterizedOIDCServer (line 30) | func DeployParameterizedOIDCServer( constant parameterizedOIDCServerScript (line 147) | parameterizedOIDCServerScript = ` FILE: test/e2e/thv-operator/virtualmcp/helpers.go constant defaultNamespace (line 39) | defaultNamespace = "default" constant e2eTimeout (line 40) | e2eTimeout = 5 * time.Minute constant e2ePollInterval (line 41) | e2ePollInterval = 2 * time.Second function WaitForVirtualMCPServerReady (line 47) | func WaitForVirtualMCPServerReady( function checkPodsReady (line 85) | func checkPodsReady(ctx context.Context, c client.Client, namespace stri... type InitializedMCPClient (line 90) | type InitializedMCPClient struct method Close (line 97) | func (c *InitializedMCPClient) Close() { function CreateInitializedMCPClient (line 109) | func CreateInitializedMCPClient(nodePort int32, clientName string, timeo... function getPodLogs (line 146) | func getPodLogs(ctx context.Context, namespace, podName, containerName s... function GetVirtualMCPServerPods (line 151) | func GetVirtualMCPServerPods(ctx context.Context, c client.Client, vmcpS... function WaitForPodsReady (line 164) | func WaitForPodsReady( function GetMCPGroupBackends (line 179) | func GetMCPGroupBackends(ctx context.Context, c client.Client, groupName... function GetVirtualMCPServerStatus (line 207) | func GetVirtualMCPServerStatus( function HasCondition (line 223) | func HasCondition(vmcpServer *mcpv1beta1.VirtualMCPServer, conditionType... function WaitForCondition (line 233) | func WaitForCondition( function DeployMockOIDCServerHTTP (line 262) | func DeployMockOIDCServerHTTP(ctx context.Context, c client.Client, name... function DeployInstrumentedBackendServer (line 321) | func DeployInstrumentedBackendServer(ctx context.Context, c client.Clien... function CleanupMockServer (line 380) | func CleanupMockServer(ctx context.Context, c client.Client, namespace, ... function GetPodLogsForDeployment (line 395) | func GetPodLogsForDeployment(ctx context.Context, c client.Client, names... function GetPodLogs (line 423) | func GetPodLogs(ctx context.Context, podName, namespace, containerName s... function int32Ptr (line 431) | func int32Ptr(i int32) *int32 { function GetMCPServerDeployment (line 437) | func GetMCPServerDeployment(ctx context.Context, c client.Client, server... function GetMCPServerStatefulSet (line 451) | func GetMCPServerStatefulSet(ctx context.Context, c client.Client, serve... function WaitForPodDeletion (line 465) | func WaitForPodDeletion(ctx context.Context, c client.Client, name, name... function GetServiceStats (line 475) | func GetServiceStats(ctx context.Context, c client.Client, namespace, se... function GetMockOIDCStats (line 521) | func GetMockOIDCStats(ctx context.Context, c client.Client, namespace, s... function GetInstrumentedBackendStats (line 536) | func GetInstrumentedBackendStats(ctx context.Context, c client.Client, n... function GetMockOAuth2Stats (line 552) | func GetMockOAuth2Stats(ctx context.Context, c client.Client, namespace,... constant MockOIDCServerHTTPScript (line 567) | MockOIDCServerHTTPScript = ` function VMCPServiceName (line 626) | func VMCPServiceName(vmcpServerName string) string { function CreateMCPGroupAndWait (line 632) | func CreateMCPGroupAndWait( function CreateMCPServerAndWait (line 665) | func CreateMCPServerAndWait( type BackendConfig (line 709) | type BackendConfig struct function defaultMCPServerResources (line 727) | func defaultMCPServerResources() mcpv1beta1.ResourceRequirements { function CreateMultipleMCPServersInParallel (line 742) | func CreateMultipleMCPServersInParallel( function GetVMCPNodePort (line 809) | func GetVMCPNodePort( function checkPortAccessible (line 851) | func checkPortAccessible(nodePort int32, timeout time.Duration) error { function checkHTTPHealthReady (line 863) | func checkHTTPHealthReady(nodePort int32) error { function TestToolListingAndCall (line 883) | func TestToolListingAndCall(vmcpNodePort int32, clientName string, toolN... function TestToolListing (line 923) | func TestToolListing(vmcpNodePort int32, clientName string) []mcp.Tool { constant InstrumentedBackendScript (line 941) | InstrumentedBackendScript = ` function WithHttpLoggerOption (line 989) | func WithHttpLoggerOption() transport.StreamableHTTPCOption { type gingkoHttpLogger (line 993) | type gingkoHttpLogger struct method Infof (line 995) | func (gingkoHttpLogger) Infof(format string, v ...any) { method Errorf (line 999) | func (gingkoHttpLogger) Errorf(format string, v ...any) { function InitializeMCPClientWithRetries (line 1006) | func InitializeMCPClientWithRetries( type MockHTTPServerInfo (line 1052) | type MockHTTPServerInfo struct function CreateMockHTTPServer (line 1060) | func CreateMockHTTPServer( function DeployParameterizedOIDCServer (line 1203) | func DeployParameterizedOIDCServer( function CleanupMockHTTPServer (line 1213) | func CleanupMockHTTPServer(ctx context.Context, c client.Client, name, n... constant fakeEmbeddingServerScript (line 1235) | fakeEmbeddingServerScript = ` function DeployFakeEmbeddingServer (line 1277) | func DeployFakeEmbeddingServer( function CleanupFakeEmbeddingServer (line 1357) | func CleanupFakeEmbeddingServer(ctx context.Context, c client.Client, na... constant MockOAuth2ServerScript (line 1377) | MockOAuth2ServerScript = ` function DeployMockOAuth2Server (line 1456) | func DeployMockOAuth2Server( type VMCPStatusResponse (line 1541) | type VMCPStatusResponse struct type VMCPBackendStatus (line 1550) | type VMCPBackendStatus struct type VMCPBackendsHealthResponse (line 1559) | type VMCPBackendsHealthResponse struct type VMCPBackendHealthState (line 1566) | type VMCPBackendHealthState struct function getAndDecodeJSON (line 1574) | func getAndDecodeJSON[T any](url, label string) (*T, error) { function GetVMCPStatus (line 1592) | func GetVMCPStatus(nodePort int32) (*VMCPStatusResponse, error) { function GetVMCPBackendsHealth (line 1599) | func GetVMCPBackendsHealth(nodePort int32) (*VMCPBackendsHealthResponse,... FILE: test/e2e/thv-operator/virtualmcp/mcpserver_scaling_test.go constant proxyPort (line 36) | proxyPort = int32(8080) constant vmcpPort (line 37) | vmcpPort = int32(4483) function deployRedis (line 42) | func deployRedis(name string) { function cleanupRedis (line 105) | func cleanupRedis(name string) { function getReadyMCPServerPods (line 117) | func getReadyMCPServerPods(mcpServerName, namespace string) ([]corev1.Po... function portForwardToPod (line 145) | func portForwardToPod(podName string, containerPort int32) (int, func(),... function readRedisSessionBackendIDs (line 189) | func readRedisSessionBackendIDs(redisName, keyPrefix, sessionID string) ... FILE: test/e2e/thv-operator/virtualmcp/suite_test.go constant fetchToolName (line 35) | fetchToolName = "fetch" function TestE2E (line 46) | func TestE2E(t *testing.T) { function dumpK8sState (line 116) | func dumpK8sState(header string) { function dumpVirtualMCPServers (line 133) | func dumpVirtualMCPServers(namespace string) { function dumpMCPServers (line 148) | func dumpMCPServers(namespace string) { function dumpPods (line 160) | func dumpPods(namespace string) { function dumpServices (line 255) | func dumpServices(namespace string) { function dumpEvents (line 281) | func dumpEvents(namespace string) { function isPodReady (line 302) | func isPodReady(pod *corev1.Pod) bool { FILE: test/e2e/thv-operator/virtualmcp/virtualmcp_auth_discovery_test.go type authRoundTripper (line 33) | type authRoundTripper struct method RoundTrip (line 38) | func (a *authRoundTripper) RoundTrip(req *http.Request) (*http.Respons... FILE: test/e2e/thv-operator/virtualmcp/virtualmcp_circuit_breaker_test.go constant cbHealthCheckInterval (line 25) | cbHealthCheckInterval = 5 * time.Second constant cbHealthCheckTimeout (line 26) | cbHealthCheckTimeout = 2 * time.Second constant cbUnhealthyThreshold (line 27) | cbUnhealthyThreshold = 2 constant cbFailureThreshold (line 28) | cbFailureThreshold = 3 constant cbTimeout (line 29) | cbTimeout = 20 * time.Second FILE: test/e2e/thv-operator/virtualmcp/virtualmcp_conflict_resolution_test.go type conflictResolutionTestSetup (line 24) | type conflictResolutionTestSetup struct function setupConflictResolutionTest (line 37) | func setupConflictResolutionTest(setup conflictResolutionTestSetup) int32 { function cleanupConflictResolutionTest (line 80) | func cleanupConflictResolutionTest(groupName, vmcpName, backend1Name, ba... FILE: test/e2e/thv-operator/virtualmcp/virtualmcp_discovered_mode_test.go type ReadinessResponse (line 28) | type ReadinessResponse struct FILE: test/e2e/thv-operator/virtualmcp/virtualmcp_external_auth_test.go constant healthCheckAuthInterval (line 25) | healthCheckAuthInterval = 5 * time.Second FILE: test/e2e/thv-operator/virtualmcp/virtualmcp_optimizer_test.go function callFindTool (line 268) | func callFindTool(mcpClient *InitializedMCPClient, description string) (... function getToolNames (line 285) | func getToolNames(content map[string]any) []string { function callToolViaOptimizer (line 302) | func callToolViaOptimizer(mcpClient *InitializedMCPClient, toolName stri... FILE: test/e2e/thv-operator/virtualmcp/virtualmcpserver_scaling_test.go function countReadyPods (line 24) | func countReadyPods(vmcpName string) (int, error) { FILE: test/e2e/thv-operator/virtualmcp/wait_for_tools_helpers.go function WaitForExpectedTools (line 24) | func WaitForExpectedTools( function WaitForExpectedToolsWithAuth (line 58) | func WaitForExpectedToolsWithAuth( function ToolsContainAll (line 124) | func ToolsContainAll(tools []mcp.Tool, expectedNames ...string) error { function ToolsContainSubstring (line 144) | func ToolsContainSubstring(tools []mcp.Tool, substrings ...string) error { function ToolsHavePrefix (line 166) | func ToolsHavePrefix(tools []mcp.Tool, prefixes ...string) error { function toolNames (line 187) | func toolNames(tools []mcp.Tool) []string { FILE: test/e2e/unhealthy_workload_test.go type workloadStatusFile (line 118) | type workloadStatusFile struct function findProxyProcess (line 128) | func findProxyProcess(serverName string) (int, error) { function isProcessRunning (line 161) | func isProcessRunning(pid int) bool { function killProcess (line 174) | func killProcess(pid int) error { function findDockerContainer (line 201) | func findDockerContainer(serverName string) (string, error) { function killDockerContainer (line 224) | func killDockerContainer(containerName string) error { function generateUnhealthyTestServerName (line 236) | func generateUnhealthyTestServerName(prefix string) string { FILE: test/e2e/vmcp_cli_features_test.go function modifyVMCPConfig (line 33) | func modifyVMCPConfig(path string, fn func(*vmcpconfig.Config)) error { type singleBackendFixture (line 55) | type singleBackendFixture struct method setup (line 64) | func (f *singleBackendFixture) setup(groupPrefix, tmpDirPattern string) { method teardown (line 83) | func (f *singleBackendFixture) teardown() { type twoBackendFixture (line 105) | type twoBackendFixture struct method setupBackends (line 117) | func (f *twoBackendFixture) setupBackends(groupPrefix string) { method teardownBackends (line 136) | func (f *twoBackendFixture) teardownBackends() { method setupPerTest (line 155) | func (f *twoBackendFixture) setupPerTest(tmpDirPattern string) { method teardownPerTest (line 164) | func (f *twoBackendFixture) teardownPerTest() { FILE: test/e2e/vmcp_cli_helpers_test.go function vmcpEndpointURL (line 23) | func vmcpEndpointURL(port int) string { function allocateVMCPPort (line 28) | func allocateVMCPPort() int { function stopVMCPProcess (line 39) | func stopVMCPProcess(cmd *exec.Cmd) { function launchYardstick (line 60) | func launchYardstick(config *e2e.TestConfig, groupName, backendName stri... function launchYardstickOnPort (line 68) | func launchYardstickOnPort(config *e2e.TestConfig, groupName, backendNam... function startYardstick (line 83) | func startYardstick(config *e2e.TestConfig, groupName, backendName strin... function startYardstickOnPort (line 91) | func startYardstickOnPort(config *e2e.TestConfig, groupName, backendName... function initVMCPConfig (line 99) | func initVMCPConfig(config *e2e.TestConfig, groupName, path string) { FILE: test/e2e/vmcp_infra_features_test.go function fetchClientCredentialsToken (line 33) | func fetchClientCredentialsToken(oidcPort int, clientID, clientSecret, a... function startRedisContainer (line 59) | func startRedisContainer(containerName string, hostPort int) { function stopRedisContainer (line 69) | func stopRedisContainer(containerName string) { function waitForRedisReady (line 74) | func waitForRedisReady(containerName string, timeout time.Duration) { FILE: test/e2e/vmcp_optimizer_test.go function toolNames (line 41) | func toolNames(tools []mcp.Tool) []string { function findToolNames (line 52) | func findToolNames(result *mcp.CallToolResult) []string { function firstToolNameContaining (line 74) | func firstToolNameContaining(result *mcp.CallToolResult, substring strin... FILE: test/integration/authserver/authserver_integration_test.go function TestEmbeddedAuthServer_DiscoveryEndpoints (line 32) | func TestEmbeddedAuthServer_DiscoveryEndpoints(t *testing.T) { function TestEmbeddedAuthServer_AuthorizationFlow (line 120) | func TestEmbeddedAuthServer_AuthorizationFlow(t *testing.T) { function TestEmbeddedAuthServer_DynamicClientRegistration (line 205) | func TestEmbeddedAuthServer_DynamicClientRegistration(t *testing.T) { function TestEmbeddedAuthServer_TokenEndpoint (line 260) | func TestEmbeddedAuthServer_TokenEndpoint(t *testing.T) { function TestEmbeddedAuthServer_ConfigurationValidation (line 315) | func TestEmbeddedAuthServer_ConfigurationValidation(t *testing.T) { function TestEmbeddedAuthServer_SigningKeyConfiguration (line 387) | func TestEmbeddedAuthServer_SigningKeyConfiguration(t *testing.T) { function TestEmbeddedAuthServer_ResourceCleanup (line 448) | func TestEmbeddedAuthServer_ResourceCleanup(t *testing.T) { function generateTestECKey (line 470) | func generateTestECKey(t *testing.T) []byte { FILE: test/integration/authserver/helpers/authserver.go type AuthServerOption (line 20) | type AuthServerOption type authServerConfig (line 23) | type authServerConfig struct function WithIssuer (line 34) | func WithIssuer(issuer string) AuthServerOption { function WithUpstreams (line 41) | func WithUpstreams(upstreams []authserver.UpstreamRunConfig) AuthServerO... function WithAllowedAudiences (line 48) | func WithAllowedAudiences(audiences []string) AuthServerOption { function WithSigningKey (line 55) | func WithSigningKey(cfg *authserver.SigningKeyRunConfig) AuthServerOption { function WithHMACSecrets (line 62) | func WithHMACSecrets(files []string) AuthServerOption { function WithTokenLifespans (line 69) | func WithTokenLifespans(cfg *authserver.TokenLifespanRunConfig) AuthServ... function WithScopesSupported (line 76) | func WithScopesSupported(scopes []string) AuthServerOption { function GetFreePort (line 83) | func GetFreePort(tb testing.TB) int { function NewTestAuthServerConfig (line 101) | func NewTestAuthServerConfig(tb testing.TB, upstreamURL string, opts ...... function NewEmbeddedAuthServer (line 146) | func NewEmbeddedAuthServer( FILE: test/integration/authserver/helpers/http_client.go type OAuthClient (line 16) | type OAuthClient struct method GetJWKS (line 38) | func (c *OAuthClient) GetJWKS() (map[string]interface{}, int, error) { method GetOAuthDiscovery (line 63) | func (c *OAuthClient) GetOAuthDiscovery() (map[string]interface{}, int... method GetOIDCDiscovery (line 88) | func (c *OAuthClient) GetOIDCDiscovery() (map[string]interface{}, int,... method StartAuthorization (line 114) | func (c *OAuthClient) StartAuthorization(params url.Values) (*http.Res... method ExchangeToken (line 120) | func (c *OAuthClient) ExchangeToken(params url.Values) (map[string]int... method RegisterClient (line 145) | func (c *OAuthClient) RegisterClient(clientMetadata map[string]interfa... method Get (line 179) | func (c *OAuthClient) Get(path string) (*http.Response, error) { function NewOAuthClient (line 24) | func NewOAuthClient(baseURL string) *OAuthClient { FILE: test/integration/authserver/helpers/mock_upstream.go type MockUpstreamIDP (line 17) | type MockUpstreamIDP struct method URL (line 98) | func (m *MockUpstreamIDP) URL() string { method defaultAuthorizeHandler (line 103) | func (*MockUpstreamIDP) defaultAuthorizeHandler(w http.ResponseWriter,... method defaultTokenHandler (line 141) | func (*MockUpstreamIDP) defaultTokenHandler(w http.ResponseWriter, r *... method defaultUserInfoHandler (line 176) | func (*MockUpstreamIDP) defaultUserInfoHandler(w http.ResponseWriter, ... method discoveryHandler (line 194) | func (m *MockUpstreamIDP) discoveryHandler(w http.ResponseWriter, _ *h... type MockUpstreamOption (line 26) | type MockUpstreamOption function WithAuthorizeHandler (line 29) | func WithAuthorizeHandler(h func(w http.ResponseWriter, r *http.Request)... function WithTokenHandler (line 36) | func WithTokenHandler(h func(w http.ResponseWriter, r *http.Request)) Mo... function WithUserInfoHandler (line 43) | func WithUserInfoHandler(h func(w http.ResponseWriter, r *http.Request))... function NewMockUpstreamIDP (line 51) | func NewMockUpstreamIDP(tb testing.TB, opts ...MockUpstreamOption) *Mock... FILE: test/integration/authserver/runner_integration_test.go function TestRunner_EmbeddedAuthServerIntegration (line 24) | func TestRunner_EmbeddedAuthServerIntegration(t *testing.T) { function TestRunner_CleanupClosesAuthServer (line 165) | func TestRunner_CleanupClosesAuthServer(t *testing.T) { function TestRunner_AuthServerPrefixHandlersRoutingPriority (line 189) | func TestRunner_AuthServerPrefixHandlersRoutingPriority(t *testing.T) { function TestRunner_AuthServerLifecycleWithContext (line 241) | func TestRunner_AuthServerLifecycleWithContext(t *testing.T) { FILE: test/integration/vmcp/helpers/backend.go type BackendTool (line 27) | type BackendTool struct function NewBackendTool (line 65) | func NewBackendTool(name, description string, handler func(ctx context.C... function NewBackendToolWithStructuredResponse (line 103) | func NewBackendToolWithStructuredResponse( function NewBackendToolWithSchema (line 121) | func NewBackendToolWithSchema( type contextKey (line 135) | type contextKey constant httpHeadersContextKey (line 138) | httpHeadersContextKey contextKey = "http-headers" function GetHTTPHeadersFromContext (line 142) | func GetHTTPHeadersFromContext(ctx context.Context) http.Header { type BackendServerOption (line 148) | type BackendServerOption type backendServerConfig (line 151) | type backendServerConfig struct function WithBackendName (line 166) | func WithBackendName(name string) BackendServerOption { function WithCaptureHeaders (line 177) | func WithCaptureHeaders() BackendServerOption { function CreateBackendServer (line 217) | func CreateBackendServer(tb testing.TB, tools []BackendTool, opts ...Bac... FILE: test/integration/vmcp/helpers/helpers_test.go function TestGetToolNames (line 14) | func TestGetToolNames(t *testing.T) { function TestAssertTextContains (line 60) | func TestAssertTextContains(t *testing.T) { function TestAssertTextNotContains (line 71) | func TestAssertTextNotContains(t *testing.T) { FILE: test/integration/vmcp/helpers/mcp_client.go type MCPClient (line 30) | type MCPClient struct method Close (line 107) | func (c *MCPClient) Close() error { method ListTools (line 120) | func (c *MCPClient) ListTools(ctx context.Context) *mcp.ListToolsResult { method CallTool (line 142) | func (c *MCPClient) CallTool(ctx context.Context, name string, args ma... type MCPClientOption (line 36) | type MCPClientOption type mcpClientConfig (line 39) | type mcpClientConfig struct function NewMCPClient (line 62) | func NewMCPClient(ctx context.Context, tb testing.TB, serverURL string, ... function GetToolNames (line 164) | func GetToolNames(result *mcp.ListToolsResult) []string { function AssertToolCallSuccess (line 183) | func AssertToolCallSuccess(tb testing.TB, result *mcp.CallToolResult) st... function AssertTextContains (line 211) | func AssertTextContains(tb testing.TB, text string, expected ...string) { function AssertTextNotContains (line 230) | func AssertTextNotContains(tb testing.TB, text string, forbidden ...stri... FILE: test/integration/vmcp/helpers/vmcp_server.go function NewBackend (line 31) | func NewBackend(id string, opts ...func(*vmcptypes.Backend)) vmcptypes.B... function WithURL (line 47) | func WithURL(url string) func(*vmcptypes.Backend) { function WithAuth (line 54) | func WithAuth(authConfig *authtypes.BackendAuthStrategy) func(*vmcptypes... function WithMetadata (line 61) | func WithMetadata(key, value string) func(*vmcptypes.Backend) { type VMCPServerOption (line 68) | type VMCPServerOption type vmcpServerConfig (line 71) | type vmcpServerConfig struct function WithPrefixConflictResolution (line 79) | func WithPrefixConflictResolution(format string) VMCPServerOption { function WithWorkflowDefinitions (line 87) | func WithWorkflowDefinitions(defs map[string]*composer.WorkflowDefinitio... function WithTelemetryProvider (line 94) | func WithTelemetryProvider(provider *telemetry.Provider) VMCPServerOption { function getFreePort (line 102) | func getFreePort(tb testing.TB) int { function NewVMCPServer (line 131) | func NewVMCPServer( FILE: test/integration/vmcp/vmcp_integration_test.go function TestVMCPServer_ConflictResolution (line 33) | func TestVMCPServer_ConflictResolution(t *testing.T) { function TestVMCPServer_TwoBoundaryAuth_HeaderInjection (line 117) | func TestVMCPServer_TwoBoundaryAuth_HeaderInjection(t *testing.T) { function TestVMCPServer_CompositeToolNonStringArguments (line 249) | func TestVMCPServer_CompositeToolNonStringArguments(t *testing.T) { function TestVMCPServer_Telemetry_CompositeToolMetrics (line 353) | func TestVMCPServer_Telemetry_CompositeToolMetrics(t *testing.T) { function TestVMCPServer_DefaultResults_ConditionalSkip (line 477) | func TestVMCPServer_DefaultResults_ConditionalSkip(t *testing.T) { function TestVMCPServer_DefaultResults_ContinueOnError (line 589) | func TestVMCPServer_DefaultResults_ContinueOnError(t *testing.T) { function TestVMCPServer_StructuredContent (line 713) | func TestVMCPServer_StructuredContent(t *testing.T) { function TestVMCPServer_DefaultResults_NestedStructure (line 872) | func TestVMCPServer_DefaultResults_NestedStructure(t *testing.T) { function TestVMCPServer_StructuredContent_IntegerComparisonError (line 1029) | func TestVMCPServer_StructuredContent_IntegerComparisonError(t *testing.... function TestVMCPServer_StatusEndpoint (line 1120) | func TestVMCPServer_StatusEndpoint(t *testing.T) { FILE: test/integration/vmcp/vmcp_typing_integration_test.go function TestVMCPServer_TypeCoercion (line 26) | func TestVMCPServer_TypeCoercion(t *testing.T) { function TestVMCPServer_TypeCoercion_NestedAndArrays (line 134) | func TestVMCPServer_TypeCoercion_NestedAndArrays(t *testing.T) { FILE: test/testkit/sse_server.go type sseServer (line 22) | type sseServer struct method SetMiddlewares (line 35) | func (s *sseServer) SetMiddlewares(middlewares ...func(http.Handler) h... method AddTool (line 43) | func (s *sseServer) AddTool(tool tooldef) error { method SetClientType (line 54) | func (s *sseServer) SetClientType(clientType clientType) error { method SetWithProxy (line 62) | func (s *sseServer) SetWithProxy() error { method SetConnectionHang (line 67) | func (s *sseServer) SetConnectionHang(duration time.Duration) error { method commandHandler (line 261) | func (s *sseServer) commandHandler(w http.ResponseWriter, r *http.Requ... method sseHandler (line 309) | func (s *sseServer) sseHandler(w http.ResponseWriter, _ *http.Request) { type sseEventStreamClient (line 72) | type sseEventStreamClient struct method ToolsList (line 79) | func (s *sseEventStreamClient) ToolsList() ([]byte, error) { method ToolsCall (line 125) | func (s *sseEventStreamClient) ToolsCall(name string) ([]byte, error) { function NewSSETestServer (line 169) | func NewSSETestServer( FILE: test/testkit/streamable_server.go constant toolsListRequest (line 22) | toolsListRequest = `{"jsonrpc": "2.0", "id": 1, "method": "tools/list", ... type streamableServer (line 26) | type streamableServer struct method SetMiddlewares (line 37) | func (s *streamableServer) SetMiddlewares(middlewares ...func(http.Han... method AddTool (line 45) | func (s *streamableServer) AddTool(tool tooldef) error { method SetClientType (line 56) | func (s *streamableServer) SetClientType(clientType clientType) error { method SetWithProxy (line 64) | func (s *streamableServer) SetWithProxy() error { method SetConnectionHang (line 69) | func (s *streamableServer) SetConnectionHang(duration time.Duration) e... method mcpJSONHandler (line 269) | func (s *streamableServer) mcpJSONHandler( method mcpEventStreamHandler (line 322) | func (s *streamableServer) mcpEventStreamHandler( type streamableJSONClient (line 74) | type streamableJSONClient struct method ToolsList (line 80) | func (s *streamableJSONClient) ToolsList() ([]byte, error) { method ToolsCall (line 99) | func (s *streamableJSONClient) ToolsCall(name string) ([]byte, error) { type streamableEventStreamClient (line 120) | type streamableEventStreamClient struct method ToolsList (line 126) | func (s *streamableEventStreamClient) ToolsList() ([]byte, error) { method ToolsCall (line 160) | func (s *streamableEventStreamClient) ToolsCall(name string) ([]byte, ... function NewStreamableTestServer (line 203) | func NewStreamableTestServer( FILE: test/testkit/testkit.go constant toolsListMethod (line 32) | toolsListMethod = "tools/list" constant toolsCallMethod (line 33) | toolsCallMethod = "tools/call" type clientType (line 36) | type clientType constant clientTypeJSON (line 39) | clientTypeJSON clientType = "application/json" constant clientTypeSSE (line 40) | clientTypeSSE clientType = "text/event-stream" type TestMCPClient (line 47) | type TestMCPClient interface type TestMCPServer (line 63) | type TestMCPServer interface type TestMCPServerOption (line 73) | type TestMCPServerOption function WithMiddlewares (line 78) | func WithMiddlewares(middlewares ...func(http.Handler) http.Handler) Tes... type tooldef (line 84) | type tooldef struct function WithTool (line 94) | func WithTool(name string, description string, handler func() string) Te... function WithJSONClientType (line 106) | func WithJSONClientType() TestMCPServerOption { function WithSSEClientType (line 114) | func WithSSEClientType() TestMCPServerOption { function WithWithProxy (line 121) | func WithWithProxy() TestMCPServerOption { function WithConnectionHang (line 130) | func WithConnectionHang(duration time.Duration) TestMCPServerOption { type SSESep (line 137) | type SSESep constant LFSep (line 141) | LFSep = iota constant CRSep (line 143) | CRSep constant CRLFSep (line 145) | CRLFSep function NewSplitSSE (line 150) | func NewSplitSSE(sep SSESep) bufio.SplitFunc { function makeToolsList (line 175) | func makeToolsList(tools map[string]tooldef) string { function runToolCall (line 200) | func runToolCall(tools map[string]tooldef, mcpRequest map[string]any) st... function simpleError (line 232) | func simpleError(message string) string { function wrapBackendWithProxy (line 247) | func wrapBackendWithProxy( function singleFlushResponse (line 276) | func singleFlushResponse( function staggeredFlushResponse (line 292) | func staggeredFlushResponse( FILE: test/testkit/testkit_test.go function TestSSEServerEndpoints (line 15) | func TestSSEServerEndpoints(t *testing.T) { function TestStreamableServerEndpoints (line 73) | func TestStreamableServerEndpoints(t *testing.T) {