From 75d4524beb0158c1e361ab29f880befc04d9acb1 Mon Sep 17 00:00:00 2001 From: Dongbumlee Date: Mon, 13 Apr 2026 16:11:57 -0700 Subject: [PATCH 1/4] ci(vsix): sync VSIX version from git tags in all pipelines Derive package.json version at CI time from the latest git tag using git describe + jq. Mimics setuptools-scm patch-increment behavior: - On exact tag (release): use tag version directly (e.g. v0.2.0 -> 0.2.0) - Off tag (develop/PR): increment patch (e.g. v0.1.0 + commits -> 0.1.1) Applied to all 4 VSIX jobs: - ci.yml: build-vsix, publish-vsix-dev - staging.yml: publish-vsix-prerelease - release.yml: publish-vsix Also adds fetch-depth: 0 to checkout steps so git describe has access to the full tag history. --- .github/workflows/ci.yml | 34 ++++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 17 +++++++++++++++++ .github/workflows/staging.yml | 17 +++++++++++++++++ 3 files changed, 68 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 83ecfc25..b2536916 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -192,6 +192,23 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Full history for version derivation + + - name: Sync VSIX version from git tag + run: | + LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0") + LAST_VERSION=${LAST_TAG#v} + IFS='.' read -r MAJOR MINOR PATCH <<< "$LAST_VERSION" + if git describe --tags --exact-match HEAD >/dev/null 2>&1; then + BASE_VERSION="$LAST_VERSION" + else + BASE_VERSION="$MAJOR.$MINOR.$((PATCH + 1))" + fi + jq --arg v "$BASE_VERSION" '.version = $v' \ + plugins/agentops/package.json > plugins/agentops/package.json.tmp + mv plugins/agentops/package.json.tmp plugins/agentops/package.json + echo "VSIX version set to $BASE_VERSION (from tag $LAST_TAG)" - name: Set up Node.js uses: actions/setup-node@v4 @@ -224,6 +241,23 @@ jobs: environment: staging steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Full history for version derivation + + - name: Sync VSIX version from git tag + run: | + LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0") + LAST_VERSION=${LAST_TAG#v} + IFS='.' read -r MAJOR MINOR PATCH <<< "$LAST_VERSION" + if git describe --tags --exact-match HEAD >/dev/null 2>&1; then + BASE_VERSION="$LAST_VERSION" + else + BASE_VERSION="$MAJOR.$MINOR.$((PATCH + 1))" + fi + jq --arg v "$BASE_VERSION" '.version = $v' \ + plugins/agentops/package.json > plugins/agentops/package.json.tmp + mv plugins/agentops/package.json.tmp plugins/agentops/package.json + echo "VSIX version set to $BASE_VERSION (from tag $LAST_TAG)" - name: Set up Node.js uses: actions/setup-node@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aeb9fcc0..9100c6e7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -147,6 +147,23 @@ jobs: environment: release # same approval gate as PyPI steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Full history for version derivation + + - name: Sync VSIX version from git tag + run: | + LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0") + LAST_VERSION=${LAST_TAG#v} + IFS='.' read -r MAJOR MINOR PATCH <<< "$LAST_VERSION" + if git describe --tags --exact-match HEAD >/dev/null 2>&1; then + BASE_VERSION="$LAST_VERSION" + else + BASE_VERSION="$MAJOR.$MINOR.$((PATCH + 1))" + fi + jq --arg v "$BASE_VERSION" '.version = $v' \ + plugins/agentops/package.json > plugins/agentops/package.json.tmp + mv plugins/agentops/package.json.tmp plugins/agentops/package.json + echo "VSIX version set to $BASE_VERSION (from tag $LAST_TAG)" - name: Set up Node.js uses: actions/setup-node@v4 diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml index 41292f21..2ceb08ea 100644 --- a/.github/workflows/staging.yml +++ b/.github/workflows/staging.yml @@ -124,6 +124,23 @@ jobs: environment: staging steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Full history for version derivation + + - name: Sync VSIX version from git tag + run: | + LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0") + LAST_VERSION=${LAST_TAG#v} + IFS='.' read -r MAJOR MINOR PATCH <<< "$LAST_VERSION" + if git describe --tags --exact-match HEAD >/dev/null 2>&1; then + BASE_VERSION="$LAST_VERSION" + else + BASE_VERSION="$MAJOR.$MINOR.$((PATCH + 1))" + fi + jq --arg v "$BASE_VERSION" '.version = $v' \ + plugins/agentops/package.json > plugins/agentops/package.json.tmp + mv plugins/agentops/package.json.tmp plugins/agentops/package.json + echo "VSIX version set to $BASE_VERSION (from tag $LAST_TAG)" - name: Set up Node.js uses: actions/setup-node@v4 From 17f13c1b37d822e112e61324bfc3d3a8ec0b695f Mon Sep 17 00:00:00 2001 From: Dongbumlee Date: Mon, 13 Apr 2026 16:13:28 -0700 Subject: [PATCH 2/4] fix(vsix): update Marketplace link placeholder in README --- plugins/agentops/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/agentops/README.md b/plugins/agentops/README.md index b8c6c5ce..4077bbe3 100644 --- a/plugins/agentops/README.md +++ b/plugins/agentops/README.md @@ -25,7 +25,7 @@ pip install agentops-toolkit ## Installation Install from the -[VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=PUBLISHER_ID.agentops-skills) +[VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=AgentOpsToolkit.agentops-toolkit) or search **"AgentOps Skills"** in the VS Code Extensions view. A **pre-release** channel is available for early access to new skills and updates — From 68f646d2f2b7b9b53ecf7d9d2b256c3076bd4fd1 Mon Sep 17 00:00:00 2001 From: Dongbumlee Date: Mon, 13 Apr 2026 16:19:14 -0700 Subject: [PATCH 3/4] =?UTF-8?q?docs(vsix):=20improve=20README=20=E2=80=94?= =?UTF-8?q?=20remove=20misleading=20Prerequisites,=20expand=20Usage=20exam?= =?UTF-8?q?ples?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/agentops/README.md | 43 +++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/plugins/agentops/README.md b/plugins/agentops/README.md index 4077bbe3..b036f89a 100644 --- a/plugins/agentops/README.md +++ b/plugins/agentops/README.md @@ -14,14 +14,6 @@ Copilot agent skills for running standardized evaluation workflows with | **Browse & Inspect** | List and inspect evaluation runs, view per-row scores, browse run history | | **Dataset Management** | Validate, describe, and import datasets for evaluation workflows | -## Prerequisites - -Install the AgentOps CLI in your project's virtual environment: - -```bash -pip install agentops-toolkit -``` - ## Installation Install from the @@ -34,15 +26,42 @@ enable it from the extension's Marketplace page or the Extensions view. ## Usage Open **Copilot Chat** in VS Code and describe what you want to do. -The skills are invoked automatically when your request matches their domain: +The skills are invoked automatically when your request matches their domain. + +**Set up a workspace** + +``` +> Initialize an agentops workspace for my Foundry agent project +> Create a RAG evaluation bundle with groundedness and similarity +``` + +**Run and compare evaluations** + +``` +> Run the default evaluation against my agent +> Benchmark gpt-4o vs gpt-4o-mini using the smoke dataset +> Compare the last two evaluation runs and summarize the differences +``` + +**Investigate results** ``` -> Initialize an agentops workspace for my project -> Run the default evaluation -> Compare run abc123 with run def456 > Which rows failed the groundedness threshold? +> Show me the worst-scoring items from the latest run +> Why did similarity drop between run abc123 and run def456? ``` +**Browse and manage** + +``` +> List all evaluation runs +> Show details for the latest run +> Validate my dataset before running an eval +``` + +> **Note:** To run evaluations, install the AgentOps CLI in your project's virtual +> environment: `pip install agentops-toolkit` + ## Links - [AgentOps Toolkit](https://github.com/Azure/agentops) — CLI and documentation From 01acc555c3d25fcf8436e6bcfc01b10420be80bd Mon Sep 17 00:00:00 2001 From: Dongbumlee Date: Mon, 13 Apr 2026 16:23:46 -0700 Subject: [PATCH 4/4] =?UTF-8?q?docs(vsix):=20remove=20CLI=20install=20note?= =?UTF-8?q?=20=E2=80=94=20skills=20handle=20setup=20automatically?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/agentops/README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugins/agentops/README.md b/plugins/agentops/README.md index b036f89a..6e118171 100644 --- a/plugins/agentops/README.md +++ b/plugins/agentops/README.md @@ -59,9 +59,6 @@ The skills are invoked automatically when your request matches their domain. > Validate my dataset before running an eval ``` -> **Note:** To run evaluations, install the AgentOps CLI in your project's virtual -> environment: `pip install agentops-toolkit` - ## Links - [AgentOps Toolkit](https://github.com/Azure/agentops) — CLI and documentation