fun startCodeFixJob()

in plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/credentials/CodeWhispererClientAdaptor.kt [77:255]


    fun startCodeFixJob(request: StartCodeFixJobRequest): StartCodeFixJobResponse

    fun getCodeFixJob(request: GetCodeFixJobRequest): GetCodeFixJobResponse

    fun listAvailableCustomizations(): List<CodeWhispererCustomization>

    fun startTestGeneration(uploadId: String, targetCode: List<TargetCode>, userInput: String): StartTestGenerationResponse

    fun getTestGeneration(jobId: String, jobGroupName: String): GetTestGenerationResponse

    fun sendUserTriggerDecisionTelemetry(
        requestContext: RequestContext,
        responseContext: ResponseContext,
        completionType: CodewhispererCompletionType,
        suggestionState: CodewhispererSuggestionState,
        suggestionReferenceCount: Int,
        lineCount: Int,
        numberOfRecommendations: Int,
        acceptedCharCount: Int,
    ): SendTelemetryEventResponse

    fun sendUserTriggerDecisionTelemetry(
        sessionContext: SessionContextNew,
        requestContext: RequestContextNew,
        responseContext: ResponseContext,
        completionType: CodewhispererCompletionType,
        suggestionState: CodewhispererSuggestionState,
        suggestionReferenceCount: Int,
        lineCount: Int,
        numberOfRecommendations: Int,
        acceptedCharCount: Int,
    ): SendTelemetryEventResponse

    fun sendCodePercentageTelemetry(
        language: CodeWhispererProgrammingLanguage,
        customizationArn: String?,
        acceptedTokenCount: Long,
        totalTokenCount: Long,
        unmodifiedAcceptedTokenCount: Long?,
        userWrittenCodeCharacterCount: Long?,
        userWrittenCodeLineCount: Long?,
    ): SendTelemetryEventResponse

    fun sendUserModificationTelemetry(
        sessionId: String,
        requestId: String,
        language: CodeWhispererProgrammingLanguage,
        customizationArn: String?,
        acceptedCharacterCount: Int,
        unmodifiedAcceptedTokenCount: Int,
    ): SendTelemetryEventResponse

    fun sendCodeScanTelemetry(
        language: CodeWhispererProgrammingLanguage,
        codeScanJobId: String?,
        scope: CodeWhispererConstants.CodeAnalysisScope,
    ): SendTelemetryEventResponse

    fun sendCodeScanSucceededTelemetry(
        language: CodeWhispererProgrammingLanguage,
        codeScanJobId: String?,
        scope: CodeWhispererConstants.CodeAnalysisScope,
        findings: Int,
    ): SendTelemetryEventResponse

    fun sendCodeScanFailedTelemetry(
        language: CodeWhispererProgrammingLanguage,
        codeScanJobId: String?,
        scope: CodeWhispererConstants.CodeAnalysisScope,
    ): SendTelemetryEventResponse

    fun sendCodeFixGenerationTelemetry(
        language: CodeWhispererProgrammingLanguage,
        codeFixJobId: String?,
        ruleId: String?,
        detectorId: String?,
        findingId: String?,
        linesOfCodeGenerated: Int?,
        charsOfCodeGenerated: Int?,
    ): SendTelemetryEventResponse

    fun sendCodeFixAcceptanceTelemetry(
        language: CodeWhispererProgrammingLanguage,
        codeFixJobId: String?,
        ruleId: String?,
        detectorId: String?,
        findingId: String?,
        linesOfCodeGenerated: Int?,
        charsOfCodeGenerated: Int?,
    ): SendTelemetryEventResponse

    fun sendCodeScanRemediationTelemetry(
        language: CodeWhispererProgrammingLanguage?,
        codeScanRemediationEventType: String?,
        detectorId: String?,
        findingId: String?,
        ruleId: String?,
        component: String?,
        reason: String?,
        result: String?,
        includesFix: Boolean?,
    ): SendTelemetryEventResponse

    fun sendTestGenerationEvent(
        jobId: String,
        groupName: String,
        language: CodeWhispererProgrammingLanguage?,
        ideCategory: IdeCategory?,
        numberOfUnitTestCasesGenerated: Int?,
        numberOfUnitTestCasesAccepted: Int?,
        linesOfCodeGenerated: Int?,
        linesOfCodeAccepted: Int?,
        charsOfCodeGenerated: Int?,
        charsOfCodeAccepted: Int?,
    ): SendTelemetryEventResponse

    fun listFeatureEvaluations(): ListFeatureEvaluationsResponse

    fun sendMetricDataTelemetry(eventName: String, metadata: Map<String, Any?>): SendTelemetryEventResponse

    fun sendChatAddMessageTelemetry(
        sessionId: String,
        requestId: String,
        userIntent: UserIntent?,
        hasCodeSnippet: Boolean?,
        programmingLanguage: String?,
        activeEditorTotalCharacters: Int?,
        timeToFirstChunkMilliseconds: Double?,
        timeBetweenChunks: List<Double>?,
        fullResponselatency: Double?,
        requestLength: Int?,
        responseLength: Int?,
        numberOfCodeBlocks: Int?,
        hasProjectLevelContext: Boolean?,
        customization: CodeWhispererCustomization?,
    ): SendTelemetryEventResponse

    fun sendChatInteractWithMessageTelemetry(
        sessionId: String,
        requestId: String,
        interactionType: ChatMessageInteractionType?,
        interactionTarget: String?,
        acceptedCharacterCount: Int?,
        acceptedSnippetHasReference: Boolean?,
        hasProjectLevelContext: Boolean?,
    ): SendTelemetryEventResponse

    fun sendChatInteractWithMessageTelemetry(event: ChatInteractWithMessageEvent): SendTelemetryEventResponse

    fun sendChatUserModificationTelemetry(
        sessionId: String,
        requestId: String,
        language: CodeWhispererProgrammingLanguage,
        modificationPercentage: Double,
        hasProjectLevelContext: Boolean?,
        customization: CodeWhispererCustomization?,
    ): SendTelemetryEventResponse

    fun sendInlineChatTelemetry(
        requestId: String,
        inputLength: Int?,
        numSelectedLines: Int?,
        codeIntent: Boolean?,
        userDecision: InlineChatUserDecision?,
        responseStartLatency: Double?,
        responseEndLatency: Double?,
        numSuggestionAddChars: Int?,
        numSuggestionAddLines: Int?,
        numSuggestionDelChars: Int?,
        numSuggestionDelLines: Int?,
        programmingLanguage: String?,
    ): SendTelemetryEventResponse

    companion object {
        fun getInstance(project: Project): CodeWhispererClientAdaptor = project.service()

        const val INVALID_CODESCANJOBID = "Invalid_CodeScanJobID"
        const val INVALID_CODEFIXJOBID = "Invalid_CodeFixJobID"
    }