diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index 96b14fa3..00000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,40 +0,0 @@
-module.exports = {
- env: {
- browser: true,
- jquery: true,
- es2021: true,
- node: true
- },
- root: true,
- extends: [
- // "eslint:recommended",
- // "plugin:@typescript-eslint/recommended",
- // "plugin:@typescript-eslint/recommended-requiring-type-checking",
- "prettier"
- ],
- parser: "@typescript-eslint/parser",
- parserOptions: {
- tsconfigRootDir: __dirname,
- project: "./tsconfig.eslint.json",
- ecmaVersion: 13,
- sourceType: "module"
- },
- plugins: ["@typescript-eslint"],
- rules: {
- /* eslint-disable @typescript-eslint/naming-convention */
- "@typescript-eslint/naming-convention": "warn",
- "@typescript-eslint/semi": "warn",
- curly: "warn",
- eqeqeq: "warn",
- "no-throw-literal": "warn",
- semi: "off"
- /* eslint-enable @typescript-eslint/naming-convention */
- },
- ignorePatterns: [
- "digmaUi",
- "jaegerUi",
- "out",
- "src/views-ui/common/jquery-3.6.0.min.js",
- "src/views-ui/common/require-2.3.6.min.js"
- ]
-};
diff --git a/.github/assets/annotation.png b/.github/assets/annotation.png
deleted file mode 100644
index 6d0945af..00000000
Binary files a/.github/assets/annotation.png and /dev/null differ
diff --git a/.github/assets/annotations.png b/.github/assets/annotations.png
deleted file mode 100644
index 5e1e9e3a..00000000
Binary files a/.github/assets/annotations.png and /dev/null differ
diff --git a/.github/assets/context-panel.png b/.github/assets/context-panel.png
deleted file mode 100644
index 88af2e20..00000000
Binary files a/.github/assets/context-panel.png and /dev/null differ
diff --git a/.github/assets/data_info.png b/.github/assets/data_info.png
deleted file mode 100644
index eefc15ea..00000000
Binary files a/.github/assets/data_info.png and /dev/null differ
diff --git a/.github/assets/discovery.png b/.github/assets/discovery.png
deleted file mode 100644
index 6b6a8253..00000000
Binary files a/.github/assets/discovery.png and /dev/null differ
diff --git a/.github/assets/error_drilldown.png b/.github/assets/error_drilldown.png
deleted file mode 100644
index 9de35a10..00000000
Binary files a/.github/assets/error_drilldown.png and /dev/null differ
diff --git a/.github/assets/errors_tab.png b/.github/assets/errors_tab.png
deleted file mode 100644
index 899a1a24..00000000
Binary files a/.github/assets/errors_tab.png and /dev/null differ
diff --git a/.github/assets/insights_tab.png b/.github/assets/insights_tab.png
deleted file mode 100644
index 2642ec1a..00000000
Binary files a/.github/assets/insights_tab.png and /dev/null differ
diff --git a/.github/assets/line-decoration.png b/.github/assets/line-decoration.png
deleted file mode 100644
index 5090cde3..00000000
Binary files a/.github/assets/line-decoration.png and /dev/null differ
diff --git a/.github/assets/method-decleration-codelens.png b/.github/assets/method-decleration-codelens.png
deleted file mode 100644
index 91a11baa..00000000
Binary files a/.github/assets/method-decleration-codelens.png and /dev/null differ
diff --git a/.github/assets/method-name-tooltip-2.png b/.github/assets/method-name-tooltip-2.png
deleted file mode 100644
index b942b7c1..00000000
Binary files a/.github/assets/method-name-tooltip-2.png and /dev/null differ
diff --git a/.github/assets/method-name-tooltip.png b/.github/assets/method-name-tooltip.png
deleted file mode 100644
index 0fe52b29..00000000
Binary files a/.github/assets/method-name-tooltip.png and /dev/null differ
diff --git a/.github/assets/tooltip.png b/.github/assets/tooltip.png
deleted file mode 100644
index 8237b4fa..00000000
Binary files a/.github/assets/tooltip.png and /dev/null differ
diff --git a/.github/assets/usage.png b/.github/assets/usage.png
deleted file mode 100644
index 9a75d1e7..00000000
Binary files a/.github/assets/usage.png and /dev/null differ
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000..d1f0d085
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,6 @@
+version: 2
+updates:
+ - package-ecosystem: "npm"
+ directory: "/"
+ schedule:
+ interval: "daily"
diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml
deleted file mode 100644
index 79631ffc..00000000
--- a/.github/workflows/compile.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-name: Compile & Lint
-
-on:
- push:
- branches: [main]
- pull_request:
- branches: [main]
-
-jobs:
- build:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- node-version: [14.x, 16.x, 18.x]
- # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
-
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-node@v2
- with:
- node-version: ${{ matrix.node-version }}
- cache: "npm"
- - run: npm ci
- - run: npm run compile
- - run: npm run lint
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
deleted file mode 100644
index 3072a259..00000000
--- a/.github/workflows/publish.yml
+++ /dev/null
@@ -1,66 +0,0 @@
-# This is a basic workflow to help you get started with Actions
-
-name: Publish
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events but only for the main branch
- push:
- tags:
- - 'v[0-9]+.[0-9]+.[0-9]+'
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "build"
- build:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
-
- # Ready everything
- - uses: actions/checkout@v2
- with:
- token: ${{ secrets.GH_PAT }}
- ref: ${{ github.head_ref }}
- - uses: actions/setup-node@v1
- with:
- node-version: 16
- - run: npm ci
-
- - name: Get tag
- id: tag
- uses: dawidd6/action-get-tag@v1
- with:
- # Optionally strip `v` prefix
- strip_v: true
-
- - name: update version in package.json
- run: npm version ${{ steps.tag.outputs.tag }} --no-commit-hooks --no-git-tag-version
-
- - name: Publish to Visual Studio Marketplace
- id: publishToMarketplace
- uses: HaaLeo/publish-vscode-extension@v1
- with:
- pat: ${{ secrets.VS_MARKETPLACE_TOKEN }}
- registryUrl: https://marketplace.visualstudio.com
-
- - name: Publish to Open VSX Registry
- uses: HaaLeo/publish-vscode-extension@v1
- with:
- pat: ${{ secrets.OVSX_TOKEN }}
-
- - name: Upload binaries to release
- uses: svenstaro/upload-release-action@v2
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: ${{ steps.publishToMarketplace.outputs.vsixPath }}
- asset_name: digma.vsix
- tag: ${{ github.ref }}
- overwrite: true
-
-
-
-
-
diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml
new file mode 100644
index 00000000..0a8dae13
--- /dev/null
+++ b/.github/workflows/push.yml
@@ -0,0 +1,57 @@
+name: Lint & build
+
+on:
+ push:
+ branches:
+ - "main"
+ - "next"
+ # Github Actions don't support YAML anchors yet, so we have to repeat
+ # the paths-ignore in both push and pull_request events.
+ # More info: https://github.com/actions/runner/issues/1182
+ paths-ignore:
+ - ".husky/**"
+ - ".vscode/**"
+ - "LICENSE"
+ - "README.md"
+ pull_request:
+ branches:
+ - "main"
+ - "next"
+ paths-ignore:
+ - ".husky/**"
+ - ".vscode/**"
+ - "LICENSE"
+ - "README.md"
+
+jobs:
+ lint-build:
+ name: Lint & build
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ token: ${{ secrets.GH_PAT }}
+ ref: ${{ github.head_ref }}
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: ".nvmrc"
+ cache: "npm"
+
+ - run: npm ci
+
+ - run: npm run lint
+
+ - name: Build
+ id: build
+ uses: HaaLeo/publish-vscode-extension@v2
+ with:
+ dryRun: true
+ pat: "pat" # placeholder for dry run
+
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ steps.build.outputs.vsixPath }}
+ path: ${{ steps.build.outputs.vsixPath }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..732873af
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,52 @@
+name: Lint & build & publish
+
+on:
+ push:
+ tags:
+ - "v*.*.*"
+
+jobs:
+ lint-build-publish:
+ name: Lint & build & publish
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ actions: read
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ token: ${{ secrets.GH_PAT }}
+ ref: ${{ github.head_ref }}
+ - uses: actions/setup-node@v4
+ with:
+ node-version-file: ".nvmrc"
+ cache: "npm"
+
+ - run: npm ci
+
+ - run: npm run lint
+
+ - name: Get version
+ id: version
+ run: echo "version=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT
+
+ - name: Bump version in package.json
+ run: npm version ${{ steps.version.outputs.version }} --no-git-tag-version
+
+ - name: Publish to Visual Studio Marketplace
+ id: publishToVSMarketplace
+ uses: HaaLeo/publish-vscode-extension@v2
+ with:
+ pat: ${{ secrets.VS_MARKETPLACE_TOKEN }}
+ registryUrl: https://marketplace.visualstudio.com
+
+ - name: Publish to Open VSX Registry
+ uses: HaaLeo/publish-vscode-extension@v2
+ with:
+ pat: ${{ secrets.OVSX_TOKEN }}
+
+ - name: Attach release asset
+ uses: svenstaro/upload-release-action@v2
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ file: ${{ steps.publishToVSMarketplace.outputs.vsixPath }}
diff --git a/.gitignore b/.gitignore
index e715600c..2ee8c6e9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,5 @@
-.vscode-test/
node_modules/
out/
.eslintcache
-*.vsix
-
.DS_Store
-
-.idea/
\ No newline at end of file
+*.vsix
\ No newline at end of file
diff --git a/.husky/pre-commit b/.husky/pre-commit
old mode 100755
new mode 100644
index 3e1cef88..f27575a8
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,4 +1 @@
-#!/usr/bin/env sh
-. "$(dirname -- "$0")/_/husky.sh"
-
npm run precommit
diff --git a/.nvmrc b/.nvmrc
index 25bf17fc..cabf43b5 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-18
\ No newline at end of file
+24
\ No newline at end of file
diff --git a/.prettierignore b/.prettierignore
index 270484db..f7a0f1e5 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,8 +1,3 @@
-digmaUi/
-jaegerUi/
out/
package.json
-package-lock.json
-src/views-ui/common/jquery-3.6.0.min.js
-src/views-ui/common/require-2.3.6.min.js
-*.md
\ No newline at end of file
+package-lock.json
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
index f210f7f5..20b41dfa 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,4 +1,4 @@
{
- "trailingComma": "none",
- "tabWidth": 4
+ "trailingComma": "none",
+ "tabWidth": 2
}
diff --git a/.stylelintignore b/.stylelintignore
deleted file mode 100644
index 84db62a5..00000000
--- a/.stylelintignore
+++ /dev/null
@@ -1 +0,0 @@
-jaegerUi/
\ No newline at end of file
diff --git a/.stylelintrc b/.stylelintrc
deleted file mode 100644
index a3fc7e77..00000000
--- a/.stylelintrc
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": ["stylelint-config-standard-scss"],
- "rules": {
- "custom-property-pattern": null,
- "selector-class-pattern": null
- }
-}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 821f6b9b..0bb8c445 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,11 +1,10 @@
{
- // See http://go.microsoft.com/fwlink/?LinkId=827846
- // for the documentation about the extensions.json format
- "recommendations": [
- "dbaeumer.vscode-eslint",
- "stylelint.vscode-stylelint",
- "davidanson.vscode-markdownlint",
- "esbenp.prettier-vscode",
- "streetsidesoftware.code-spell-checker"
- ]
+ // See http://go.microsoft.com/fwlink/?LinkId=827846
+ // for the documentation about the extensions.json format
+ "recommendations": [
+ "dbaeumer.vscode-eslint",
+ "davidanson.vscode-markdownlint",
+ "esbenp.prettier-vscode",
+ "streetsidesoftware.code-spell-checker"
+ ]
}
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 670d6e66..a0ca3cb9 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -3,32 +3,15 @@
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
- "version": "0.2.0",
- "configurations": [
- {
- "name": "Run Extension",
- "type": "extensionHost",
- "request": "launch",
- "args": [
- "--extensionDevelopmentPath=${workspaceFolder}"
- ],
- "outFiles": [
- "${workspaceFolder}/out/**/*.js"
- ],
- "preLaunchTask": "${defaultBuildTask}"
- },
- {
- "name": "Extension Tests",
- "type": "extensionHost",
- "request": "launch",
- "args": [
- "--extensionDevelopmentPath=${workspaceFolder}",
- "--extensionTestsPath=${workspaceFolder}/out/test/suite/index"
- ],
- "outFiles": [
- "${workspaceFolder}/out/test/**/*.js"
- ],
- "preLaunchTask": "${defaultBuildTask}"
- }
- ]
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Run Extension",
+ "type": "extensionHost",
+ "request": "launch",
+ "args": ["--extensionDevelopmentPath=${workspaceFolder}"],
+ "outFiles": ["${workspaceFolder}/out/**/*.js"],
+ "preLaunchTask": "${defaultBuildTask}"
+ }
+ ]
}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 3319bd80..3102fa48 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,21 +1,17 @@
-// Place your settings in this file to overwrite default and user settings.
{
- "files.exclude": {
- "out": false // set this to true to hide the "out" folder with the compiled JS files
- },
- "search.exclude": {
- "out": true // set this to false to include "out" folder in search results
- },
- // Turn off tsc task auto detection since we have the necessary tasks as npm scripts
- "typescript.tsc.autoDetect": "off",
- "editor.formatOnSave": true,
- "editor.tabSize": 4,
- "editor.detectIndentation": false,
- "editor.codeActionsOnSave": {
- "source.organizeImports": true
- },
- "[javascript][typescript][json][jsonc][scss]": {
- "editor.defaultFormatter": "esbenp.prettier-vscode"
- },
- "stylelint.validate": ["css", "scss"]
+ "files.exclude": {
+ "out": false // set this to true to hide the "out" folder with the compiled JS files
+ },
+ "search.exclude": {
+ "out": true // set this to false to include "out" folder in search results
+ },
+ // Turn off tsc task auto detection since we have the necessary tasks as npm scripts
+ "typescript.tsc.autoDetect": "off",
+ "editor.codeActionsOnSave": {
+ "source.organizeImports": "explicit"
+ },
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
+ "editor.formatOnSave": true,
+ "typescript.preferences.preferTypeOnlyAutoImports": true,
+ "cSpell.words": ["agentic", "digma"]
}
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index 3b17e53b..078ff7e0 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -1,20 +1,20 @@
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
{
- "version": "2.0.0",
- "tasks": [
- {
- "type": "npm",
- "script": "watch",
- "problemMatcher": "$tsc-watch",
- "isBackground": true,
- "presentation": {
- "reveal": "never"
- },
- "group": {
- "kind": "build",
- "isDefault": true
- }
- }
- ]
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "type": "npm",
+ "script": "watch",
+ "problemMatcher": "$tsc-watch",
+ "isBackground": true,
+ "presentation": {
+ "reveal": "never"
+ },
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ }
+ ]
}
diff --git a/.vscodeignore b/.vscodeignore
index 0a354a5d..d4f88fb3 100644
--- a/.vscodeignore
+++ b/.vscodeignore
@@ -1,21 +1,12 @@
.github/
.husky/
.vscode/
-.vscode-test/
-digmaUi/
-jaegerUi/
+node_modules/
src/
-out/test/
-out/**/*.test.js
-.eslintrc.js
.gitignore
+.nvmrc
.prettierignore
.prettierrc
-.stylelintignore
-.stylelintrc
-tsconfig*.json
-
-# TODO: delete as not used
-workspace.xml
-after.png
-before.png
\ No newline at end of file
+esbuild.js
+eslint.config.mts
+tsconfig*.json
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index cec77a97..00000000
--- a/CHANGELOG.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Change Log
-
-All notable changes to the "digma-lens" extension will be documented in this file.
-
-Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
-
-## [Unreleased]
-
-- Initial release
diff --git a/LICENSE b/LICENSE
index 0b39b297..0cef6228 100644
--- a/LICENSE
+++ b/LICENSE
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
+SOFTWARE.
diff --git a/README.md b/README.md
index 8009d05c..a64ba836 100644
--- a/README.md
+++ b/README.md
@@ -1,139 +1,25 @@
-# Digma Visual Studio Code Plugin
+# Digma agentic AI SRE
-This is a [Visual Studio Code](https://code.visualstudio.com) extension for Digma, providing continuous feedback to developers. With this extension, developer can see insights related to their code, derived from sources such as OpenTelemetry, right in the IDE. To read more about the Digma platform visit our [main repo](https://github.com/digma-ai/digma).
+Autonomous identification, root cause analysis and remediation of code and infrastructure issues
-โ ๏ธ Note that this is still a *pre-release* extension, and will probably not be very useful without a Digma backend. If we've picked your interest and you'd like to try it out please join our early [beta program](https://www.digma.ai/) which will be released soon! (pending feedback ๐ค). Also notice that there's guaranteed to be a slew of breaking changes between now and the public release.
+For more info check out our [website](https://digma.ai)
-## ๐คจ What does this extension do?
-
-It provides code objects insights and runtime analytics inside the IDE. The IDE is intended to be extensible (currently refactoring toward that), so that anyone would be able to define new types of insights based on the collected data.
-
-- [Digma Visual Studio Code Plugin](#digma-visual-studio-code-plugin)
- - [๐คจ What does this extension do?](#-what-does-this-extension-do)
- - [๐ฌ Code Objects Discovery](#-code-object-discovery)
- - [๐งโ๐ป Pull Request Insights (WIP)](#-pull-request-insights-wip)
- - [๐งโ๐ฌ Code Insights](#-code-insights)
- - [๐ชณ Runtime Errors](#-runtime-errors)
- - [? What is a code object flow ?](#-what-is-a-code-object-flow-)
- - [๐ Runtime Errors Drilldown](#-runtime-errors-drilldown)
- - [๐ฆ Code Objects Annotation](#-code-objects-annotation)
- - [๐ฏ Usage Analytics](#-usage-analytics)
- - [แจ Selecting Environments](#-selecting-environments)
- - [How to Build](#how-to-build)
- - [License](#license)
-
-### ๐ฌ Code Object Discovery
-
-Discovering code objects is a key part of the extension functionality. Code objects can be anything that can be found in the code on the client side, and from the observability data on the backend. Code objects are associated with aggregated data and insights.
-
-In the below example, you can see some potential code objects to discover marked out in red:
-
-
-
-There are many types of possible code objects, this is where the platform is extensible to support them both on client and server. Here is some of current backlog:
-
-- โ
Functions/methods
-- โ
REST endpoints
-- โ
OTEL Spans
-- โ
GRPC endpoints (WIP)
-- RabbitMQ event classes
-- Kafka producer
-- Classes/modules
-- More...
-
-Of course code object discovery is language specific, sometimes platform or library specific.
-
-More basic method/function discovery is done using the language server for that specific programming language already installed in the IDE.
-
-### ๐งโ๐ป Pull Request Insights (WIP)
-
-Commits are a way to group code object feedback together. Digma's backend already tags each metric and trace by the relevant commit identifier.
-
-TBD
-
-### ๐งโ๐ฌ Code Insights
-
-Based on the code section currently focused on the IDE, the Code Insights sidebar panel displays the relevant insights for the discovered code objects in that section. While focused on a specific function in the code I'll be able to see all relevant insights.
-
-The IDE extension in this case simply queries the backend API with the discovered code object identifier. The backend provides back a list of insights that were gleaned from the observability data that relate to these objects.
-
-
-
-### ๐ชณ Runtime Errors
-
-The runtime errors panel provides analytics over the error behavior of both the specific code object and the different code object flows it participates in.
-
-The errors are not displayed as raw data ๐ฅฉ. Digma already groups together errors which essentially signify the same problem and also highlights those errors that are "interesting". What makes an error interesting? That is something decided by the backend scoring processes but some reasons may include:
-
-- ๐ It is trending up!
-- ๐ It is something that started recently
-- ๐ฃ It is affecting multiple services
-- ๐ณ It is not handled internally some other place
-
-
-
-
-
-
-