chippergrpc2

package
v0.0.0-...-8cc90c1 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2021 License: MIT Imports: 8 Imported by: 31

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	LanguageCode_name = map[int32]string{
		0: "ENGLISH_US",
		1: "ENGLISH_UK",
		2: "ENGLISH_AU",
		3: "GERMAN",
		4: "FRENCH",
	}
	LanguageCode_value = map[string]int32{
		"ENGLISH_US": 0,
		"ENGLISH_UK": 1,
		"ENGLISH_AU": 2,
		"GERMAN":     3,
		"FRENCH":     4,
	}
)

Enum value maps for LanguageCode.

View Source
var (
	IntentService_name = map[int32]string{
		0: "DEFAULT",
		1: "DIALOGFLOW",
		2: "BING_LUIS",
		3: "LEX",
		4: "HOUNDIFY",
	}
	IntentService_value = map[string]int32{
		"DEFAULT":    0,
		"DIALOGFLOW": 1,
		"BING_LUIS":  2,
		"LEX":        3,
		"HOUNDIFY":   4,
	}
)

Enum value maps for IntentService.

View Source
var (
	AudioEncoding_name = map[int32]string{
		0: "LINEAR_PCM",
		1: "OGG_OPUS",
	}
	AudioEncoding_value = map[string]int32{
		"LINEAR_PCM": 0,
		"OGG_OPUS":   1,
	}
)

Enum value maps for AudioEncoding.

View Source
var (
	RobotMode_name = map[int32]string{
		0: "VOICE_COMMAND",
		1: "GAME",
	}
	RobotMode_value = map[string]int32{
		"VOICE_COMMAND": 0,
		"GAME":          1,
	}
)

Enum value maps for RobotMode.

View Source
var (
	IntentGraphMode_name = map[int32]string{
		0: "UNKNOWN",
		1: "INTENT",
		2: "KNOWLEDGE_GRAPH",
	}
	IntentGraphMode_value = map[string]int32{
		"UNKNOWN":         0,
		"INTENT":          1,
		"KNOWLEDGE_GRAPH": 2,
	}
)

Enum value maps for IntentGraphMode.

View Source
var ChipperGrpc_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "chippergrpc2.ChipperGrpc",
	HandlerType: (*ChipperGrpcServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "TextIntent",
			Handler:    _ChipperGrpc_TextIntent_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "StreamingIntent",
			Handler:       _ChipperGrpc_StreamingIntent_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "StreamingKnowledgeGraph",
			Handler:       _ChipperGrpc_StreamingKnowledgeGraph_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "StreamingIntentGraph",
			Handler:       _ChipperGrpc_StreamingIntentGraph_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "StreamingConnectionCheck",
			Handler:       _ChipperGrpc_StreamingConnectionCheck_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
	},
	Metadata: "chipperpb.proto",
}

ChipperGrpc_ServiceDesc is the grpc.ServiceDesc for ChipperGrpc service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_chipperpb_proto protoreflect.FileDescriptor

Functions

func RegisterChipperGrpcServer

func RegisterChipperGrpcServer(s grpc.ServiceRegistrar, srv ChipperGrpcServer)

Types

type AudioEncoding

type AudioEncoding int32
const (
	AudioEncoding_LINEAR_PCM AudioEncoding = 0
	AudioEncoding_OGG_OPUS   AudioEncoding = 1
)

func (AudioEncoding) Descriptor

func (AudioEncoding) Enum

func (x AudioEncoding) Enum() *AudioEncoding

func (AudioEncoding) EnumDescriptor deprecated

func (AudioEncoding) EnumDescriptor() ([]byte, []int)

Deprecated: Use AudioEncoding.Descriptor instead.

func (AudioEncoding) Number

func (AudioEncoding) String

func (x AudioEncoding) String() string

func (AudioEncoding) Type

type ChipperGrpcClient

type ChipperGrpcClient interface {
	// send text for intent matching
	TextIntent(ctx context.Context, in *TextRequest, opts ...grpc.CallOption) (*IntentResponse, error)
	// Sends a streaming audio request. Responses are streamed to the client. (bidirectional)
	StreamingIntent(ctx context.Context, opts ...grpc.CallOption) (ChipperGrpc_StreamingIntentClient, error)
	// Sends a knowledge graph request. This requenst looks very similar to an intent request, but with a different response
	StreamingKnowledgeGraph(ctx context.Context, opts ...grpc.CallOption) (ChipperGrpc_StreamingKnowledgeGraphClient, error)
	// Sends a intent graph request. This requenst is a hybrid of the intent and knowledge graph endpoints
	StreamingIntentGraph(ctx context.Context, opts ...grpc.CallOption) (ChipperGrpc_StreamingIntentGraphClient, error)
	// Performs a conenction check. This will take in streaming audio, but not call out to any services.
	StreamingConnectionCheck(ctx context.Context, opts ...grpc.CallOption) (ChipperGrpc_StreamingConnectionCheckClient, error)
}

ChipperGrpcClient is the client API for ChipperGrpc service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type ChipperGrpcServer

type ChipperGrpcServer interface {
	// send text for intent matching
	TextIntent(context.Context, *TextRequest) (*IntentResponse, error)
	// Sends a streaming audio request. Responses are streamed to the client. (bidirectional)
	StreamingIntent(ChipperGrpc_StreamingIntentServer) error
	// Sends a knowledge graph request. This requenst looks very similar to an intent request, but with a different response
	StreamingKnowledgeGraph(ChipperGrpc_StreamingKnowledgeGraphServer) error
	// Sends a intent graph request. This requenst is a hybrid of the intent and knowledge graph endpoints
	StreamingIntentGraph(ChipperGrpc_StreamingIntentGraphServer) error
	// Performs a conenction check. This will take in streaming audio, but not call out to any services.
	StreamingConnectionCheck(ChipperGrpc_StreamingConnectionCheckServer) error
	// contains filtered or unexported methods
}

ChipperGrpcServer is the server API for ChipperGrpc service. All implementations must embed UnimplementedChipperGrpcServer for forward compatibility

type ChipperGrpc_StreamingConnectionCheckClient

type ChipperGrpc_StreamingConnectionCheckClient interface {
	Send(*StreamingConnectionCheckRequest) error
	Recv() (*ConnectionCheckResponse, error)
	grpc.ClientStream
}

type ChipperGrpc_StreamingConnectionCheckServer

type ChipperGrpc_StreamingConnectionCheckServer interface {
	Send(*ConnectionCheckResponse) error
	Recv() (*StreamingConnectionCheckRequest, error)
	grpc.ServerStream
}

type ChipperGrpc_StreamingIntentClient

type ChipperGrpc_StreamingIntentClient interface {
	Send(*StreamingIntentRequest) error
	Recv() (*IntentResponse, error)
	grpc.ClientStream
}

type ChipperGrpc_StreamingIntentGraphClient

type ChipperGrpc_StreamingIntentGraphClient interface {
	Send(*StreamingIntentGraphRequest) error
	Recv() (*IntentGraphResponse, error)
	grpc.ClientStream
}

type ChipperGrpc_StreamingIntentGraphServer

type ChipperGrpc_StreamingIntentGraphServer interface {
	Send(*IntentGraphResponse) error
	Recv() (*StreamingIntentGraphRequest, error)
	grpc.ServerStream
}

type ChipperGrpc_StreamingIntentServer

type ChipperGrpc_StreamingIntentServer interface {
	Send(*IntentResponse) error
	Recv() (*StreamingIntentRequest, error)
	grpc.ServerStream
}

type ChipperGrpc_StreamingKnowledgeGraphClient

type ChipperGrpc_StreamingKnowledgeGraphClient interface {
	Send(*StreamingKnowledgeGraphRequest) error
	Recv() (*KnowledgeGraphResponse, error)
	grpc.ClientStream
}

type ChipperGrpc_StreamingKnowledgeGraphServer

type ChipperGrpc_StreamingKnowledgeGraphServer interface {
	Send(*KnowledgeGraphResponse) error
	Recv() (*StreamingKnowledgeGraphRequest, error)
	grpc.ServerStream
}

type ConnectionCheckResponse

type ConnectionCheckResponse struct {

	// Status of the connection
	Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// Number of frames successfully received
	FramesReceived uint32 `protobuf:"varint,2,opt,name=frames_received,json=framesReceived,proto3" json:"frames_received,omitempty"`
	// contains filtered or unexported fields
}

func (*ConnectionCheckResponse) Descriptor deprecated

func (*ConnectionCheckResponse) Descriptor() ([]byte, []int)

Deprecated: Use ConnectionCheckResponse.ProtoReflect.Descriptor instead.

func (*ConnectionCheckResponse) GetFramesReceived

func (x *ConnectionCheckResponse) GetFramesReceived() uint32

func (*ConnectionCheckResponse) GetStatus

func (x *ConnectionCheckResponse) GetStatus() string

func (*ConnectionCheckResponse) ProtoMessage

func (*ConnectionCheckResponse) ProtoMessage()

func (*ConnectionCheckResponse) ProtoReflect

func (x *ConnectionCheckResponse) ProtoReflect() protoreflect.Message

func (*ConnectionCheckResponse) Reset

func (x *ConnectionCheckResponse) Reset()

func (*ConnectionCheckResponse) String

func (x *ConnectionCheckResponse) String() string

type IntentGraphMode

type IntentGraphMode int32

Represents form that the response will come in Either Intent or Knowledge Graph (only one should have a valid response)

const (
	IntentGraphMode_UNKNOWN         IntentGraphMode = 0
	IntentGraphMode_INTENT          IntentGraphMode = 1
	IntentGraphMode_KNOWLEDGE_GRAPH IntentGraphMode = 2
)

func (IntentGraphMode) Descriptor

func (IntentGraphMode) Enum

func (x IntentGraphMode) Enum() *IntentGraphMode

func (IntentGraphMode) EnumDescriptor deprecated

func (IntentGraphMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use IntentGraphMode.Descriptor instead.

func (IntentGraphMode) Number

func (IntentGraphMode) String

func (x IntentGraphMode) String() string

func (IntentGraphMode) Type

type IntentGraphResponse

type IntentGraphResponse struct {

	// Session of the request.
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Robot identifier.
	DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Shows which response should be expected (Intent or Knowledge Graph)
	ResponseType IntentGraphMode `` /* 132-byte string literal not displayed */
	// Final response flag. If set to `true`, this will be the last response.
	IsFinal bool `protobuf:"varint,4,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
	// Intent result. Only available when is_final is `true`.
	IntentResult *IntentResult `protobuf:"bytes,5,opt,name=intent_result,json=intentResult,proto3" json:"intent_result,omitempty"`
	// Speech result. Available in the interim as speech is transcribed.
	SpeechResult *SpeechResult `protobuf:"bytes,6,opt,name=speech_result,json=speechResult,proto3" json:"speech_result,omitempty"`
	// Optional. Robot mode for games and knowledge-graph. default is VOICE_COMMAND
	Mode RobotMode `protobuf:"varint,7,opt,name=mode,proto3,enum=chippergrpc2.RobotMode" json:"mode,omitempty"`
	// Transcribed text
	QueryText string `protobuf:"bytes,8,opt,name=query_text,json=queryText,proto3" json:"query_text,omitempty"`
	// Response to be spoken
	SpokenText string `protobuf:"bytes,9,opt,name=spoken_text,json=spokenText,proto3" json:"spoken_text,omitempty"`
	// What type of command is matched
	CommandType string `protobuf:"bytes,10,opt,name=command_type,json=commandType,proto3" json:"command_type,omitempty"`
	// which domains were used to match
	DomainsUsed []string `protobuf:"bytes,11,rep,name=domains_used,json=domainsUsed,proto3" json:"domains_used,omitempty"`
	// blob-id to audio saved in BlobStore, dev only for debugging.
	AudioId string `protobuf:"bytes,12,opt,name=audio_id,json=audioId,proto3" json:"audio_id,omitempty"`
	// contains filtered or unexported fields
}

Response message from server

func (*IntentGraphResponse) Descriptor deprecated

func (*IntentGraphResponse) Descriptor() ([]byte, []int)

Deprecated: Use IntentGraphResponse.ProtoReflect.Descriptor instead.

func (*IntentGraphResponse) GetAudioId

func (x *IntentGraphResponse) GetAudioId() string

func (*IntentGraphResponse) GetCommandType

func (x *IntentGraphResponse) GetCommandType() string

func (*IntentGraphResponse) GetDeviceId

func (x *IntentGraphResponse) GetDeviceId() string

func (*IntentGraphResponse) GetDomainsUsed

func (x *IntentGraphResponse) GetDomainsUsed() []string

func (*IntentGraphResponse) GetIntentResult

func (x *IntentGraphResponse) GetIntentResult() *IntentResult

func (*IntentGraphResponse) GetIsFinal

func (x *IntentGraphResponse) GetIsFinal() bool

func (*IntentGraphResponse) GetMode

func (x *IntentGraphResponse) GetMode() RobotMode

func (*IntentGraphResponse) GetQueryText

func (x *IntentGraphResponse) GetQueryText() string

func (*IntentGraphResponse) GetResponseType

func (x *IntentGraphResponse) GetResponseType() IntentGraphMode

func (*IntentGraphResponse) GetSession

func (x *IntentGraphResponse) GetSession() string

func (*IntentGraphResponse) GetSpeechResult

func (x *IntentGraphResponse) GetSpeechResult() *SpeechResult

func (*IntentGraphResponse) GetSpokenText

func (x *IntentGraphResponse) GetSpokenText() string

func (*IntentGraphResponse) ProtoMessage

func (*IntentGraphResponse) ProtoMessage()

func (*IntentGraphResponse) ProtoReflect

func (x *IntentGraphResponse) ProtoReflect() protoreflect.Message

func (*IntentGraphResponse) Reset

func (x *IntentGraphResponse) Reset()

func (*IntentGraphResponse) String

func (x *IntentGraphResponse) String() string

type IntentResponse

type IntentResponse struct {

	// Session of the request.
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Robot identifier.
	DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Final response flag. If set to `true`, this will be the last response.
	IsFinal bool `protobuf:"varint,3,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
	// Intent result. Only available when is_final is `true`.
	IntentResult *IntentResult `protobuf:"bytes,4,opt,name=intent_result,json=intentResult,proto3" json:"intent_result,omitempty"`
	// Speech result. Available in the interim as speech is transcribed.
	SpeechResult *SpeechResult `protobuf:"bytes,5,opt,name=speech_result,json=speechResult,proto3" json:"speech_result,omitempty"`
	// Optional. Robot mode for games and knowledge-graph. default is VOICE_COMMAND
	Mode RobotMode `protobuf:"varint,6,opt,name=mode,proto3,enum=chippergrpc2.RobotMode" json:"mode,omitempty"`
	// blob-id to audio saved in BlobStore, dev only for debugging.
	AudioId string `protobuf:"bytes,16,opt,name=audio_id,json=audioId,proto3" json:"audio_id,omitempty"`
	// contains filtered or unexported fields
}

Response message from server

func (*IntentResponse) Descriptor deprecated

func (*IntentResponse) Descriptor() ([]byte, []int)

Deprecated: Use IntentResponse.ProtoReflect.Descriptor instead.

func (*IntentResponse) GetAudioId

func (x *IntentResponse) GetAudioId() string

func (*IntentResponse) GetDeviceId

func (x *IntentResponse) GetDeviceId() string

func (*IntentResponse) GetIntentResult

func (x *IntentResponse) GetIntentResult() *IntentResult

func (*IntentResponse) GetIsFinal

func (x *IntentResponse) GetIsFinal() bool

func (*IntentResponse) GetMode

func (x *IntentResponse) GetMode() RobotMode

func (*IntentResponse) GetSession

func (x *IntentResponse) GetSession() string

func (*IntentResponse) GetSpeechResult

func (x *IntentResponse) GetSpeechResult() *SpeechResult

func (*IntentResponse) ProtoMessage

func (*IntentResponse) ProtoMessage()

func (*IntentResponse) ProtoReflect

func (x *IntentResponse) ProtoReflect() protoreflect.Message

func (*IntentResponse) Reset

func (x *IntentResponse) Reset()

func (*IntentResponse) String

func (x *IntentResponse) String() string

type IntentResult

type IntentResult struct {

	// Transcribed text used for matching.
	QueryText string `protobuf:"bytes,1,opt,name=query_text,json=queryText,proto3" json:"query_text,omitempty"`
	// Matched intent name.
	Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"`
	// Intent-matching confidence. Value between 0.0 and 1.0 (absolutely certain).
	IntentConfidence float32 `protobuf:"fixed32,3,opt,name=intent_confidence,json=intentConfidence,proto3" json:"intent_confidence,omitempty"`
	// Speech recognition confidence. Higher is better.
	// 0.0 is a sentinel value representing no value set.
	SpeechConfidence float32 `protobuf:"fixed32,4,opt,name=speech_confidence,json=speechConfidence,proto3" json:"speech_confidence,omitempty"`
	// Collection of extracted entities if available.
	// google.protobuf.Struct parameters = 5;
	Parameters map[string]string `` /* 161-byte string literal not displayed */
	// All expected entities are parsed correctly.
	AllParametersPresent bool `protobuf:"varint,6,opt,name=all_parameters_present,json=allParametersPresent,proto3" json:"all_parameters_present,omitempty"`
	// Context flag. If `true`, next request should use same session string
	HasContext bool          `protobuf:"varint,7,opt,name=has_context,json=hasContext,proto3" json:"has_context,omitempty"`
	Service    IntentService `protobuf:"varint,8,opt,name=service,proto3,enum=chippergrpc2.IntentService" json:"service,omitempty"`
	// Embed a knowledge graph response if one is available.  This also ensures backwards compatibility
	// with older robots who won't know whether to look for this or not.
	Kgresponse *KnowledgeGraphResponse `protobuf:"bytes,9,opt,name=kgresponse,proto3" json:"kgresponse,omitempty"`
	// contains filtered or unexported fields
}

func (*IntentResult) Descriptor deprecated

func (*IntentResult) Descriptor() ([]byte, []int)

Deprecated: Use IntentResult.ProtoReflect.Descriptor instead.

func (*IntentResult) GetAction

func (x *IntentResult) GetAction() string

func (*IntentResult) GetAllParametersPresent

func (x *IntentResult) GetAllParametersPresent() bool

func (*IntentResult) GetHasContext

func (x *IntentResult) GetHasContext() bool

func (*IntentResult) GetIntentConfidence

func (x *IntentResult) GetIntentConfidence() float32

func (*IntentResult) GetKgresponse

func (x *IntentResult) GetKgresponse() *KnowledgeGraphResponse

func (*IntentResult) GetParameters

func (x *IntentResult) GetParameters() map[string]string

func (*IntentResult) GetQueryText

func (x *IntentResult) GetQueryText() string

func (*IntentResult) GetService

func (x *IntentResult) GetService() IntentService

func (*IntentResult) GetSpeechConfidence

func (x *IntentResult) GetSpeechConfidence() float32

func (*IntentResult) ProtoMessage

func (*IntentResult) ProtoMessage()

func (*IntentResult) ProtoReflect

func (x *IntentResult) ProtoReflect() protoreflect.Message

func (*IntentResult) Reset

func (x *IntentResult) Reset()

func (*IntentResult) String

func (x *IntentResult) String() string

type IntentService

type IntentService int32
const (
	IntentService_DEFAULT    IntentService = 0
	IntentService_DIALOGFLOW IntentService = 1
	IntentService_BING_LUIS  IntentService = 2
	IntentService_LEX        IntentService = 3
	IntentService_HOUNDIFY   IntentService = 4
)

func (IntentService) Descriptor

func (IntentService) Enum

func (x IntentService) Enum() *IntentService

func (IntentService) EnumDescriptor deprecated

func (IntentService) EnumDescriptor() ([]byte, []int)

Deprecated: Use IntentService.Descriptor instead.

func (IntentService) Number

func (IntentService) String

func (x IntentService) String() string

func (IntentService) Type

type KnowledgeGraphResponse

type KnowledgeGraphResponse struct {

	// Session of the request.
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Robot identifier.
	DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Transcribed text
	QueryText string `protobuf:"bytes,3,opt,name=query_text,json=queryText,proto3" json:"query_text,omitempty"`
	// Response to be spoken
	SpokenText string `protobuf:"bytes,4,opt,name=spoken_text,json=spokenText,proto3" json:"spoken_text,omitempty"`
	// What type of command is matched
	CommandType string `protobuf:"bytes,5,opt,name=command_type,json=commandType,proto3" json:"command_type,omitempty"`
	// which domains were used to match
	DomainsUsed []string `protobuf:"bytes,6,rep,name=domains_used,json=domainsUsed,proto3" json:"domains_used,omitempty"`
	// blob-id to audio saved in BlobStore, dev only for debugging.
	AudioId string `protobuf:"bytes,7,opt,name=audio_id,json=audioId,proto3" json:"audio_id,omitempty"`
	// contains filtered or unexported fields
}

func (*KnowledgeGraphResponse) Descriptor deprecated

func (*KnowledgeGraphResponse) Descriptor() ([]byte, []int)

Deprecated: Use KnowledgeGraphResponse.ProtoReflect.Descriptor instead.

func (*KnowledgeGraphResponse) GetAudioId

func (x *KnowledgeGraphResponse) GetAudioId() string

func (*KnowledgeGraphResponse) GetCommandType

func (x *KnowledgeGraphResponse) GetCommandType() string

func (*KnowledgeGraphResponse) GetDeviceId

func (x *KnowledgeGraphResponse) GetDeviceId() string

func (*KnowledgeGraphResponse) GetDomainsUsed

func (x *KnowledgeGraphResponse) GetDomainsUsed() []string

func (*KnowledgeGraphResponse) GetQueryText

func (x *KnowledgeGraphResponse) GetQueryText() string

func (*KnowledgeGraphResponse) GetSession

func (x *KnowledgeGraphResponse) GetSession() string

func (*KnowledgeGraphResponse) GetSpokenText

func (x *KnowledgeGraphResponse) GetSpokenText() string

func (*KnowledgeGraphResponse) ProtoMessage

func (*KnowledgeGraphResponse) ProtoMessage()

func (*KnowledgeGraphResponse) ProtoReflect

func (x *KnowledgeGraphResponse) ProtoReflect() protoreflect.Message

func (*KnowledgeGraphResponse) Reset

func (x *KnowledgeGraphResponse) Reset()

func (*KnowledgeGraphResponse) String

func (x *KnowledgeGraphResponse) String() string

type LanguageCode

type LanguageCode int32

Supported languages

const (
	LanguageCode_ENGLISH_US LanguageCode = 0 // default if not specified
	LanguageCode_ENGLISH_UK LanguageCode = 1
	LanguageCode_ENGLISH_AU LanguageCode = 2
	LanguageCode_GERMAN     LanguageCode = 3
	LanguageCode_FRENCH     LanguageCode = 4
)

func (LanguageCode) Descriptor

func (LanguageCode) Enum

func (x LanguageCode) Enum() *LanguageCode

func (LanguageCode) EnumDescriptor deprecated

func (LanguageCode) EnumDescriptor() ([]byte, []int)

Deprecated: Use LanguageCode.Descriptor instead.

func (LanguageCode) Number

func (LanguageCode) String

func (x LanguageCode) String() string

func (LanguageCode) Type

type RobotMode

type RobotMode int32

FIXME: Add one for knowledge Graph?

const (
	RobotMode_VOICE_COMMAND RobotMode = 0 // default is voice command mode if not specified
	RobotMode_GAME          RobotMode = 1
)

func (RobotMode) Descriptor

func (RobotMode) Descriptor() protoreflect.EnumDescriptor

func (RobotMode) Enum

func (x RobotMode) Enum() *RobotMode

func (RobotMode) EnumDescriptor deprecated

func (RobotMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use RobotMode.Descriptor instead.

func (RobotMode) Number

func (x RobotMode) Number() protoreflect.EnumNumber

func (RobotMode) String

func (x RobotMode) String() string

func (RobotMode) Type

type SpeechResult

type SpeechResult struct {

	// Text from transcribed audio.
	Transcript string `protobuf:"bytes,1,opt,name=transcript,proto3" json:"transcript,omitempty"`
	// Final result flag. If `false`, represents an interim result.
	// If `true`, the ASR will not process any additional audio.
	IsFinal bool `protobuf:"varint,2,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
	// contains filtered or unexported fields
}

func (*SpeechResult) Descriptor deprecated

func (*SpeechResult) Descriptor() ([]byte, []int)

Deprecated: Use SpeechResult.ProtoReflect.Descriptor instead.

func (*SpeechResult) GetIsFinal

func (x *SpeechResult) GetIsFinal() bool

func (*SpeechResult) GetTranscript

func (x *SpeechResult) GetTranscript() string

func (*SpeechResult) ProtoMessage

func (*SpeechResult) ProtoMessage()

func (*SpeechResult) ProtoReflect

func (x *SpeechResult) ProtoReflect() protoreflect.Message

func (*SpeechResult) Reset

func (x *SpeechResult) Reset()

func (*SpeechResult) String

func (x *SpeechResult) String() string

type StreamingConnectionCheckRequest

type StreamingConnectionCheckRequest struct {

	// Required. Can be random number or user identifier.
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Required. Robot identifier.
	DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Required. Fake audio for connection check. 100ms chunks of 16k SR, 1-channel
	InputAudio []byte `protobuf:"bytes,3,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
	// Required. Robot firmware version. Use for stats
	FirmwareVersion string `protobuf:"bytes,4,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
	// Required for now till TMS is ready. Anki application key
	AppKey string `protobuf:"bytes,5,opt,name=app_key,json=appKey,proto3" json:"app_key,omitempty"`
	// Required. How many ms of audio total will be sent up
	TotalAudioMs uint32 `protobuf:"varint,6,opt,name=total_audio_ms,json=totalAudioMs,proto3" json:"total_audio_ms,omitempty"`
	// Required. How many ms of audio will be sent per request
	AudioPerRequest uint32 `protobuf:"varint,7,opt,name=audio_per_request,json=audioPerRequest,proto3" json:"audio_per_request,omitempty"`
	// contains filtered or unexported fields
}

func (*StreamingConnectionCheckRequest) Descriptor deprecated

func (*StreamingConnectionCheckRequest) Descriptor() ([]byte, []int)

Deprecated: Use StreamingConnectionCheckRequest.ProtoReflect.Descriptor instead.

func (*StreamingConnectionCheckRequest) GetAppKey

func (x *StreamingConnectionCheckRequest) GetAppKey() string

func (*StreamingConnectionCheckRequest) GetAudioPerRequest

func (x *StreamingConnectionCheckRequest) GetAudioPerRequest() uint32

func (*StreamingConnectionCheckRequest) GetDeviceId

func (x *StreamingConnectionCheckRequest) GetDeviceId() string

func (*StreamingConnectionCheckRequest) GetFirmwareVersion

func (x *StreamingConnectionCheckRequest) GetFirmwareVersion() string

func (*StreamingConnectionCheckRequest) GetInputAudio

func (x *StreamingConnectionCheckRequest) GetInputAudio() []byte

func (*StreamingConnectionCheckRequest) GetSession

func (x *StreamingConnectionCheckRequest) GetSession() string

func (*StreamingConnectionCheckRequest) GetTotalAudioMs

func (x *StreamingConnectionCheckRequest) GetTotalAudioMs() uint32

func (*StreamingConnectionCheckRequest) ProtoMessage

func (*StreamingConnectionCheckRequest) ProtoMessage()

func (*StreamingConnectionCheckRequest) ProtoReflect

func (*StreamingConnectionCheckRequest) Reset

func (*StreamingConnectionCheckRequest) String

type StreamingIntentGraphRequest

type StreamingIntentGraphRequest struct {

	// Required. Can be random number or user identifier.
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Required. Robot identifier.
	DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Required. Input audio content format: 16k SR, 1-channel, 100ms chunks.
	InputAudio []byte `protobuf:"bytes,3,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
	// Optional. Specify language for intent-service, default is ENGLISH_US
	LanguageCode LanguageCode `` /* 129-byte string literal not displayed */
	// Optional. ASR only using Bing Speech (for now).
	// Returns text transcript with intent_speech_only. Default is false
	SpeechOnly bool `protobuf:"varint,5,opt,name=speech_only,json=speechOnly,proto3" json:"speech_only,omitempty"`
	// Required. Robot firmware version. Use to choose intent-service version.
	FirmwareVersion string `protobuf:"bytes,6,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
	// Optional. Robot mode for games and knowledge-graph. default is VOICE_COMMAND
	Mode RobotMode `protobuf:"varint,7,opt,name=mode,proto3,enum=chippergrpc2.RobotMode" json:"mode,omitempty"`
	// Optional. boot_id for DAS cloud event
	BootId string `protobuf:"bytes,8,opt,name=boot_id,json=bootId,proto3" json:"boot_id,omitempty"`
	// Required. Skip DAS will turn off DAS logging, for GDPR
	SkipDas bool `protobuf:"varint,9,opt,name=skip_das,json=skipDas,proto3" json:"skip_das,omitempty"`
	// Optional. Choose audio encoding, default is PCM 16K
	AudioEncoding AudioEncoding `` /* 134-byte string literal not displayed */
	// Optional. If using dialogflow, set single_utterance true to use dialogflow-VAD.
	SingleUtterance bool `protobuf:"varint,11,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"`
	// Optional. Default is whatever that is defined on Chipper Cloud.
	IntentService IntentService `` /* 134-byte string literal not displayed */
	// Required for now till TMS is ready. Anki application key
	AppKey string `protobuf:"bytes,13,opt,name=app_key,json=appKey,proto3" json:"app_key,omitempty"`
	// Optional. Timezone from robot
	Timezone string `protobuf:"bytes,14,opt,name=timezone,proto3" json:"timezone,omitempty"`
	// Optional. Set whether to save-audio in Dev
	SaveAudio bool `protobuf:"varint,15,opt,name=save_audio,json=saveAudio,proto3" json:"save_audio,omitempty"`
	// contains filtered or unexported fields
}

func (*StreamingIntentGraphRequest) Descriptor deprecated

func (*StreamingIntentGraphRequest) Descriptor() ([]byte, []int)

Deprecated: Use StreamingIntentGraphRequest.ProtoReflect.Descriptor instead.

func (*StreamingIntentGraphRequest) GetAppKey

func (x *StreamingIntentGraphRequest) GetAppKey() string

func (*StreamingIntentGraphRequest) GetAudioEncoding

func (x *StreamingIntentGraphRequest) GetAudioEncoding() AudioEncoding

func (*StreamingIntentGraphRequest) GetBootId

func (x *StreamingIntentGraphRequest) GetBootId() string

func (*StreamingIntentGraphRequest) GetDeviceId

func (x *StreamingIntentGraphRequest) GetDeviceId() string

func (*StreamingIntentGraphRequest) GetFirmwareVersion

func (x *StreamingIntentGraphRequest) GetFirmwareVersion() string

func (*StreamingIntentGraphRequest) GetInputAudio

func (x *StreamingIntentGraphRequest) GetInputAudio() []byte

func (*StreamingIntentGraphRequest) GetIntentService

func (x *StreamingIntentGraphRequest) GetIntentService() IntentService

func (*StreamingIntentGraphRequest) GetLanguageCode

func (x *StreamingIntentGraphRequest) GetLanguageCode() LanguageCode

func (*StreamingIntentGraphRequest) GetMode

func (*StreamingIntentGraphRequest) GetSaveAudio

func (x *StreamingIntentGraphRequest) GetSaveAudio() bool

func (*StreamingIntentGraphRequest) GetSession

func (x *StreamingIntentGraphRequest) GetSession() string

func (*StreamingIntentGraphRequest) GetSingleUtterance

func (x *StreamingIntentGraphRequest) GetSingleUtterance() bool

func (*StreamingIntentGraphRequest) GetSkipDas

func (x *StreamingIntentGraphRequest) GetSkipDas() bool

func (*StreamingIntentGraphRequest) GetSpeechOnly

func (x *StreamingIntentGraphRequest) GetSpeechOnly() bool

func (*StreamingIntentGraphRequest) GetTimezone

func (x *StreamingIntentGraphRequest) GetTimezone() string

func (*StreamingIntentGraphRequest) ProtoMessage

func (*StreamingIntentGraphRequest) ProtoMessage()

func (*StreamingIntentGraphRequest) ProtoReflect

func (*StreamingIntentGraphRequest) Reset

func (x *StreamingIntentGraphRequest) Reset()

func (*StreamingIntentGraphRequest) String

func (x *StreamingIntentGraphRequest) String() string

type StreamingIntentRequest

type StreamingIntentRequest struct {

	// Required. Can be random number or user identifier.
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Required. Robot identifier.
	DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Required. Input audio content format: 16k SR, 1-channel, 100ms chunks.
	InputAudio []byte `protobuf:"bytes,3,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
	// Optional. Specify language for intent-service, default is ENGLISH_US
	LanguageCode LanguageCode `` /* 129-byte string literal not displayed */
	// Optional. ASR only using Bing Speech (for now).
	// Returns text transcript with intent_speech_only. Default is false
	SpeechOnly bool `protobuf:"varint,5,opt,name=speech_only,json=speechOnly,proto3" json:"speech_only,omitempty"`
	// Required. Robot firmware version. Use to choose intent-service version.
	FirmwareVersion string `protobuf:"bytes,6,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
	// Optional. Robot mode for games and knowledge-graph. default is VOICE_COMMAND
	Mode RobotMode `protobuf:"varint,7,opt,name=mode,proto3,enum=chippergrpc2.RobotMode" json:"mode,omitempty"`
	// Optional. boot_id for DAS cloud event
	BootId string `protobuf:"bytes,8,opt,name=boot_id,json=bootId,proto3" json:"boot_id,omitempty"`
	// Required. Skip DAS will turn off DAS logging, for GDPR
	SkipDas bool `protobuf:"varint,9,opt,name=skip_das,json=skipDas,proto3" json:"skip_das,omitempty"`
	// Optional. Choose audio encoding, default is PCM 16K
	AudioEncoding AudioEncoding `` /* 134-byte string literal not displayed */
	// Optional. If using dialogflow, set single_utterance true to use dialogflow-VAD.
	SingleUtterance bool `protobuf:"varint,14,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"`
	// Optional. Default is whatever that is defined on Chipper Cloud.
	IntentService IntentService `` /* 134-byte string literal not displayed */
	// Required for now till TMS is ready. Anki application key
	AppKey string `protobuf:"bytes,16,opt,name=app_key,json=appKey,proto3" json:"app_key,omitempty"`
	// Optional. Set whether to save-audio in Dev
	SaveAudio bool `protobuf:"varint,17,opt,name=save_audio,json=saveAudio,proto3" json:"save_audio,omitempty"`
	// contains filtered or unexported fields
}

func (*StreamingIntentRequest) Descriptor deprecated

func (*StreamingIntentRequest) Descriptor() ([]byte, []int)

Deprecated: Use StreamingIntentRequest.ProtoReflect.Descriptor instead.

func (*StreamingIntentRequest) GetAppKey

func (x *StreamingIntentRequest) GetAppKey() string

func (*StreamingIntentRequest) GetAudioEncoding

func (x *StreamingIntentRequest) GetAudioEncoding() AudioEncoding

func (*StreamingIntentRequest) GetBootId

func (x *StreamingIntentRequest) GetBootId() string

func (*StreamingIntentRequest) GetDeviceId

func (x *StreamingIntentRequest) GetDeviceId() string

func (*StreamingIntentRequest) GetFirmwareVersion

func (x *StreamingIntentRequest) GetFirmwareVersion() string

func (*StreamingIntentRequest) GetInputAudio

func (x *StreamingIntentRequest) GetInputAudio() []byte

func (*StreamingIntentRequest) GetIntentService

func (x *StreamingIntentRequest) GetIntentService() IntentService

func (*StreamingIntentRequest) GetLanguageCode

func (x *StreamingIntentRequest) GetLanguageCode() LanguageCode

func (*StreamingIntentRequest) GetMode

func (x *StreamingIntentRequest) GetMode() RobotMode

func (*StreamingIntentRequest) GetSaveAudio

func (x *StreamingIntentRequest) GetSaveAudio() bool

func (*StreamingIntentRequest) GetSession

func (x *StreamingIntentRequest) GetSession() string

func (*StreamingIntentRequest) GetSingleUtterance

func (x *StreamingIntentRequest) GetSingleUtterance() bool

func (*StreamingIntentRequest) GetSkipDas

func (x *StreamingIntentRequest) GetSkipDas() bool

func (*StreamingIntentRequest) GetSpeechOnly

func (x *StreamingIntentRequest) GetSpeechOnly() bool

func (*StreamingIntentRequest) ProtoMessage

func (*StreamingIntentRequest) ProtoMessage()

func (*StreamingIntentRequest) ProtoReflect

func (x *StreamingIntentRequest) ProtoReflect() protoreflect.Message

func (*StreamingIntentRequest) Reset

func (x *StreamingIntentRequest) Reset()

func (*StreamingIntentRequest) String

func (x *StreamingIntentRequest) String() string

type StreamingKnowledgeGraphRequest

type StreamingKnowledgeGraphRequest struct {

	// Required. Can be random number or user identifier.
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Required. Robot identifier.
	DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Required. Input audio content format: 16k SR, 1-channel, 100ms chunks
	InputAudio []byte `protobuf:"bytes,3,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
	// Optional. Specify language for intent-service, default is ENGLISH_US
	LanguageCode LanguageCode `` /* 129-byte string literal not displayed */
	// Required. Robot firmware version. Use for stats
	FirmwareVersion string `protobuf:"bytes,5,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
	// Optional. Choose audio encoding, default is PCM 16K
	AudioEncoding AudioEncoding `` /* 133-byte string literal not displayed */
	// Required for now till TMS is ready. Anki application key
	AppKey string `protobuf:"bytes,7,opt,name=app_key,json=appKey,proto3" json:"app_key,omitempty"`
	// Optional. Set whether to save-audio in Dev
	SaveAudio bool `protobuf:"varint,8,opt,name=save_audio,json=saveAudio,proto3" json:"save_audio,omitempty"`
	// Optional. boot_id for DAS cloud event
	BootId string `protobuf:"bytes,9,opt,name=boot_id,json=bootId,proto3" json:"boot_id,omitempty"`
	// Required. Skip DAS will turn off DAS logging, for GDPR
	SkipDas bool `protobuf:"varint,10,opt,name=skip_das,json=skipDas,proto3" json:"skip_das,omitempty"`
	// Optional. Timezone from robot
	Timezone string `protobuf:"bytes,11,opt,name=timezone,proto3" json:"timezone,omitempty"`
	// contains filtered or unexported fields
}

func (*StreamingKnowledgeGraphRequest) Descriptor deprecated

func (*StreamingKnowledgeGraphRequest) Descriptor() ([]byte, []int)

Deprecated: Use StreamingKnowledgeGraphRequest.ProtoReflect.Descriptor instead.

func (*StreamingKnowledgeGraphRequest) GetAppKey

func (x *StreamingKnowledgeGraphRequest) GetAppKey() string

func (*StreamingKnowledgeGraphRequest) GetAudioEncoding

func (x *StreamingKnowledgeGraphRequest) GetAudioEncoding() AudioEncoding

func (*StreamingKnowledgeGraphRequest) GetBootId

func (x *StreamingKnowledgeGraphRequest) GetBootId() string

func (*StreamingKnowledgeGraphRequest) GetDeviceId

func (x *StreamingKnowledgeGraphRequest) GetDeviceId() string

func (*StreamingKnowledgeGraphRequest) GetFirmwareVersion

func (x *StreamingKnowledgeGraphRequest) GetFirmwareVersion() string

func (*StreamingKnowledgeGraphRequest) GetInputAudio

func (x *StreamingKnowledgeGraphRequest) GetInputAudio() []byte

func (*StreamingKnowledgeGraphRequest) GetLanguageCode

func (x *StreamingKnowledgeGraphRequest) GetLanguageCode() LanguageCode

func (*StreamingKnowledgeGraphRequest) GetSaveAudio

func (x *StreamingKnowledgeGraphRequest) GetSaveAudio() bool

func (*StreamingKnowledgeGraphRequest) GetSession

func (x *StreamingKnowledgeGraphRequest) GetSession() string

func (*StreamingKnowledgeGraphRequest) GetSkipDas

func (x *StreamingKnowledgeGraphRequest) GetSkipDas() bool

func (*StreamingKnowledgeGraphRequest) GetTimezone

func (x *StreamingKnowledgeGraphRequest) GetTimezone() string

func (*StreamingKnowledgeGraphRequest) ProtoMessage

func (*StreamingKnowledgeGraphRequest) ProtoMessage()

func (*StreamingKnowledgeGraphRequest) ProtoReflect

func (*StreamingKnowledgeGraphRequest) Reset

func (x *StreamingKnowledgeGraphRequest) Reset()

func (*StreamingKnowledgeGraphRequest) String

type TextRequest

type TextRequest struct {

	// Required. Can be random number or user identifier.
	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
	// Required. Robot identifier.
	DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Required. Text of query
	TextInput string `protobuf:"bytes,3,opt,name=text_input,json=textInput,proto3" json:"text_input,omitempty"`
	// Optional. Specify language for intent-service, default is ENGLISH_US
	LanguageCode LanguageCode `` /* 129-byte string literal not displayed */
	// Optional. Choose intent-service to process request, default is server's default
	IntentService IntentService `` /* 133-byte string literal not displayed */
	// Required. Robot firmware version. Use to choose intent-service version.
	FirmwareVersion string `protobuf:"bytes,6,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"`
	// Optional. Robot mode for games and knowledge-graph. default is VOICE_COMMAND
	Mode RobotMode `protobuf:"varint,7,opt,name=mode,proto3,enum=chippergrpc2.RobotMode" json:"mode,omitempty"`
	// Required. Skip DAS will turn off DAS logging, for GDPR
	SkipDas bool `protobuf:"varint,8,opt,name=skip_das,json=skipDas,proto3" json:"skip_das,omitempty"`
	// contains filtered or unexported fields
}

func (*TextRequest) Descriptor deprecated

func (*TextRequest) Descriptor() ([]byte, []int)

Deprecated: Use TextRequest.ProtoReflect.Descriptor instead.

func (*TextRequest) GetDeviceId

func (x *TextRequest) GetDeviceId() string

func (*TextRequest) GetFirmwareVersion

func (x *TextRequest) GetFirmwareVersion() string

func (*TextRequest) GetIntentService

func (x *TextRequest) GetIntentService() IntentService

func (*TextRequest) GetLanguageCode

func (x *TextRequest) GetLanguageCode() LanguageCode

func (*TextRequest) GetMode

func (x *TextRequest) GetMode() RobotMode

func (*TextRequest) GetSession

func (x *TextRequest) GetSession() string

func (*TextRequest) GetSkipDas

func (x *TextRequest) GetSkipDas() bool

func (*TextRequest) GetTextInput

func (x *TextRequest) GetTextInput() string

func (*TextRequest) ProtoMessage

func (*TextRequest) ProtoMessage()

func (*TextRequest) ProtoReflect

func (x *TextRequest) ProtoReflect() protoreflect.Message

func (*TextRequest) Reset

func (x *TextRequest) Reset()

func (*TextRequest) String

func (x *TextRequest) String() string

type UnimplementedChipperGrpcServer

type UnimplementedChipperGrpcServer struct {
}

UnimplementedChipperGrpcServer must be embedded to have forward compatible implementations.

func (UnimplementedChipperGrpcServer) StreamingConnectionCheck

func (UnimplementedChipperGrpcServer) StreamingIntent

func (UnimplementedChipperGrpcServer) StreamingIntentGraph

func (UnimplementedChipperGrpcServer) StreamingKnowledgeGraph

func (UnimplementedChipperGrpcServer) TextIntent

type UnsafeChipperGrpcServer

type UnsafeChipperGrpcServer interface {
	// contains filtered or unexported methods
}

UnsafeChipperGrpcServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ChipperGrpcServer will result in compilation errors.

type WeatherLocation

type WeatherLocation struct {
	City  string `protobuf:"bytes,1,opt,name=city,proto3" json:"city,omitempty"`
	State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	// ISO 2-letter
	Country string `protobuf:"bytes,3,opt,name=country,proto3" json:"country,omitempty"`
	// contains filtered or unexported fields
}

func (*WeatherLocation) Descriptor deprecated

func (*WeatherLocation) Descriptor() ([]byte, []int)

Deprecated: Use WeatherLocation.ProtoReflect.Descriptor instead.

func (*WeatherLocation) GetCity

func (x *WeatherLocation) GetCity() string

func (*WeatherLocation) GetCountry

func (x *WeatherLocation) GetCountry() string

func (*WeatherLocation) GetState

func (x *WeatherLocation) GetState() string

func (*WeatherLocation) ProtoMessage

func (*WeatherLocation) ProtoMessage()

func (*WeatherLocation) ProtoReflect

func (x *WeatherLocation) ProtoReflect() protoreflect.Message

func (*WeatherLocation) Reset

func (x *WeatherLocation) Reset()

func (*WeatherLocation) String

func (x *WeatherLocation) String() string

Jump to

Keyboard shortcuts

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