Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,21 @@ endif::[]
ifdef::context[]
[id="configuring-dev-lightspeed-ide_{context}"]
endif::[]
= Using {ProductShortName} with Developer Lightspeed in IDE
= Using {ProductShortName} with Developer Lightspeed in an IDE

:context: configuring-dev-lightspeed-ide

[role="_abstract"]
You must configure the following settings in {mta-dl-full}:
As a Migrator, you must configure the Visual Studio Code Integrated Development Environment (IDE) to use the {mta-dl-full} plugin to run application analyses and generate code resolution suggestions.

You must configure the following settings in {mta-dl-plugin}:

* Visual Studio Code IDE settings.
* Profile settings that provide context before you request a code fix for a particular application.
* Profile settings that give context before you request a code fix for a particular application.

include::proc_configuring-developer-lightspeed-ide-settings.adoc[leveloffset=+1]
include::topics/developer-lightspeed/proc_configuring-developer-lightspeed-ide-settings.adoc[leveloffset=+1]

include::proc_configuring-developer-profile-settings.adoc[leveloffset=+1]
include::topics/developer-lightspeed/proc_configuring-developer-profile-settings.adoc[leveloffset=+1]

ifdef::parent-context-of-configuring-dev-lightspeed-ide[:context: {parent-context-of-configuring-dev-lightspeed-ide}]
ifndef::parent-context-of-configuring-dev-lightspeed-ide[:!context:]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ endif::[]
[role="_abstract"]
{mta-dl-plugin} provides the large language model (LLM) with the contextual prompt, migration hints, and solved examples to generate suggestions for resolving issues identified in the current code.

{mta-dl-plugin} is designed to be model agnostic. It works with LLMs that are run in different environments (in local containers, as local AI, or as a shared service) to support analyzing Java applications in a wide range of scenarios. You can choose an LLM from well-known providers, local models that you run from Ollama or Podman desktop, and OpenAI API compatible models.
{mta-dl-plugin} is model agnostic. It works with LLMs that are run in different environments (in local containers, as local AI, or as a shared service) to support analyzing Java applications in a wide range of scenarios. You can choose an LLM from well-known providers, local models that you run from Ollama or Podman desktop, and OpenAI API compatible models.

The code fix suggestions produced to resolve issues detected through an analysis depend on the LLM's capabilities.
The code fix suggestions that the LLM produces to resolve issues from an analysis depend on the LLM's capabilities.

You can run an LLM from the following generative AI providers:

Expand All @@ -34,11 +34,11 @@ You can also run OpenAI API-compatible LLMs deployed as:
* A service in your {ocp-name} AI cluster
* Locally in the Podman AI Lab in your system.

include::con_llm-service-openshift-ai.adoc[leveloffset=+1]
include::topics/developer-lightspeed/con_llm-service-openshift-ai.adoc[leveloffset=+1]

include::ref_llm-provider-configurations.adoc[leveloffset=+1]
include::topics/developer-lightspeed/ref_llm-provider-configurations.adoc[leveloffset=+1]

include::proc_configuring-llm-podman-desktop.adoc[leveloffset=+1]
include::topics/developer-lightspeed/proc_configuring-llm-podman-desktop.adoc[leveloffset=+1]

ifdef::parent-context-of-configuring-llm[:context: {parent-context-of-configuring-llm}]
ifndef::parent-context-of-configuring-llm[:!context:]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,29 @@ endif::[]
:context: getting-started

[role="_abstract"]
The Getting started section contains information to walk you through the prerequisites, persistent volume requirements, installation, and workflows that help you to decide how you want to use {mta-dl-full}.
You can view prerequisites, persistent volume requirements, installation, and workflows that help you to decide how you want to use the {mta-dl-full}.

[NOTE]
====
To get support for features in {mta-dl-plugin}, you require a Red Hat Advanced Developer Suite (RHADS) subscription.
====

include::topics/developer-lightspeed/con_prerequisites.adoc[leveloffset=+1]

include::topics/developer-lightspeed/con_persistent-volumes.adoc[leveloffset=+1]

include::topics/developer-lightspeed/con_installation.adoc[leveloffset=+1]

include::topics/developer-lightspeed/con_developer-lightspeed-pathways.adoc[leveloffset=+1]

include::topics/developer-lightspeed/proc_tackle-llm-secret.adoc[leveloffset=+1]

include::topics/developer-lightspeed/proc_tackle-enable-llm-proxy.adoc[leveloffset=+1]

include::topics/developer-lightspeed/ref_example-code-suggestion.adoc[leveloffset=+1]


ifdef::parent-context-of-getting-started[:context: {parent-context-of-getting-started}]
ifndef::parent-context-of-getting-started[:!context:]

:!getting-started:
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,18 @@ endif::[]
:context: run-dev-lightspeed-analysis

[role="_abstract"]
After you complete the configurations, the next step is running an analysis to identify the issues in the code and generate suggestions to resolve the issues. You can get suggestions to fix code by using {mta-dl-full}.

When you run an analysis, {ProductShortName} displays the issues in the *Analysis Results* view.
After you complete the configurations, the next step is running an analysis to identify the issues in the code and generate suggestions to resolve the issues.

When you request code fix suggestions, {mta-dl-plugin} performs the following tasks:

* Streams LLM messages that describe the issue description, resolution, and the file in which the updates are applied.
* Streams LLM messages that describe the issue description, resolution, and the file in which {mta-dl-plugin} applies the updates.
* Generates new files in the *Resolutions* pane. These files have the updates to the code to resolve the issues detected in the current analysis. You can review the changes, apply, or revert the updates.

If you apply all the resolutions, {mta-dl-plugin} applies the changes and triggers another analysis to check if there are more issues. Subsequent analysis reports fewer issues and incidents.

include::proc_apply-rag-resolution.adoc[leveloffset=+1]
include::topics/developer-lightspeed/proc_apply-rag-resolution.adoc[leveloffset=+1]

include::proc_running-agent-analysis.adoc[leveloffset=+1]
include::topics/developer-lightspeed/proc_running-agent-analysis.adoc[leveloffset=+1]

ifdef::parent-context-of-run-dev-lightspeed-analysis[:context: {parent-context-of-run-dev-lightspeed-analysis}]
ifndef::parent-context-of-run-dev-lightspeed-analysis[:!context:]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ endif::[]
[role="_abstract"]
Understand the {mta-dl-full} extension features, use cases, configurations, and the benefits of using the extension with a large language model (LLM) to generate AI-assisted code resolutions when you want to refactor large codebases.

include::con_intro-to-developer-lightspeed.adoc[leveloffset=+1]
include::topics/developer-lightspeed/con_intro-to-developer-lightspeed.adoc[leveloffset=+1]

include::con_dl-context.adoc[leveloffset=+1]
include::topics/developer-lightspeed/con_dl-context.adoc[leveloffset=+1]

include::con_solution_server.adoc[leveloffset=+1]
include::topics/developer-lightspeed/con_solution_server.adoc[leveloffset=+1]

include::con_agent-ai.adoc[leveloffset=+1]
include::topics/developer-lightspeed/con_agent-ai.adoc[leveloffset=+1]

include::ref_dl-benefits.adoc[leveloffset=+1]
include::topics/developer-lightspeed/ref_dl-benefits.adoc[leveloffset=+1]


ifdef::parent-context-of-understanding-dl[:context: {parent-context-of-understanding-dl}]
Expand Down
14 changes: 7 additions & 7 deletions docs/developer-lightspeed-guide/master.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
include::topics/templates/document-attributes.adoc[]
:_mod-docs-content-type: ASSEMBLY
[id="mta-developer-lightspeed"]
= Configuring and Using Red Hat Developer Lightspeed for MTA
= Configuring and using Red Hat Developer Lightspeed for MTA

:toc:
:toclevels: 4
Expand All @@ -11,16 +11,16 @@ include::topics/templates/document-attributes.adoc[]
:context: mta-developer-lightspeed
:mta-developer-lightspeed:

include::topics/developer-lightspeed/assembly_understanding_dl.adoc[leveloffset=+1]
include::assemblies/developer-lightspeed-guide/assembly_understanding_dl.adoc[leveloffset=+1]

include::topics/developer-lightspeed/assembly_getting-started.adoc[leveloffset=+1]
include::assemblies/developer-lightspeed-guide/assembly_getting-started.adoc[leveloffset=+1]

include::topics/developer-lightspeed/assembly_configuring_llm.adoc[leveloffset=+1]
include::assemblies/developer-lightspeed-guide/assembly_configuring_llm.adoc[leveloffset=+1]

include::topics/developer-lightspeed/assembly_configuring-dev-lightspeed-ide.adoc[leveloffset=+1]
include::assemblies/developer-lightspeed-guide/assembly_configuring-dev-lightspeed-ide.adoc[leveloffset=+1]

include::topics/developer-lightspeed/assembly_run-dev-lightspeed-analysis.adoc[leveloffset=+1]
include::assemblies/developer-lightspeed-guide/assembly_run-dev-lightspeed-analysis.adoc[leveloffset=+1]

include::topics/developer-lightspeed/con_developer-lightspeed-logs.adoc[leveloffset=+1]

:!mta-developer-lightspeed:
:mta-developer-lightspeed!:
44 changes: 0 additions & 44 deletions docs/topics/developer-lightspeed/assembly_getting-started.adoc

This file was deleted.

This file was deleted.

6 changes: 3 additions & 3 deletions docs/topics/developer-lightspeed/con_agent-ai.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@
You can enable the Agent AI or the Solution Server mode to request AI-assisted code resolutions. In the agentic AI mode, {mta-dl-plugin} streams an automated analysis of the code in a loop and makes changes in the code. In the initial run, the AI agent:

* Plans the context to define the issues.
* Chooses a suitable sub agent for the analysis task. {mta-dl-plugin} works with the LLM to generate fix suggestions. The LLM displays the reasoning transcript and files to be changed.
* Chooses a suitable sub agent for the analysis task. {mta-dl-plugin} works with the LLM to generate fix suggestions. The LLM displays the reasoning transcript and files to change.
* Applies the changes to the code once you approve the updates.

If you accept that the agentic AI must continue to make changes, it compiles the code and runs a partial analysis. In this iteration, the agentic AI attempts to fix diagnostic issues (if any) generated by tools that you installed in the Visual Studio Code IDE. You can review the changes and accept the agentic AI's suggestion to address these diagnostic issues.
If you accept that the agentic AI must continue to make changes, it compiles the code and runs a partial analysis. In this iteration, the agentic AI attempts to fix diagnostic issues (if any) generated by tools that you installed in the Visual Studio Code Integrated Development Environment (IDE). You can review the changes and accept the agentic AI's suggestion to address these diagnostic issues.

After each iteration of applying changes to the code, the agentic AI asks if you want the agent to continue fixing more issues. When you accept, it runs another iteration of automated analysis until it has resolved all issues or it has made a maximum of two attempts to fix an issue.

Agentic AI generates a new preview in each iteration when it updates the code with the suggested resolutions. The time taken by the agentic AI to complete all iterations depends on the number of new diagnostic issues that are detected in the code.
Agentic AI generates a new preview in each iteration when it updates the code with the suggested resolutions. The time that the agentic AI takes to complete all iterations depends on the number of new diagnostic issues that it detects in the code.

:!agent-ai:
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@
= Debugging {mta-dl-plugin}

[role="_abstract"]
{mta-dl-full} generates logs to debug issues specific to the extension host and the {ProductShortName} analysis and RPC server. You can also configure the log level for the {mta-dl-plugin} in the extension settings. The default log level is *debug*.
{mta-dl-full} generates logs to debug issues specific to the extension host and the {ProductShortName} analysis and Remote Procedure Call (RPC) server. You can also configure the log level for the {mta-dl-plugin} in the extension settings. The default log level is *debug*.

Extension logs are stored as `extension.log` with automatic rotation. The maximum size of the log file is 10 MB and three files are retained. Analyzer RPC logs are stored as `analyzer.log` without rotation.
{mta-dl-plugin} stores extension logs as `extension.log` with automatic rotation. The maximum size of the log file is 10 MB and {mta-dl-plugin} retains three files. {mta-dl-plugin} stores analyzer RPC logs as `analyzer.log` without rotation.

[id="dev-lightspeed-archive-logs_{context}"]

== Archiving the logs

To archive the logs as a zip file, type `{ProductShortName}: Generate Debug Archive` in the VS Code Command Palette and select the information type that must be archived as a log file.
To archive the logs as a zip file, type `{ProductShortName}: Generate Debug Archive` in the Visual Studio Code Command Palette and select the information type to archive as a log file.

The archive command allows capturing all relevant log files in a zip archive at the specified location in your project. By default, you can access the archived logs in the .vscode directory of your project.

The archival feature helps you to save the following information:

* Large language model (LLM) provider configuration: Fields from the provider settings that can be included in the archive. All fields are redacted for security reasons by default. Ensure that you do not expose any secrets.
* Large language model (LLM) provider configuration: Fields from the provider settings that you can include in the archive. {mta-dl-plugin} redacts all fields for security reasons by default. Ensure that you do not expose any secrets.
* LLM model arguments
* LLM traces: If you enabled tracing LLM interactions, you can choose to include LLM traces in the logs.

Expand All @@ -31,8 +31,8 @@ The archival feature helps you to save the following information:

You can access the logs in the following ways:

* *Log file*: Type `Developer: Open Extension Logs Folder` and open the `redhat.mta-vscode-extension` directory that contains the extension log and the analyzer log.
* *Log file*: Type `Developer: Open Extension Logs Folder` and open the `redhat.mta-vscode-extension` directory that has the extension log and the analyzer log.

* *Output panel*: Select `{mta-dl-plugin}` from the drop-down menu.

* *Webview logs*: You can also inspect webview content by using the webview logs. To access the webview logs, type `Open Webview Developer Tools` in the VS Code Command Palette.
* *Webview logs*: You can also inspect webview content by using the webview logs. To access the webview logs, type `Open Webview Developer Tools` in the Visual Studio Code Command Palette.
Loading
Loading